summaryrefslogtreecommitdiffstats
path: root/Source/cmake.h
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2012-12-10 15:42:33 (GMT)
committerBrad King <brad.king@kitware.com>2013-02-07 15:53:19 (GMT)
commit4fd534295642b1c08c72229d705db6c7265ecd28 (patch)
tree6cd0fd251856c6a0ee50bccdaff9c5ad771c43a3 /Source/cmake.h
parent118c32f8f211b0bb9a096fbb0711cacf2b68f057 (diff)
downloadCMake-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.h13
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."},\