summaryrefslogtreecommitdiff
path: root/Help
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2021-03-11 16:59:20 -0500
committerBrad King <brad.king@kitware.com>2021-03-12 08:36:40 -0500
commit58a50a3a0aa814c0fb00720cb8fc9edb2cf72344 (patch)
tree19b9ef83bef46cff1ae566967ca629727df2ca63 /Help
parent09f59da7f09ef864c592cb7e3ffd26373ae2f705 (diff)
downloadcmake-58a50a3a0aa814c0fb00720cb8fc9edb2cf72344.tar.gz
VS: Fix '-T version=14.28' under VS 16.9
CMake accepts the toolset version that is default in the current VS version by matching the name later VS versions will use for the SxS props files. It predicts the future name based on the first two components of the current VS version's default toolset. However, this heuristic breaks naming the VS 16.8 toolset version 14.28 under VS 16.9 because the latter's default toolset version is 14.28.29910, which did not increment the second version component (unprecedented in VS). Fix this by always using the requested version's SxS props file when it exists, even if it matches the first two components of the current VS version's default toolset. Also add a special case for the name VS 16.10 will use for VS 16.9's default toolset, so that it can be used with VS 16.9 too. Fixes: #21922
Diffstat (limited to 'Help')
-rw-r--r--Help/variable/CMAKE_VS_PLATFORM_TOOLSET_VERSION.rst8
1 files changed, 8 insertions, 0 deletions
diff --git a/Help/variable/CMAKE_VS_PLATFORM_TOOLSET_VERSION.rst b/Help/variable/CMAKE_VS_PLATFORM_TOOLSET_VERSION.rst
index 64f2e39cbd..b058278fbb 100644
--- a/Help/variable/CMAKE_VS_PLATFORM_TOOLSET_VERSION.rst
+++ b/Help/variable/CMAKE_VS_PLATFORM_TOOLSET_VERSION.rst
@@ -11,3 +11,11 @@ may be specified by a field in :variable:`CMAKE_GENERATOR_TOOLSET` of
the form ``version=14.11``. If none is specified CMake will choose a default
toolset. The value may be empty if no minor version was selected and the
default is used.
+
+If the value is not empty, it is the version number that MSBuild uses in
+its ``Microsoft.VCToolsVersion.*.props`` file names.
+
+.. versionadded:: 3.19.7
+
+ VS 16.9's toolset may also be specified as ``14.28.16.9`` because
+ VS 16.10 uses the file name ``Microsoft.VCToolsVersion.14.28.16.9.props``.