소스 검색

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.
Brad King 7 년 전
부모
커밋
d686f81e58
2개의 변경된 파일2개의 추가작업 그리고 5개의 파일을 삭제
  1. 1 4
      Source/cmGlobalGenerator.cxx
  2. 1 1
      Source/cmLocalGenerator.cxx

+ 1 - 4
Source/cmGlobalGenerator.cxx

@@ -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);

+ 1 - 1
Source/cmLocalGenerator.cxx

@@ -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;