mirror of
https://github.com/Kitware/CMake.git
synced 2026-01-11 08:20:18 -06:00
cmVSSetupHelper: Simplify use of EnumerateAndChooseVSInstance
This method short-circuits when an instance has already been chosen, so avoid duplicating this check at call sites.
This commit is contained in:
@@ -73,44 +73,19 @@ cmVSSetupAPIHelper::~cmVSSetupAPIHelper()
|
||||
|
||||
bool cmVSSetupAPIHelper::IsVS2017Installed()
|
||||
{
|
||||
bool ret = false;
|
||||
if (chosenInstanceInfo.VSInstallLocation.compare(L"") == 0) {
|
||||
ret = EnumerateAndChooseVSInstance();
|
||||
} else {
|
||||
ret = true;
|
||||
}
|
||||
|
||||
return ret;
|
||||
return this->EnumerateAndChooseVSInstance();
|
||||
}
|
||||
|
||||
bool cmVSSetupAPIHelper::IsWin10SDKInstalled()
|
||||
{
|
||||
bool isWin10SDKInstalled = false;
|
||||
if (chosenInstanceInfo.VSInstallLocation.compare(L"") == 0) {
|
||||
if (EnumerateAndChooseVSInstance() &&
|
||||
chosenInstanceInfo.VSInstallLocation.compare(L"") != 0) {
|
||||
isWin10SDKInstalled = chosenInstanceInfo.IsWin10SDKInstalled;
|
||||
}
|
||||
} else {
|
||||
isWin10SDKInstalled = chosenInstanceInfo.IsWin10SDKInstalled;
|
||||
}
|
||||
|
||||
return isWin10SDKInstalled;
|
||||
return (this->EnumerateAndChooseVSInstance() &&
|
||||
chosenInstanceInfo.IsWin10SDKInstalled);
|
||||
}
|
||||
|
||||
bool cmVSSetupAPIHelper::IsWin81SDKInstalled()
|
||||
{
|
||||
bool isWin81SDKInstalled = false;
|
||||
if (chosenInstanceInfo.VSInstallLocation.compare(L"") == 0) {
|
||||
if (EnumerateAndChooseVSInstance() &&
|
||||
chosenInstanceInfo.VSInstallLocation.compare(L"") != 0) {
|
||||
isWin81SDKInstalled = chosenInstanceInfo.IsWin81SDKInstalled;
|
||||
}
|
||||
} else {
|
||||
isWin81SDKInstalled = chosenInstanceInfo.IsWin81SDKInstalled;
|
||||
}
|
||||
|
||||
return isWin81SDKInstalled;
|
||||
return (this->EnumerateAndChooseVSInstance() &&
|
||||
chosenInstanceInfo.IsWin81SDKInstalled);
|
||||
}
|
||||
|
||||
bool cmVSSetupAPIHelper::CheckInstalledComponent(
|
||||
@@ -243,18 +218,12 @@ bool cmVSSetupAPIHelper::GetVSInstanceInfo(
|
||||
bool cmVSSetupAPIHelper::GetVSInstanceInfo(std::string& vsInstallLocation)
|
||||
{
|
||||
vsInstallLocation = "";
|
||||
bool isInstalled = false;
|
||||
bool isInstalled = this->EnumerateAndChooseVSInstance();
|
||||
|
||||
if (chosenInstanceInfo.VSInstallLocation.compare(L"") == 0) {
|
||||
isInstalled = EnumerateAndChooseVSInstance();
|
||||
}
|
||||
|
||||
// Enumerate and choose best VS instance
|
||||
if (chosenInstanceInfo.VSInstallLocation.compare(L"") != 0) {
|
||||
if (isInstalled) {
|
||||
std::string str(chosenInstanceInfo.VSInstallLocation.begin(),
|
||||
chosenInstanceInfo.VSInstallLocation.end());
|
||||
vsInstallLocation = str;
|
||||
isInstalled = true;
|
||||
}
|
||||
|
||||
return isInstalled;
|
||||
|
||||
Reference in New Issue
Block a user