VS: Fix standalone Windows7.1SDK toolset selection
Since commit v3.7.0-rc1~142^2~1 (VS: Explicitly default to v100 toolset in Visual Studio 2010, 2016-07-21) we prefer to always set a platform toolset explicitly so that `CMAKE_VS_PLATFORM_TOOLSET` can be reported. However, the `v100` default for the VS 10 generator is not appropriate for all environments. We fixed support for VS 2010 Express Edition in commit v3.7.0-rc1~142^2 (VS: Do not default to missing v100 64-bit toolset on VS 2010 Express, 2016-09-09). Fix support for the standalone Windows7.1SDK toolset environment by recognizing the `PlatformToolset` environment variable that it sets to `Windows7.1SDK` and using this as our default toolset instead. Closes: #16483
This commit is contained in:
parent
db3499df5d
commit
27431de162
|
@ -93,7 +93,16 @@ cmGlobalVisualStudio10Generator::cmGlobalVisualStudio10Generator(
|
||||||
this->SystemIsWindowsPhone = false;
|
this->SystemIsWindowsPhone = false;
|
||||||
this->SystemIsWindowsStore = false;
|
this->SystemIsWindowsStore = false;
|
||||||
this->MSBuildCommandInitialized = false;
|
this->MSBuildCommandInitialized = false;
|
||||||
|
{
|
||||||
|
std::string envPlatformToolset;
|
||||||
|
if (cmSystemTools::GetEnv("PlatformToolset", envPlatformToolset) &&
|
||||||
|
envPlatformToolset == "Windows7.1SDK") {
|
||||||
|
// We are running from a Windows7.1SDK command prompt.
|
||||||
|
this->DefaultPlatformToolset = "Windows7.1SDK";
|
||||||
|
} else {
|
||||||
this->DefaultPlatformToolset = "v100";
|
this->DefaultPlatformToolset = "v100";
|
||||||
|
}
|
||||||
|
}
|
||||||
this->Version = VS10;
|
this->Version = VS10;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue