summaryrefslogtreecommitdiffstats
path: root/Source/cmake.cxx
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2019-01-09 19:30:10 (GMT)
committerBrad King <brad.king@kitware.com>2019-01-11 16:04:51 (GMT)
commit57e48f16f2c3b73fb27057267c8092a41005bb75 (patch)
treea4ffcf1bb1bcb8186ca7504cadd1ad5618852f50 /Source/cmake.cxx
parentbdef729646a5a559c295ef9c0fb83eb8a6b34905 (diff)
downloadCMake-57e48f16f2c3b73fb27057267c8092a41005bb75.zip
CMake-57e48f16f2c3b73fb27057267c8092a41005bb75.tar.gz
CMake-57e48f16f2c3b73fb27057267c8092a41005bb75.tar.bz2
VS: Add Visual Studio 16 2019 generator
Add this generator *without* support for specifying the target architecture in the generator name. cmake-gui will be taught to provide a field for this, and command-line builds can use -A. Also, teach this generator to select a default target architecture based on the host architecture. Fixes: #18689 Inspired-by: Egor Pugin <egor.pugin@gmail.com>
Diffstat (limited to 'Source/cmake.cxx')
-rw-r--r--Source/cmake.cxx6
1 files changed, 5 insertions, 1 deletions
diff --git a/Source/cmake.cxx b/Source/cmake.cxx
index 1d062f4..1541810 100644
--- a/Source/cmake.cxx
+++ b/Source/cmake.cxx
@@ -1538,7 +1538,9 @@ void cmake::CreateDefaultGlobalGenerator()
"\\Setup\\VC;ProductDir", //
";InstallDir" //
};
- if (cmVSSetupAPIHelper(15).IsVSInstalled()) {
+ if (cmVSSetupAPIHelper(16).IsVSInstalled()) {
+ found = "Visual Studio 16 2019";
+ } else if (cmVSSetupAPIHelper(15).IsVSInstalled()) {
found = "Visual Studio 15 2017";
} else {
for (VSVersionedGenerator const* g = cm::cbegin(vsGenerators);
@@ -1793,6 +1795,8 @@ void cmake::AddDefaultGenerators()
#if defined(_WIN32) && !defined(__CYGWIN__)
# if !defined(CMAKE_BOOT_MINGW)
this->Generators.push_back(
+ cmGlobalVisualStudioVersionedGenerator::NewFactory16());
+ this->Generators.push_back(
cmGlobalVisualStudioVersionedGenerator::NewFactory15());
this->Generators.push_back(cmGlobalVisualStudio14Generator::NewFactory());
this->Generators.push_back(cmGlobalVisualStudio12Generator::NewFactory());