From 6546305b010c372fdf7f7000e6139f5cb1b61354 Mon Sep 17 00:00:00 2001 From: halx99 Date: Wed, 15 Mar 2023 11:17:21 +0800 Subject: VS: Add CMAKE_VS_WINDOWS_TARGET_PLATFORM_MIN_VERSION variable Provide a way to initialize the `VS_WINDOWS_TARGET_PLATFORM_MIN_VERSION` target property on targets. It sets `WindowsTargetPlatformMinVersion` in `.vcxproj` files. --- Help/manual/cmake-variables.7.rst | 1 + Help/prop_tgt/VS_WINDOWS_TARGET_PLATFORM_MIN_VERSION.rst | 11 ++++++++--- Help/release/dev/vs-windows-min-version.rst | 6 ++++++ .../CMAKE_VS_WINDOWS_TARGET_PLATFORM_MIN_VERSION.rst | 12 ++++++++++++ Source/cmTarget.cxx | 1 + 5 files changed, 28 insertions(+), 3 deletions(-) create mode 100644 Help/release/dev/vs-windows-min-version.rst create mode 100644 Help/variable/CMAKE_VS_WINDOWS_TARGET_PLATFORM_MIN_VERSION.rst diff --git a/Help/manual/cmake-variables.7.rst b/Help/manual/cmake-variables.7.rst index 99ea564..1b7113e 100644 --- a/Help/manual/cmake-variables.7.rst +++ b/Help/manual/cmake-variables.7.rst @@ -132,6 +132,7 @@ Variables that Provide Information /variable/CMAKE_VS_TARGET_FRAMEWORK_TARGETS_VERSION /variable/CMAKE_VS_TARGET_FRAMEWORK_VERSION /variable/CMAKE_VS_VERSION_BUILD_NUMBER + /variable/CMAKE_VS_WINDOWS_TARGET_PLATFORM_MIN_VERSION /variable/CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION /variable/CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION_MAXIMUM /variable/CMAKE_XCODE_BUILD_SYSTEM diff --git a/Help/prop_tgt/VS_WINDOWS_TARGET_PLATFORM_MIN_VERSION.rst b/Help/prop_tgt/VS_WINDOWS_TARGET_PLATFORM_MIN_VERSION.rst index 50cf203..ef3ceb0 100644 --- a/Help/prop_tgt/VS_WINDOWS_TARGET_PLATFORM_MIN_VERSION.rst +++ b/Help/prop_tgt/VS_WINDOWS_TARGET_PLATFORM_MIN_VERSION.rst @@ -7,6 +7,11 @@ Visual Studio Windows Target Platform Minimum Version For Windows 10. Specifies the minimum version of the OS that is being targeted. For example ``10.0.10240.0``. If the value is not specified, the -value of :variable:`CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION` will be used on -WindowsStore projects otherwise the target platform minimum version will not -be specified for the project. +value of the :variable:`CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION` variable +will be used on WindowsStore projects. Otherwise the target platform +minimum version will not be specified for the project. + +.. versionadded:: 3.27 + This property is initialized by the value of the + :variable:`CMAKE_VS_WINDOWS_TARGET_PLATFORM_MIN_VERSION` variable + if it is set when a target is created. diff --git a/Help/release/dev/vs-windows-min-version.rst b/Help/release/dev/vs-windows-min-version.rst new file mode 100644 index 0000000..cb39159 --- /dev/null +++ b/Help/release/dev/vs-windows-min-version.rst @@ -0,0 +1,6 @@ +vs-windows-min-version +---------------------- + +* The :variable:`CMAKE_VS_WINDOWS_TARGET_PLATFORM_MIN_VERSION` variable + was added to initialize the :prop_tgt:`VS_WINDOWS_TARGET_PLATFORM_MIN_VERSION` + target property on all targets when they are created. diff --git a/Help/variable/CMAKE_VS_WINDOWS_TARGET_PLATFORM_MIN_VERSION.rst b/Help/variable/CMAKE_VS_WINDOWS_TARGET_PLATFORM_MIN_VERSION.rst new file mode 100644 index 0000000..8ef54cd --- /dev/null +++ b/Help/variable/CMAKE_VS_WINDOWS_TARGET_PLATFORM_MIN_VERSION.rst @@ -0,0 +1,12 @@ +CMAKE_VS_WINDOWS_TARGET_PLATFORM_MIN_VERSION +-------------------------------------------- + +.. versionadded:: 3.27 + +Tell :ref:`Visual Studio Generators` to use the given +Windows Target Platform Minimum Version. + +This variable is used to initialize the +:prop_tgt:`VS_WINDOWS_TARGET_PLATFORM_MIN_VERSION` property on all +targets when they are created. See that target property for +additional information. diff --git a/Source/cmTarget.cxx b/Source/cmTarget.cxx index ec87271..9d43c64 100644 --- a/Source/cmTarget.cxx +++ b/Source/cmTarget.cxx @@ -552,6 +552,7 @@ TargetProperty const StaticTargetProperties[] = { { "JOB_POOL_PRECOMPILE_HEADER"_s, IC::CanCompileSources }, // -- Visual Studio { "VS_NO_COMPILE_BATCHING"_s, IC::CanCompileSources }, + { "VS_WINDOWS_TARGET_PLATFORM_MIN_VERSION"_s, IC::CanCompileSources}, // Output location properties { "ARCHIVE_OUTPUT_DIRECTORY"_s, IC::CanCompileSources }, -- cgit v0.12