1
0
mirror of https://github.com/Kitware/CMake.git synced 2025-10-17 07:11:52 +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 d6d4af0ec3
commit e59a208b69
3 changed files with 19 additions and 7 deletions

View File

@@ -5,6 +5,8 @@
#include <memory> #include <memory>
#include <set> #include <set>
#include <cm/optional>
#include "cmGlobalVisualStudio8Generator.h" #include "cmGlobalVisualStudio8Generator.h"
#include "cmVisualStudio10ToolsetOptions.h" #include "cmVisualStudio10ToolsetOptions.h"
@@ -119,6 +121,11 @@ public:
std::string Encoding() override; std::string Encoding() override;
const char* GetToolsVersion() const; const char* GetToolsVersion() const;
virtual cm::optional<unsigned long long> GetVSInstanceVersion() const
{
return {};
}
bool GetSupportsUnityBuilds() const { return this->SupportsUnityBuilds; } bool GetSupportsUnityBuilds() const { return this->SupportsUnityBuilds; }
bool FindMakeProgram(cmMakefile* mf) override; bool FindMakeProgram(cmMakefile* mf) override;

View File

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

View File

@@ -28,7 +28,7 @@ public:
bool GetVSInstance(std::string& dir) const; 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, AuxToolset FindAuxToolset(std::string& version,
std::string& props) const override; std::string& props) const override;