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:
@@ -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;
|
||||||
|
@@ -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*
|
||||||
|
@@ -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;
|
||||||
|
Reference in New Issue
Block a user