diff options
author | Brad King <brad.king@kitware.com> | 2016-09-02 20:15:11 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2016-09-07 19:49:08 (GMT) |
commit | bdc679a8aee4e6b9a8aea795bdbda2341d1e5d08 (patch) | |
tree | f9ade938675a59071bd1efe075cc3ff5ec58f7cf /Source/cmGlobalVisualStudio10Generator.cxx | |
parent | a8936656faa14b27173f90046fef6259dceaa321 (diff) | |
download | CMake-bdc679a8aee4e6b9a8aea795bdbda2341d1e5d08.zip CMake-bdc679a8aee4e6b9a8aea795bdbda2341d1e5d08.tar.gz CMake-bdc679a8aee4e6b9a8aea795bdbda2341d1e5d08.tar.bz2 |
VS15: Add Visual Studio 15 generator
Call the generator "Visual Studio 15" without any year because the
preview version of VS 15 does not provide a year in the product name.
Copy cmGlobalVisualStudio14Generator to cmGlobalVisualStudio15Generator
and update version numbers accordingly. Add the VS15 enumeration value.
Note that we do not need to add a MSVC15 variable or v150 toolset
because Visual Studio 15 comes with an updated version of the v140
toolset and remains ABI-compatible.
Teach tests VSExternalInclude, RunCMake.GeneratorPlatform, and
RunCMake.GeneratorToolset to treat VS 15 as they do VS 10-14.
Closes: #16143
Diffstat (limited to 'Source/cmGlobalVisualStudio10Generator.cxx')
-rw-r--r-- | Source/cmGlobalVisualStudio10Generator.cxx | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/Source/cmGlobalVisualStudio10Generator.cxx b/Source/cmGlobalVisualStudio10Generator.cxx index ab87d67..8bb43ee 100644 --- a/Source/cmGlobalVisualStudio10Generator.cxx +++ b/Source/cmGlobalVisualStudio10Generator.cxx @@ -365,6 +365,20 @@ std::string cmGlobalVisualStudio10Generator::FindMSBuildCommand() } } + // Search where VS15Preview places it. + mskey = "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\SxS\\VS7;"; + mskey += this->GetIDEVersion(); + if (cmSystemTools::ReadRegistryValue(mskey.c_str(), msbuild, + cmSystemTools::KeyWOW64_32)) { + cmSystemTools::ConvertToUnixSlashes(msbuild); + msbuild += "/MSBuild/"; + msbuild += this->GetIDEVersion(); + msbuild += "/Bin/MSBuild.exe"; + if (cmSystemTools::FileExists(msbuild, true)) { + return msbuild; + } + } + msbuild = "MSBuild.exe"; return msbuild; } |