mirror of
https://github.com/Kitware/CMake.git
synced 2026-01-01 19:30:13 -06:00
VS: Add support for setting WindowsTargetPlatformVersion to 10.0
VS 2019 and above support this value to select a SDK version automatically. Fixes: #21403
This commit is contained in:
@@ -56,6 +56,10 @@ Supported pairs are:
|
||||
|
||||
The ``<version>`` may be one of:
|
||||
|
||||
``10.0``
|
||||
Specify that any 10.0 SDK version may be used, and let Visual Studio
|
||||
pick one. This is supported by VS 2019 and above.
|
||||
|
||||
``10.0.<build>.<increment>``
|
||||
Specify the exact 4-component SDK version, e.g., ``10.0.19041.0``.
|
||||
The specified version of the SDK must be installed. It may not exceed
|
||||
|
||||
@@ -355,6 +355,16 @@ std::string cmGlobalVisualStudio14Generator::GetWindows10SDKVersion(
|
||||
cmMakefile* mf)
|
||||
{
|
||||
#if defined(_WIN32) && !defined(__CYGWIN__)
|
||||
// Accept specific version requests as-is.
|
||||
if (this->GeneratorPlatformVersion) {
|
||||
std::string const& ver = *this->GeneratorPlatformVersion;
|
||||
|
||||
// VS 2019 and above support specifying plain "10.0".
|
||||
if (this->Version >= VSVersion::VS16 && ver == "10.0") {
|
||||
return ver;
|
||||
}
|
||||
}
|
||||
|
||||
std::vector<std::string> win10Roots;
|
||||
|
||||
{
|
||||
|
||||
@@ -39,6 +39,14 @@ if("${RunCMake_GENERATOR}" MATCHES "^Visual Studio (1[4567])( 20[0-9][0-9])?$")
|
||||
set(RunCMake_GENERATOR_PLATFORM "version=8.1")
|
||||
run_cmake_with_options(BadVersionPlatform -DCMAKE_SYSTEM_VERSION=8.1)
|
||||
|
||||
if(NOT RunCMake_GENERATOR MATCHES "^Visual Studio (1[45]) ")
|
||||
set(expect_version "10.0")
|
||||
set(RunCMake_GENERATOR_PLATFORM "version=${expect_version}")
|
||||
set(RunCMake_TEST_VARIANT_DESCRIPTION "-${expect_version}")
|
||||
run_cmake_with_options(VersionExists -DCMAKE_SYSTEM_VERSION=10.0)
|
||||
unset(RunCMake_GENERATOR_PLATFORM)
|
||||
endif()
|
||||
|
||||
set(kits "")
|
||||
cmake_host_system_information(RESULT kitsRoot10
|
||||
QUERY WINDOWS_REGISTRY "HKLM/SOFTWARE/Microsoft/Windows Kits/Installed Roots"
|
||||
|
||||
Reference in New Issue
Block a user