Skip to content
Snippets Groups Projects
Commit b512c53d authored by Brad King's avatar Brad King
Browse files

VS: Add support for setting WindowsTargetPlatformVersion to 10.0

VS 2019 and above support this value to select a SDK version
automatically.

Fixes: #21403
parent 2f3d945f
No related merge requests found
......@@ -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"
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment