1
0
mirror of https://github.com/Kitware/CMake.git synced 2025-10-14 10:47:59 +08:00

VS: Restore Windows SDK selection with platform in generator name

Refactoring in commit e259063b0a (VS: Defer Windows SDK selection until
CMAKE_GENERATOR_PLATFORM is known, 2023-03-31, v3.27.0-rc1~206^2~5)
accidentally dropped the Windows SDK selection code path for VS
generators named with the old-style platform suffix.

Fixes: #25007
This commit is contained in:
Brad King
2023-06-22 11:18:49 -04:00
parent 0cd5300665
commit a4d532e998
4 changed files with 10 additions and 11 deletions

View File

@@ -117,10 +117,6 @@ bool cmGlobalVisualStudio8Generator::SetGeneratorPlatform(std::string const& p,
*targetFrameworkTargetsVersion);
}
if (!this->InitializePlatform(mf)) {
return false;
}
// The generator name does not contain the platform name, and so supports
// explicit platform specification. We handled that above, so pass an
// empty platform name to our base class implementation so it does not error.
@@ -206,11 +202,6 @@ bool cmGlobalVisualStudio8Generator::ProcessGeneratorPlatformField(
return false;
}
bool cmGlobalVisualStudio8Generator::InitializePlatform(cmMakefile*)
{
return true;
}
cm::optional<std::string> const&
cmGlobalVisualStudio8Generator::GetTargetFrameworkVersion() const
{

View File

@@ -60,8 +60,6 @@ protected:
cmGlobalVisualStudio8Generator(cmake* cm, const std::string& name,
std::string const& platformInGeneratorName);
virtual bool InitializePlatform(cmMakefile* mf);
virtual bool ProcessGeneratorPlatformField(std::string const& key,
std::string const& value);

View File

@@ -75,6 +75,9 @@ void cmGlobalVisualStudioGenerator::EnableLanguage(
bool cmGlobalVisualStudioGenerator::SetGeneratorPlatform(std::string const& p,
cmMakefile* mf)
{
if (!this->InitializePlatform(mf)) {
return false;
}
if (this->GetPlatformName() == "x64") {
mf->AddDefinition("CMAKE_FORCE_WIN64", "TRUE");
} else if (this->GetPlatformName() == "Itanium") {
@@ -84,6 +87,11 @@ bool cmGlobalVisualStudioGenerator::SetGeneratorPlatform(std::string const& p,
return this->cmGlobalGenerator::SetGeneratorPlatform(p, mf);
}
bool cmGlobalVisualStudioGenerator::InitializePlatform(cmMakefile*)
{
return true;
}
std::string const& cmGlobalVisualStudioGenerator::GetPlatformName() const
{
if (!this->GeneratorPlatform.empty()) {

View File

@@ -164,6 +164,8 @@ protected:
cmGlobalVisualStudioGenerator(cmake* cm,
std::string const& platformInGeneratorName);
virtual bool InitializePlatform(cmMakefile* mf);
void AddExtraIDETargets() override;
// Does this VS version link targets to each other if there are