mirror of
https://gitlab.kitware.com/cmake/cmake.git
synced 2026-10-07 04:02:23 +03: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:
1 parent
577f721fb7
commit
0362c60fe5
1 file changed
+7
-38
@@ -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