diff options
author | Brad King <brad.king@kitware.com> | 2014-09-05 17:40:31 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2014-09-05 17:41:54 (GMT) |
commit | 03b7b6cda1016dd16491f8051b45a5baa85f2282 (patch) | |
tree | 04bdcaeb02675b98f06587f84cbb20050403306d | |
parent | ff1fddb0bf40b8a7170d54ccdc9420c2d7190472 (diff) | |
download | CMake-03b7b6cda1016dd16491f8051b45a5baa85f2282.zip CMake-03b7b6cda1016dd16491f8051b45a5baa85f2282.tar.gz CMake-03b7b6cda1016dd16491f8051b45a5baa85f2282.tar.bz2 |
cmGlobalGenerator: Call SetGeneratorToolset even for empty toolset
Move handling of an empty toolset name into the implementation of the
method. This simplifies the VS 10 implementation of default toolset
selection because it has one code path that is always called.
-rw-r--r-- | Source/cmGlobalGenerator.cxx | 28 | ||||
-rw-r--r-- | Source/cmGlobalVisualStudio10Generator.cxx | 16 | ||||
-rw-r--r-- | Source/cmGlobalVisualStudio10Generator.h | 1 | ||||
-rw-r--r-- | Source/cmGlobalXCodeGenerator.cxx | 7 |
4 files changed, 26 insertions, 26 deletions
diff --git a/Source/cmGlobalGenerator.cxx b/Source/cmGlobalGenerator.cxx index 3681515..42efec2 100644 --- a/Source/cmGlobalGenerator.cxx +++ b/Source/cmGlobalGenerator.cxx @@ -79,15 +79,22 @@ cmGlobalGenerator::~cmGlobalGenerator() bool cmGlobalGenerator::SetGeneratorToolset(std::string const& ts, cmMakefile* mf) { - cmOStringStream e; - e << - "Generator\n" - " " << this->GetName() << "\n" - "does not support toolset specification, but toolset\n" - " " << ts << "\n" - "was specified."; - mf->IssueMessage(cmake::FATAL_ERROR, e.str()); - return false; + if(ts.empty()) + { + return true; + } + else + { + cmOStringStream e; + e << + "Generator\n" + " " << this->GetName() << "\n" + "does not support toolset specification, but toolset\n" + " " << ts << "\n" + "was specified."; + mf->IssueMessage(cmake::FATAL_ERROR, e.str()); + return false; + } } std::string cmGlobalGenerator::SelectMakeProgram( @@ -454,8 +461,7 @@ cmGlobalGenerator::EnableLanguage(std::vector<std::string>const& languages, // Tell the generator about the toolset, if any. std::string toolset = mf->GetSafeDefinition("CMAKE_GENERATOR_TOOLSET"); - if(!toolset.empty() && - !this->SetGeneratorToolset(toolset, mf)) + if(!this->SetGeneratorToolset(toolset, mf)) { cmSystemTools::SetFatalErrorOccured(); return; diff --git a/Source/cmGlobalVisualStudio10Generator.cxx b/Source/cmGlobalVisualStudio10Generator.cxx index 19aa52c..63c32f9 100644 --- a/Source/cmGlobalVisualStudio10Generator.cxx +++ b/Source/cmGlobalVisualStudio10Generator.cxx @@ -121,7 +121,10 @@ cmGlobalVisualStudio10Generator::SetGeneratorToolset(std::string const& ts, cmMakefile* mf) { this->GeneratorToolset = ts; - this->AddVSPlatformToolsetDefinition(mf); + if(const char* toolset = this->GetPlatformToolset()) + { + mf->AddDefinition("CMAKE_VS_PLATFORM_TOOLSET", toolset); + } return true; } @@ -142,7 +145,6 @@ bool cmGlobalVisualStudio10Generator::SetSystemName(std::string const& s, return false; } } - this->AddVSPlatformToolsetDefinition(mf); return this->cmGlobalVisualStudio8Generator::SetSystemName(s, mf); } @@ -187,16 +189,6 @@ bool cmGlobalVisualStudio10Generator::InitializeWindowsStore(cmMakefile* mf) } //---------------------------------------------------------------------------- -void cmGlobalVisualStudio10Generator -::AddVSPlatformToolsetDefinition(cmMakefile* mf) const -{ - if(const char* toolset = this->GetPlatformToolset()) - { - mf->AddDefinition("CMAKE_VS_PLATFORM_TOOLSET", toolset); - } -} - -//---------------------------------------------------------------------------- void cmGlobalVisualStudio10Generator::WriteSLNHeader(std::ostream& fout) { fout << "Microsoft Visual Studio Solution File, Format Version 11.00\n"; diff --git a/Source/cmGlobalVisualStudio10Generator.h b/Source/cmGlobalVisualStudio10Generator.h index 11fa954..f05b174 100644 --- a/Source/cmGlobalVisualStudio10Generator.h +++ b/Source/cmGlobalVisualStudio10Generator.h @@ -140,6 +140,5 @@ private: virtual std::string FindMSBuildCommand(); virtual std::string FindDevEnvCommand(); virtual std::string GetVSMakeProgram() { return this->GetMSBuildCommand(); } - void AddVSPlatformToolsetDefinition(cmMakefile* mf) const; }; #endif diff --git a/Source/cmGlobalXCodeGenerator.cxx b/Source/cmGlobalXCodeGenerator.cxx index 17f838c..13e6988 100644 --- a/Source/cmGlobalXCodeGenerator.cxx +++ b/Source/cmGlobalXCodeGenerator.cxx @@ -208,8 +208,11 @@ bool cmGlobalXCodeGenerator::SetGeneratorToolset(std::string const& ts, if(this->XcodeVersion >= 30) { this->GeneratorToolset = ts; - mf->AddDefinition("CMAKE_XCODE_PLATFORM_TOOLSET", - this->GeneratorToolset.c_str()); + if(!this->GeneratorToolset.empty()) + { + mf->AddDefinition("CMAKE_XCODE_PLATFORM_TOOLSET", + this->GeneratorToolset.c_str()); + } return true; } else |