summaryrefslogtreecommitdiffstats
path: root/Source/cmGlobalVisualStudio15Generator.cxx
diff options
context:
space:
mode:
authorBasil Fierz <basil.fierz@hotmail.com>2018-05-19 11:23:21 (GMT)
committerBrad King <brad.king@kitware.com>2018-05-29 14:12:59 (GMT)
commit5f1316841944198037d6463d3ddd12efcfae45b3 (patch)
tree3a58c25a578caa6813fa66efcc18eac968991368 /Source/cmGlobalVisualStudio15Generator.cxx
parenta543a233a280f23e72ce5ff7d7a00239bd8634fb (diff)
downloadCMake-5f1316841944198037d6463d3ddd12efcfae45b3.zip
CMake-5f1316841944198037d6463d3ddd12efcfae45b3.tar.gz
CMake-5f1316841944198037d6463d3ddd12efcfae45b3.tar.bz2
VS: Add option to select the version of the toolset used by VS 2017
Add new `version=` parameter in the toolset setting to select the version. Add variable `CMAKE_VS_PLATFORM_TOOLSET_VERSION` to hold the version, if one is set (blank indicates default). Fixes: #17549
Diffstat (limited to 'Source/cmGlobalVisualStudio15Generator.cxx')
-rw-r--r--Source/cmGlobalVisualStudio15Generator.cxx19
1 files changed, 19 insertions, 0 deletions
diff --git a/Source/cmGlobalVisualStudio15Generator.cxx b/Source/cmGlobalVisualStudio15Generator.cxx
index 014d93d..6af5793 100644
--- a/Source/cmGlobalVisualStudio15Generator.cxx
+++ b/Source/cmGlobalVisualStudio15Generator.cxx
@@ -158,6 +158,25 @@ bool cmGlobalVisualStudio15Generator::GetVSInstance(std::string& dir) const
return vsSetupAPIHelper.GetVSInstanceInfo(dir);
}
+std::string cmGlobalVisualStudio15Generator::GetAuxiliaryToolset() const
+{
+ const char* version = this->GetPlatformToolsetVersion();
+ if (version) {
+ std::string instancePath;
+ GetVSInstance(instancePath);
+ std::stringstream path;
+ path << instancePath;
+ path << "/VC/Auxiliary/Build/";
+ path << version;
+ path << "/Microsoft.VCToolsVersion." << version << ".props";
+
+ std::string toolsetPath = path.str();
+ cmSystemTools::ConvertToUnixSlashes(toolsetPath);
+ return toolsetPath;
+ }
+ return {};
+}
+
bool cmGlobalVisualStudio15Generator::InitializeWindows(cmMakefile* mf)
{
// If the Win 8.1 SDK is installed then we can select a SDK matching