diff options
-rw-r--r-- | Source/cmMakefileExecutableTargetGenerator.cxx | 12 | ||||
-rw-r--r-- | Source/cmMakefileLibraryTargetGenerator.cxx | 30 | ||||
-rw-r--r-- | Source/cmMakefileTargetGenerator.cxx | 4 | ||||
-rw-r--r-- | Source/cmMakefileTargetGenerator.h | 1 |
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; |