Restore possibly regressed CMP0018 logic

Refactoring in commit f4ff60a803 (cmMakefile: Make GetSafeDefinition
return std::string const&, 2018-09-05) changed the treatment of the
empty string in CMP0018 diagnostic logic.  Restore the behavior.
This commit is contained in:
Brad King
2018-09-19 07:41:22 -04:00
parent f4ff60a803
commit d686f81e58
2 changed files with 2 additions and 5 deletions

View File

@@ -828,11 +828,8 @@ void cmGlobalGenerator::EnableLanguage(
std::string sharedLibFlagsVar = "CMAKE_SHARED_LIBRARY_";
sharedLibFlagsVar += lang;
sharedLibFlagsVar += "_FLAGS";
std::string const& sharedLibFlags =
this->LanguageToOriginalSharedLibFlags[lang] =
mf->GetSafeDefinition(sharedLibFlagsVar);
if (!sharedLibFlags.empty()) {
this->LanguageToOriginalSharedLibFlags[lang] = sharedLibFlags;
}
// Translate compiler ids for compatibility.
this->CheckCompilerIdCompatibility(mf, lang);

View File

@@ -1826,7 +1826,7 @@ bool cmLocalGenerator::GetShouldUseOldFlags(bool shared,
flagsVar += "_FLAGS";
std::string const& flags = this->Makefile->GetSafeDefinition(flagsVar);
if (!flags.empty() && flags != originalFlags) {
if (flags != originalFlags) {
switch (this->GetPolicyStatus(cmPolicies::CMP0018)) {
case cmPolicies::WARN: {
std::ostringstream e;