Browse Source

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.
halx99 2 years ago
parent
commit
6546305b01

+ 1 - 0
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

+ 8 - 3
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.

+ 6 - 0
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.

+ 12 - 0
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.

+ 1 - 0
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 },