summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPeter Collingbourne <peter@pcc.me.uk>2012-04-30 03:25:37 (GMT)
committerPeter Collingbourne <peter@pcc.me.uk>2012-05-16 21:56:42 (GMT)
commitd807aab28fd86586e8ecb5e4f4d35b43bc68d5f8 (patch)
treef0dadaedd74bfa4a2d42d00209c2ecb3eabf5591
parente78483c08e1f7753509afa4d4aab94274cd6b861 (diff)
downloadCMake-d807aab28fd86586e8ecb5e4f4d35b43bc68d5f8.zip
CMake-d807aab28fd86586e8ecb5e4f4d35b43bc68d5f8.tar.gz
CMake-d807aab28fd86586e8ecb5e4f4d35b43bc68d5f8.tar.bz2
Ninja: apply CMAKE_<LANG>_FLAGS_<TYPE> to executable targets (#13069)
Based on a patch by Zaheer Chothia!
-rw-r--r--Source/cmLocalGenerator.cxx5
-rw-r--r--Source/cmNinjaNormalTargetGenerator.cxx11
2 files changed, 7 insertions, 9 deletions
diff --git a/Source/cmLocalGenerator.cxx b/Source/cmLocalGenerator.cxx
index 6362d80..8265d72 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 63ba58d..8b86a98 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<std::string> linkCmds = this->ComputeLinkCmd();