diff --git a/Source/cmLocalGenerator.cxx b/Source/cmLocalGenerator.cxx index 6362d8025..8265d72b4 100644 --- a/Source/cmLocalGenerator.cxx +++ b/Source/cmLocalGenerator.cxx @@ -1548,13 +1548,10 @@ void cmLocalGenerator::GetTargetFlags(std::string& linkLibs, target.GetName()); return; } - std::string langVar = "CMAKE_"; - langVar += linkLanguage; - std::string flagsVar = langVar + "_FLAGS"; + this->AddLanguageFlags(flags, linkLanguage, buildType.c_str()); std::string sharedFlagsVar = "CMAKE_SHARED_LIBRARY_"; sharedFlagsVar += linkLanguage; sharedFlagsVar += "_FLAGS"; - flags += this->Makefile->GetSafeDefinition(flagsVar.c_str()); flags += " "; flags += this->Makefile->GetSafeDefinition(sharedFlagsVar.c_str()); flags += " "; diff --git a/Source/cmNinjaNormalTargetGenerator.cxx b/Source/cmNinjaNormalTargetGenerator.cxx index 63ba58df5..8b86a98d2 100644 --- a/Source/cmNinjaNormalTargetGenerator.cxx +++ b/Source/cmNinjaNormalTargetGenerator.cxx @@ -193,12 +193,13 @@ cmNinjaNormalTargetGenerator vars.LinkFlags = "$LINK_FLAGS"; std::string langFlags; - this->GetLocalGenerator()->AddLanguageFlags(langFlags, - this->TargetLinkLanguage, - this->GetConfigName()); - if (targetType != cmTarget::EXECUTABLE) + if (targetType != cmTarget::EXECUTABLE) { + this->GetLocalGenerator()->AddLanguageFlags(langFlags, + this->TargetLinkLanguage, + this->GetConfigName()); langFlags += " $ARCH_FLAGS"; - vars.LanguageCompileFlags = langFlags.c_str(); + vars.LanguageCompileFlags = langFlags.c_str(); + } // Rule for linking library. std::vector linkCmds = this->ComputeLinkCmd();