diff options
author | Brad King <brad.king@kitware.com> | 2012-12-10 15:42:33 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2013-02-07 15:53:19 (GMT) |
commit | 4fd534295642b1c08c72229d705db6c7265ecd28 (patch) | |
tree | 6cd0fd251856c6a0ee50bccdaff9c5ad771c43a3 /Source/cmake.h | |
parent | 118c32f8f211b0bb9a096fbb0711cacf2b68f057 (diff) | |
download | CMake-4fd534295642b1c08c72229d705db6c7265ecd28.zip CMake-4fd534295642b1c08c72229d705db6c7265ecd28.tar.gz CMake-4fd534295642b1c08c72229d705db6c7265ecd28.tar.bz2 |
CMake: Add -T option to choose a generator toolset
Reject the option by default. It will be implemented on a per-generator
basis. Pass the setting into try_compile project generation. Add cache
entry CMAKE_GENERATOR_TOOLSET and associated variable documentation to
hold the value persistently.
Add a RunCMake.GeneratorToolset test to cover basic "-T" option cases.
Verify that CMAKE_GENERATOR_TOOLSET is empty without -T, that -T is
rejected when the generator doesn't support it, and that two -T options
are always rejected.
Diffstat (limited to 'Source/cmake.h')
-rw-r--r-- | Source/cmake.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/Source/cmake.h b/Source/cmake.h index f6fe0d6..7253b39 100644 --- a/Source/cmake.h +++ b/Source/cmake.h @@ -187,6 +187,14 @@ class cmake ///! Get the names of the current registered generators void GetRegisteredGenerators(std::vector<std::string>& names); + ///! Set the name of the selected generator-specific toolset. + void SetGeneratorToolset(std::string const& ts) + { this->GeneratorToolset = ts; } + + ///! Get the name of the selected generator-specific toolset. + std::string const& GetGeneratorToolset() const + { return this->GeneratorToolset; } + ///! get the cmCachemManager used by this invocation of cmake cmCacheManager *GetCacheManager() { return this->CacheManager; } @@ -418,6 +426,7 @@ protected: std::string StartOutputDirectory; bool SuppressDevWarnings; bool DoSuppressDevWarnings; + std::string GeneratorToolset; ///! read in a cmake list file to initialize the cache void ReadListFile(const std::vector<std::string>& args, const char *path); @@ -528,6 +537,10 @@ private: "A makefile generator is responsible for generating a particular build " \ "system. Possible generator names are specified in the Generators " \ "section."},\ + {"-T <toolset-name>", "Specify toolset name if supported by generator.", \ + "Some CMake generators support a toolset name to be given to the " \ + "native build system to choose a compiler. " \ + "See native build system documentation for allowed toolset names."}, \ {"-Wno-dev", "Suppress developer warnings.",\ "Suppress warnings that are meant for the author"\ " of the CMakeLists.txt files."},\ |