mirror of
https://github.com/Kitware/CMake.git
synced 2026-05-02 20:29:49 -05: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:
|
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>``
|
``10.0.<build>.<increment>``
|
||||||
Specify the exact 4-component SDK version, e.g., ``10.0.19041.0``.
|
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
|
The specified version of the SDK must be installed. It may not exceed
|
||||||
|
|||||||
@@ -355,6 +355,16 @@ std::string cmGlobalVisualStudio14Generator::GetWindows10SDKVersion(
|
|||||||
cmMakefile* mf)
|
cmMakefile* mf)
|
||||||
{
|
{
|
||||||
#if defined(_WIN32) && !defined(__CYGWIN__)
|
#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;
|
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")
|
set(RunCMake_GENERATOR_PLATFORM "version=8.1")
|
||||||
run_cmake_with_options(BadVersionPlatform -DCMAKE_SYSTEM_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 "")
|
set(kits "")
|
||||||
cmake_host_system_information(RESULT kitsRoot10
|
cmake_host_system_information(RESULT kitsRoot10
|
||||||
QUERY WINDOWS_REGISTRY "HKLM/SOFTWARE/Microsoft/Windows Kits/Installed Roots"
|
QUERY WINDOWS_REGISTRY "HKLM/SOFTWARE/Microsoft/Windows Kits/Installed Roots"
|
||||||
|
|||||||
Reference in New Issue
Block a user