summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Source/cmMakefileExecutableTargetGenerator.cxx12
-rw-r--r--Source/cmMakefileLibraryTargetGenerator.cxx30
-rw-r--r--Source/cmMakefileTargetGenerator.cxx4
-rw-r--r--Source/cmMakefileTargetGenerator.h1
4 files changed, 19 insertions, 28 deletions
diff --git a/Source/cmMakefileExecutableTargetGenerator.cxx b/Source/cmMakefileExecutableTargetGenerator.cxx
index 332c116..d64bc36 100644
--- a/Source/cmMakefileExecutableTargetGenerator.cxx
+++ b/Source/cmMakefileExecutableTargetGenerator.cxx
@@ -32,7 +32,7 @@ cmMakefileExecutableTargetGenerator
this->CustomCommandDriver = OnDepends;
this->Target->GetExecutableNames(
this->TargetNameOut, this->TargetNameReal, this->TargetNameImport,
- this->TargetNamePDB, this->LocalGenerator->ConfigurationName.c_str());
+ this->TargetNamePDB, this->ConfigName);
if(this->Target->IsAppBundleOnApple())
{
@@ -123,7 +123,7 @@ void cmMakefileExecutableTargetGenerator::WriteExecutableRule(bool relink)
std::string targetNamePDB;
this->Target->GetExecutableNames
(targetName, targetNameReal, targetNameImport, targetNamePDB,
- this->LocalGenerator->ConfigurationName.c_str());
+ this->ConfigName);
// Construct the full path version of the names.
std::string outpath = this->Target->GetDirectory();
@@ -212,7 +212,7 @@ void cmMakefileExecutableTargetGenerator::WriteExecutableRule(bool relink)
// Add flags to create an executable.
this->LocalGenerator->
AddConfigVariableFlags(linkFlags, "CMAKE_EXE_LINKER_FLAGS",
- this->LocalGenerator->ConfigurationName.c_str());
+ this->ConfigName);
if(this->Target->GetPropertyAsBool("WIN32_EXECUTABLE"))
@@ -238,15 +238,13 @@ void cmMakefileExecutableTargetGenerator::WriteExecutableRule(bool relink)
// Add language-specific flags.
this->LocalGenerator
- ->AddLanguageFlags(flags, linkLanguage,
- this->LocalGenerator->ConfigurationName.c_str());
+ ->AddLanguageFlags(flags, linkLanguage, this->ConfigName);
// Add target-specific linker flags.
this->LocalGenerator->AppendFlags
(linkFlags, this->Target->GetProperty("LINK_FLAGS"));
std::string linkFlagsConfig = "LINK_FLAGS_";
- linkFlagsConfig +=
- cmSystemTools::UpperCase(this->LocalGenerator->ConfigurationName.c_str());
+ linkFlagsConfig += cmSystemTools::UpperCase(this->ConfigName);
this->LocalGenerator->AppendFlags
(linkFlags, this->Target->GetProperty(linkFlagsConfig.c_str()));
diff --git a/Source/cmMakefileLibraryTargetGenerator.cxx b/Source/cmMakefileLibraryTargetGenerator.cxx
index ec9789f..ca47e33 100644
--- a/Source/cmMakefileLibraryTargetGenerator.cxx
+++ b/Source/cmMakefileLibraryTargetGenerator.cxx
@@ -34,8 +34,7 @@ cmMakefileLibraryTargetGenerator
this->CustomCommandDriver = OnDepends;
this->Target->GetLibraryNames(
this->TargetNameOut, this->TargetNameSO, this->TargetNameReal,
- this->TargetNameImport, this->TargetNamePDB,
- this->LocalGenerator->ConfigurationName.c_str());
+ this->TargetNameImport, this->TargetNamePDB, this->ConfigName);
if(this->Target->IsFrameworkOnApple())
{
@@ -146,14 +145,12 @@ void cmMakefileLibraryTargetGenerator::WriteSharedLibraryRules(bool relink)
this->LocalGenerator->AppendFlags
(extraFlags, this->Target->GetProperty("LINK_FLAGS"));
std::string linkFlagsConfig = "LINK_FLAGS_";
- linkFlagsConfig +=
- cmSystemTools::UpperCase(this->LocalGenerator->ConfigurationName.c_str());
+ linkFlagsConfig += cmSystemTools::UpperCase(this->ConfigName);
this->LocalGenerator->AppendFlags
(extraFlags, this->Target->GetProperty(linkFlagsConfig.c_str()));
this->LocalGenerator->AddConfigVariableFlags
- (extraFlags, "CMAKE_SHARED_LINKER_FLAGS",
- this->LocalGenerator->ConfigurationName.c_str());
+ (extraFlags, "CMAKE_SHARED_LINKER_FLAGS", this->ConfigName);
if(this->Makefile->IsOn("WIN32") && !(this->Makefile->IsOn("CYGWIN")
|| this->Makefile->IsOn("MINGW")))
{
@@ -194,13 +191,11 @@ void cmMakefileLibraryTargetGenerator::WriteModuleLibraryRules(bool relink)
this->LocalGenerator->AppendFlags(extraFlags,
this->Target->GetProperty("LINK_FLAGS"));
std::string linkFlagsConfig = "LINK_FLAGS_";
- linkFlagsConfig +=
- cmSystemTools::UpperCase(this->LocalGenerator->ConfigurationName.c_str());
+ linkFlagsConfig += cmSystemTools::UpperCase(this->ConfigName);
this->LocalGenerator->AppendFlags
(extraFlags, this->Target->GetProperty(linkFlagsConfig.c_str()));
this->LocalGenerator->AddConfigVariableFlags
- (extraFlags, "CMAKE_MODULE_LINKER_FLAGS",
- this->LocalGenerator->ConfigurationName.c_str());
+ (extraFlags, "CMAKE_MODULE_LINKER_FLAGS", this->ConfigName);
// TODO: .def files should be supported here also.
this->WriteLibraryRules(linkRuleVar.c_str(), extraFlags.c_str(), relink);
@@ -222,13 +217,11 @@ void cmMakefileLibraryTargetGenerator::WriteFrameworkRules(bool relink)
this->LocalGenerator->AppendFlags(extraFlags,
this->Target->GetProperty("LINK_FLAGS"));
std::string linkFlagsConfig = "LINK_FLAGS_";
- linkFlagsConfig +=
- cmSystemTools::UpperCase(this->LocalGenerator->ConfigurationName.c_str());
+ linkFlagsConfig += cmSystemTools::UpperCase(this->ConfigName);
this->LocalGenerator->AppendFlags
(extraFlags, this->Target->GetProperty(linkFlagsConfig.c_str()));
this->LocalGenerator->AddConfigVariableFlags
- (extraFlags, "CMAKE_MACOSX_FRAMEWORK_LINKER_FLAGS",
- this->LocalGenerator->ConfigurationName.c_str());
+ (extraFlags, "CMAKE_MACOSX_FRAMEWORK_LINKER_FLAGS", this->ConfigName);
// TODO: .def files should be supported here also.
this->WriteLibraryRules(linkRuleVar.c_str(), extraFlags.c_str(), relink);
@@ -389,7 +382,7 @@ void cmMakefileLibraryTargetGenerator::WriteLibraryRules
std::string targetNamePDB;
this->Target->GetLibraryNames(
targetName, targetNameSO, targetNameReal, targetNameImport, targetNamePDB,
- this->LocalGenerator->ConfigurationName.c_str());
+ this->ConfigName);
// Construct the full path version of the names.
std::string outpath;
@@ -685,8 +678,8 @@ void cmMakefileLibraryTargetGenerator::WriteLibraryRules
if(this->Target->GetType() == cmTarget::SHARED_LIBRARY)
{
// Get the install_name directory for the build tree.
- const char* config = this->LocalGenerator->ConfigurationName.c_str();
- install_name_dir = this->Target->GetInstallNameDirForBuildTree(config);
+ install_name_dir =
+ this->Target->GetInstallNameDirForBuildTree(this->ConfigName);
// Set the rule variable replacement value.
if(install_name_dir.empty())
@@ -705,8 +698,7 @@ void cmMakefileLibraryTargetGenerator::WriteLibraryRules
}
std::string langFlags;
this->LocalGenerator
- ->AddLanguageFlags(langFlags, linkLanguage,
- this->LocalGenerator->ConfigurationName.c_str());
+ ->AddLanguageFlags(langFlags, linkLanguage, this->ConfigName);
// remove any language flags that might not work with the
// particular os
if(forbiddenFlagVar)
diff --git a/Source/cmMakefileTargetGenerator.cxx b/Source/cmMakefileTargetGenerator.cxx
index f38874d..81fa4a1 100644
--- a/Source/cmMakefileTargetGenerator.cxx
+++ b/Source/cmMakefileTargetGenerator.cxx
@@ -43,6 +43,7 @@ cmMakefileTargetGenerator::cmMakefileTargetGenerator(cmTarget* target)
this->LocalGenerator =
static_cast<cmLocalUnixMakefileGenerator3*>(
this->Makefile->GetLocalGenerator());
+ this->ConfigName = this->LocalGenerator->ConfigurationName.c_str();
this->GlobalGenerator =
static_cast<cmGlobalUnixMakefileGenerator3*>(
this->LocalGenerator->GetGlobalGenerator());
@@ -602,7 +603,6 @@ cmMakefileTargetGenerator
std::string targetOutPathPDB;
{
std::string targetFullPathPDB;
- const char* configName = this->LocalGenerator->ConfigurationName.c_str();
if(this->Target->GetType() == cmTarget::EXECUTABLE ||
this->Target->GetType() == cmTarget::STATIC_LIBRARY ||
this->Target->GetType() == cmTarget::SHARED_LIBRARY ||
@@ -610,7 +610,7 @@ cmMakefileTargetGenerator
{
targetFullPathPDB = this->Target->GetDirectory();
targetFullPathPDB += "/";
- targetFullPathPDB += this->Target->GetPDBName(configName);
+ targetFullPathPDB += this->Target->GetPDBName(this->ConfigName);
}
targetOutPathPDB =
this->Convert(targetFullPathPDB.c_str(),cmLocalGenerator::FULL,
diff --git a/Source/cmMakefileTargetGenerator.h b/Source/cmMakefileTargetGenerator.h
index 815dc8d..568c1c9 100644
--- a/Source/cmMakefileTargetGenerator.h
+++ b/Source/cmMakefileTargetGenerator.h
@@ -155,6 +155,7 @@ protected:
cmLocalUnixMakefileGenerator3 *LocalGenerator;
cmGlobalUnixMakefileGenerator3 *GlobalGenerator;
cmMakefile *Makefile;
+ const char *ConfigName;
enum CustomCommandDriveType { OnBuild, OnDepends, OnUtility };
CustomCommandDriveType CustomCommandDriver;