diff options
Diffstat (limited to 'Source')
-rw-r--r-- | Source/cmGeneratorExpressionEvaluator.cxx | 24 | ||||
-rw-r--r-- | Source/cmPolicies.cxx | 5 | ||||
-rw-r--r-- | Source/cmPolicies.h | 1 |
3 files changed, 29 insertions, 1 deletions
diff --git a/Source/cmGeneratorExpressionEvaluator.cxx b/Source/cmGeneratorExpressionEvaluator.cxx index 80b16d3..1feb03a 100644 --- a/Source/cmGeneratorExpressionEvaluator.cxx +++ b/Source/cmGeneratorExpressionEvaluator.cxx @@ -412,10 +412,32 @@ struct CompilerIdNode : public cmGeneratorExpressionNode return parameters.front().empty() ? "1" : "0"; } - if (cmsysString_strcasecmp(parameters.begin()->c_str(), compilerId) == 0) + if (strcmp(parameters.begin()->c_str(), compilerId) == 0) { return "1"; } + + if (cmsysString_strcasecmp(parameters.begin()->c_str(), compilerId) == 0) + { + switch(context->Makefile->GetPolicyStatus(cmPolicies::CMP0044)) + { + case cmPolicies::WARN: + { + cmOStringStream e; + e << context->Makefile->GetPolicies() + ->GetPolicyWarning(cmPolicies::CMP0044); + context->Makefile->GetCMakeInstance() + ->IssueMessage(cmake::AUTHOR_WARNING, + e.str().c_str(), context->Backtrace); + } + case cmPolicies::OLD: + return "1"; + case cmPolicies::NEW: + case cmPolicies::REQUIRED_ALWAYS: + case cmPolicies::REQUIRED_IF_USED: + break; + } + } return "0"; } }; diff --git a/Source/cmPolicies.cxx b/Source/cmPolicies.cxx index 32c1476..c9dacaf 100644 --- a/Source/cmPolicies.cxx +++ b/Source/cmPolicies.cxx @@ -321,6 +321,11 @@ cmPolicies::cmPolicies() CMP0043, "CMP0043", "Ignore COMPILE_DEFINITIONS_<Config> properties.", 3,0,0,0, cmPolicies::WARN); + + this->DefinePolicy( + CMP0044, "CMP0044", + "Case sensitive <LANG>_COMPILER_ID generator expressions.", + 3,0,0,0, cmPolicies::WARN); } cmPolicies::~cmPolicies() diff --git a/Source/cmPolicies.h b/Source/cmPolicies.h index 3c8200f..0d7327f 100644 --- a/Source/cmPolicies.h +++ b/Source/cmPolicies.h @@ -97,6 +97,7 @@ public: CMP0041, ///< Error on relative include with generator expression CMP0042, ///< Enable MACOSX_RPATH by default CMP0043, ///< Ignore COMPILE_DEFINITIONS_<Config> properties + CMP0044, ///< Case sensitive <LANG>_COMPILER_ID generator expressions /** \brief Always the last entry. * |