summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTobias Hunger <tobias.hunger@qt.io>2016-06-07 14:30:58 (GMT)
committerBrad King <brad.king@kitware.com>2016-06-08 20:18:31 (GMT)
commitb0d3e693f1ab466451c7a0d17bbbdd3cae76e93a (patch)
treeb2eca1da7409310744f707274e83b48884053662
parentba92e11f8b461513566d5cc3c0b53b2215bb85f7 (diff)
downloadCMake-b0d3e693f1ab466451c7a0d17bbbdd3cae76e93a.zip
CMake-b0d3e693f1ab466451c7a0d17bbbdd3cae76e93a.tar.gz
CMake-b0d3e693f1ab466451c7a0d17bbbdd3cae76e93a.tar.bz2
cmLocalGenerator: Pass configuration to GetTargetFlags
Move the configuration lookup to call sites. This will allow multi-configuration callers to use the method.
-rw-r--r--Source/cmGhsMultiTargetGenerator.cxx2
-rw-r--r--Source/cmLocalGenerator.cxx10
-rw-r--r--Source/cmLocalGenerator.h8
-rw-r--r--Source/cmNinjaNormalTargetGenerator.cxx6
-rw-r--r--Source/cmake.cxx7
5 files changed, 17 insertions, 16 deletions
diff --git a/Source/cmGhsMultiTargetGenerator.cxx b/Source/cmGhsMultiTargetGenerator.cxx
index 8565fdb..3d35114 100644
--- a/Source/cmGhsMultiTargetGenerator.cxx
+++ b/Source/cmGhsMultiTargetGenerator.cxx
@@ -371,7 +371,7 @@ void cmGhsMultiTargetGenerator::WriteTargetLinkLibraries(
bool useWatcomQuote =
this->Makefile->IsOn(createRule + "_USE_WATCOM_QUOTE");
this->LocalGenerator->GetTargetFlags(
- linkLibraries, flags, linkFlags, frameworkPath, linkPath,
+ config, linkLibraries, flags, linkFlags, frameworkPath, linkPath,
this->GeneratorTarget, useWatcomQuote);
linkFlags = cmSystemTools::TrimWhitespace(linkFlags);
diff --git a/Source/cmLocalGenerator.cxx b/Source/cmLocalGenerator.cxx
index b748b9c..b369420 100644
--- a/Source/cmLocalGenerator.cxx
+++ b/Source/cmLocalGenerator.cxx
@@ -1152,13 +1152,11 @@ void cmLocalGenerator::GetStaticLibraryFlags(std::string& flags,
}
void cmLocalGenerator::GetTargetFlags(
- std::string& linkLibs, std::string& flags, std::string& linkFlags,
- std::string& frameworkPath, std::string& linkPath, cmGeneratorTarget* target,
- bool useWatcomQuote)
+ const std::string& config, std::string& linkLibs, std::string& flags,
+ std::string& linkFlags, std::string& frameworkPath, std::string& linkPath,
+ cmGeneratorTarget* target, bool useWatcomQuote)
{
- std::string buildType =
- this->Makefile->GetSafeDefinition("CMAKE_BUILD_TYPE");
- buildType = cmSystemTools::UpperCase(buildType);
+ const std::string buildType = cmSystemTools::UpperCase(config);
const char* libraryLinkVariable =
"CMAKE_SHARED_LINKER_FLAGS"; // default to shared library
diff --git a/Source/cmLocalGenerator.h b/Source/cmLocalGenerator.h
index 5c603a6..5ced648 100644
--- a/Source/cmLocalGenerator.h
+++ b/Source/cmLocalGenerator.h
@@ -308,10 +308,10 @@ public:
/** Fill out these strings for the given target. Libraries to link,
* flags, and linkflags. */
- void GetTargetFlags(std::string& linkLibs, std::string& flags,
- std::string& linkFlags, std::string& frameworkPath,
- std::string& linkPath, cmGeneratorTarget* target,
- bool useWatcomQuote);
+ void GetTargetFlags(const std::string& config, std::string& linkLibs,
+ std::string& flags, std::string& linkFlags,
+ std::string& frameworkPath, std::string& linkPath,
+ cmGeneratorTarget* target, bool useWatcomQuote);
virtual void ComputeObjectFilenames(
std::map<cmSourceFile const*, std::string>& mapping,
diff --git a/Source/cmNinjaNormalTargetGenerator.cxx b/Source/cmNinjaNormalTargetGenerator.cxx
index 3e91545..60eb904 100644
--- a/Source/cmNinjaNormalTargetGenerator.cxx
+++ b/Source/cmNinjaNormalTargetGenerator.cxx
@@ -434,9 +434,9 @@ void cmNinjaNormalTargetGenerator::WriteLinkStatement()
vars["TARGET_FILE"] =
localGen.ConvertToOutputFormat(targetOutputReal, cmOutputConverter::SHELL);
- localGen.GetTargetFlags(vars["LINK_LIBRARIES"], vars["FLAGS"],
- vars["LINK_FLAGS"], frameworkPath, linkPath,
- &genTarget, useWatcomQuote);
+ localGen.GetTargetFlags(this->GetConfigName(), vars["LINK_LIBRARIES"],
+ vars["FLAGS"], vars["LINK_FLAGS"], frameworkPath,
+ linkPath, &genTarget, useWatcomQuote);
if (this->GetMakefile()->IsOn("CMAKE_SUPPORT_WINDOWS_EXPORT_ALL_SYMBOLS") &&
gt.GetType() == cmState::SHARED_LIBRARY) {
if (gt.GetPropertyAsBool("WINDOWS_EXPORT_ALL_SYMBOLS")) {
diff --git a/Source/cmake.cxx b/Source/cmake.cxx
index 89ea955..f35939b 100644
--- a/Source/cmake.cxx
+++ b/Source/cmake.cxx
@@ -482,6 +482,9 @@ bool cmake::FindPackage(const std::vector<std::string>& args)
mf->AddLinkLibraryForTarget(targetName, *libIt, GENERAL_LibraryType);
}
+ std::string buildType = mf->GetSafeDefinition("CMAKE_BUILD_TYPE");
+ buildType = cmSystemTools::UpperCase(buildType);
+
std::string linkLibs;
std::string frameworkPath;
std::string linkPath;
@@ -490,8 +493,8 @@ bool cmake::FindPackage(const std::vector<std::string>& args)
gg->CreateGenerationObjects();
cmGeneratorTarget* gtgt = gg->FindGeneratorTarget(tgt->GetName());
cmLocalGenerator* lg = gtgt->GetLocalGenerator();
- lg->GetTargetFlags(linkLibs, frameworkPath, linkPath, flags, linkFlags,
- gtgt, false);
+ lg->GetTargetFlags(buildType, linkLibs, frameworkPath, linkPath, flags,
+ linkFlags, gtgt, false);
linkLibs = frameworkPath + linkPath + linkLibs;
printf("%s\n", linkLibs.c_str());