VS: Fix '-T version=14.4x' under VS 17.1x

Starting with VS 17.10 the v143 toolset reserves versions `14.30`
through `14.49`.  This is the first time that the first three digits of
the version do not match the toolset name.  Extend the special case from
commit d256581bb0 (VS: Fix '-T version=14.40' under VS 17.10 preview 1,
2024-02-19, v3.29.0-rc2~10^2) to cover the entire reserved version range.
This commit is contained in:
Brad King
2024-06-24 08:47:33 -04:00
parent cdc901797a
commit dfe0f3f358

View File

@@ -225,10 +225,8 @@ bool cmGlobalVisualStudio10Generator::SetGeneratorToolset(
versionToolsetRegex.match(2));
// Hard-code special cases for toolset versions whose first
// three digits do not match their toolset name.
if (platformToolset == "v143"_s && versionToolset == "v144"_s &&
// VS 17.10 toolset v143 version 14.40.
(this->GeneratorToolsetVersion == "14.40"_s ||
cmHasLiteralPrefix(this->GeneratorToolsetVersion, "14.40."))) {
// The v143 toolset reserves versions 14.30 through 14.49.
if (platformToolset == "v143"_s && versionToolset == "v144"_s) {
versionToolset = "v143";
}
} else {