mirror of
https://github.com/Kitware/CMake.git
synced 2026-03-06 06:38:37 -06:00
Merge topic 'backport-3.16-vs-v142-version' into release-3.16
2f853eec3dMerge branch 'backport-3.15-vs-v142-version' into backport-3.16-vs-v142-versiond8d4924d98VS: Fix support for v142 toolset minor versions in VS 16.5+07612646feVS: Fix support for v142 toolset minor versions in VS 16.5+ Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4133
This commit is contained in:
@@ -284,10 +284,11 @@ Id flags: ${testflags} ${CMAKE_${lang}_COMPILER_ID_FLAGS_ALWAYS}
|
||||
set(id_cl icl.exe)
|
||||
endif()
|
||||
if(CMAKE_VS_PLATFORM_TOOLSET_VERSION)
|
||||
set(id_sep "\\")
|
||||
if(CMAKE_VS_PLATFORM_TOOLSET_VERSION VERSION_GREATER_EQUAL "14.20")
|
||||
set(id_sep ".")
|
||||
else()
|
||||
set(id_sep "\\")
|
||||
if(EXISTS "${CMAKE_GENERATOR_INSTANCE}/VC/Auxiliary/Build.${CMAKE_VS_PLATFORM_TOOLSET_VERSION}/Microsoft.VCToolsVersion.${CMAKE_VS_PLATFORM_TOOLSET_VERSION}.props")
|
||||
set(id_sep ".")
|
||||
endif()
|
||||
endif()
|
||||
set(id_toolset_version_props "<Import Project=\"${CMAKE_GENERATOR_INSTANCE}\\VC\\Auxiliary\\Build${id_sep}${CMAKE_VS_PLATFORM_TOOLSET_VERSION}\\Microsoft.VCToolsVersion.${CMAKE_VS_PLATFORM_TOOLSET_VERSION}.props\" />")
|
||||
unset(id_sep)
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
#include "cmDocumentationEntry.h"
|
||||
#include "cmLocalVisualStudio10Generator.h"
|
||||
#include "cmMakefile.h"
|
||||
#include "cmStringAlgorithms.h"
|
||||
#include "cmVSSetupHelper.h"
|
||||
#include "cmake.h"
|
||||
|
||||
@@ -388,15 +389,19 @@ std::string cmGlobalVisualStudioVersionedGenerator::GetAuxiliaryToolset() const
|
||||
if (version) {
|
||||
std::string instancePath;
|
||||
GetVSInstance(instancePath);
|
||||
std::stringstream path;
|
||||
path << instancePath;
|
||||
path << "/VC/Auxiliary/Build";
|
||||
path << (cmSystemTools::VersionCompareGreaterEq(version, "14.20") ? '.'
|
||||
: '/');
|
||||
path << version;
|
||||
path << "/Microsoft.VCToolsVersion." << version << ".props";
|
||||
|
||||
std::string toolsetPath = path.str();
|
||||
std::string toolsetDir = instancePath + "/VC/Auxiliary/Build";
|
||||
char sep = '/';
|
||||
if (cmSystemTools::VersionCompareGreaterEq(version, "14.20")) {
|
||||
std::string toolsetDot =
|
||||
cmStrCat(toolsetDir, '.', version, "/Microsoft.VCToolsVersion.",
|
||||
version, ".props");
|
||||
if (cmSystemTools::PathExists(toolsetDot)) {
|
||||
sep = '.';
|
||||
}
|
||||
}
|
||||
std::string toolsetPath =
|
||||
cmStrCat(toolsetDir, sep, version, "/Microsoft.VCToolsVersion.", version,
|
||||
".props");
|
||||
cmSystemTools::ConvertToUnixSlashes(toolsetPath);
|
||||
return toolsetPath;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user