summaryrefslogtreecommitdiff
path: root/Source/cmGlobalVisualStudio9Generator.cxx
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2019-01-18 10:13:55 -0500
committerBrad King <brad.king@kitware.com>2019-01-18 12:29:53 -0500
commit818df52c488a94628169811bddffe05f36c68b42 (patch)
tree9beedc775cd16676f855334c0eba3b032abaa6cd /Source/cmGlobalVisualStudio9Generator.cxx
parent8144b00e32cf1e24daf41353cbcd1806311ceac9 (diff)
downloadcmake-818df52c488a94628169811bddffe05f36c68b42.tar.gz
Add global generator factory method to get list of known platforms
Add a `cmGlobalGeneratorFactory::GetKnownPlatforms` method to return a list of known possible values for `CMAKE_GENERATOR_PLATFORM`. Implement the method for each generator by referencing the list of possible values documented in `Help/generator/*.rst` for it. Co-Author: Julien Jomier <julien.jomier@kitware.com>
Diffstat (limited to 'Source/cmGlobalVisualStudio9Generator.cxx')
-rw-r--r--Source/cmGlobalVisualStudio9Generator.cxx16
1 files changed, 16 insertions, 0 deletions
diff --git a/Source/cmGlobalVisualStudio9Generator.cxx b/Source/cmGlobalVisualStudio9Generator.cxx
index d72b25b4af..15a83afeca 100644
--- a/Source/cmGlobalVisualStudio9Generator.cxx
+++ b/Source/cmGlobalVisualStudio9Generator.cxx
@@ -83,6 +83,22 @@ public:
bool SupportsToolset() const override { return false; }
bool SupportsPlatform() const override { return true; }
+
+ std::vector<std::string> GetKnownPlatforms() const override
+ {
+ std::vector<std::string> platforms;
+ platforms.emplace_back("x64");
+ platforms.emplace_back("Win32");
+ platforms.emplace_back("Itanium");
+ cmVisualStudioWCEPlatformParser parser;
+ parser.ParseVersion("9.0");
+ const std::vector<std::string>& availablePlatforms =
+ parser.GetAvailablePlatforms();
+ for (std::string const& i : availablePlatforms) {
+ platforms.emplace_back(i);
+ }
+ return platforms;
+ }
};
cmGlobalGeneratorFactory* cmGlobalVisualStudio9Generator::NewFactory()