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

cmGlobalVisualStudio10Generator: Adopt GetVSInstanceVersion method

Port from `cmGlobalVisualStudioVersionedGenerator`.
This commit is contained in:
Brad King
2021-06-16 10:53:22 -04:00
parent e66a7fe07b
commit aabc3ca47d
3 changed files with 17 additions and 7 deletions

View File

@@ -128,6 +128,11 @@ public:
std::string Encoding() override;
const char* GetToolsVersion() const;
virtual cm::optional<unsigned long long> GetVSInstanceVersion() const
{
return {};
}
bool GetSupportsUnityBuilds() const { return this->SupportsUnityBuilds; }
bool FindMakeProgram(cmMakefile* mf) override;

View File

@@ -391,10 +391,15 @@ bool cmGlobalVisualStudioVersionedGenerator::GetVSInstance(
return vsSetupAPIHelper.GetVSInstanceInfo(dir);
}
bool cmGlobalVisualStudioVersionedGenerator::GetVSInstanceVersion(
unsigned long long& vsInstanceVersion) const
cm::optional<unsigned long long>
cmGlobalVisualStudioVersionedGenerator::GetVSInstanceVersion() const
{
return vsSetupAPIHelper.GetVSInstanceVersion(vsInstanceVersion);
cm::optional<unsigned long long> result;
unsigned long long vsInstanceVersion;
if (vsSetupAPIHelper.GetVSInstanceVersion(vsInstanceVersion)) {
result = vsInstanceVersion;
}
return result;
}
bool cmGlobalVisualStudioVersionedGenerator::IsStdOutEncodingSupported() const
@@ -407,9 +412,9 @@ bool cmGlobalVisualStudioVersionedGenerator::IsStdOutEncodingSupported() const
return false;
}
unsigned long long const vsInstanceVersion16_7_P2 = 4503631666610212;
unsigned long long vsInstanceVersion;
return (this->GetVSInstanceVersion(vsInstanceVersion) &&
vsInstanceVersion > vsInstanceVersion16_7_P2);
cm::optional<unsigned long long> vsInstanceVersion =
this->GetVSInstanceVersion();
return (vsInstanceVersion && *vsInstanceVersion > vsInstanceVersion16_7_P2);
}
const char*

View File

@@ -28,7 +28,7 @@ public:
bool GetVSInstance(std::string& dir) const;
bool GetVSInstanceVersion(unsigned long long& vsInstanceVersion) const;
cm::optional<unsigned long long> GetVSInstanceVersion() const override;
AuxToolset FindAuxToolset(std::string& version,
std::string& props) const override;