summaryrefslogtreecommitdiffstats
path: root/Source/cmVSSetupHelper.cxx
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2017-09-26 15:49:58 (GMT)
committerBrad King <brad.king@kitware.com>2017-10-16 15:55:53 (GMT)
commit4c3116d7545fa357adad13d8e6a5571770377cdc (patch)
treeacfae65063e8dfd4d35a64cc74520e09e6701855 /Source/cmVSSetupHelper.cxx
parenta91eb5e41f486628910f189bf40403568af013c7 (diff)
downloadCMake-4c3116d7545fa357adad13d8e6a5571770377cdc.zip
CMake-4c3116d7545fa357adad13d8e6a5571770377cdc.tar.gz
CMake-4c3116d7545fa357adad13d8e6a5571770377cdc.tar.bz2
cmVSSetupHelper: Factor out install location string construction
This also adds a missing conversion to unix slashes in one code path.
Diffstat (limited to 'Source/cmVSSetupHelper.cxx')
-rw-r--r--Source/cmVSSetupHelper.cxx16
1 files changed, 10 insertions, 6 deletions
diff --git a/Source/cmVSSetupHelper.cxx b/Source/cmVSSetupHelper.cxx
index 3c50403..d36e350 100644
--- a/Source/cmVSSetupHelper.cxx
+++ b/Source/cmVSSetupHelper.cxx
@@ -49,6 +49,14 @@ const WCHAR* Win81SDKComponent =
L"Microsoft.VisualStudio.Component.Windows81SDK";
const WCHAR* ComponentType = L"Component";
+std::string VSInstanceInfo::GetInstallLocation() const
+{
+ std::string loc(this->VSInstallLocation.begin(),
+ this->VSInstallLocation.end());
+ cmSystemTools::ConvertToUnixSlashes(loc);
+ return loc;
+}
+
cmVSSetupAPIHelper::cmVSSetupAPIHelper()
: setupConfig(NULL)
, setupConfig2(NULL)
@@ -222,9 +230,7 @@ bool cmVSSetupAPIHelper::GetVSInstanceInfo(std::string& vsInstallLocation)
bool isInstalled = this->EnumerateAndChooseVSInstance();
if (isInstalled) {
- std::string str(chosenInstanceInfo.VSInstallLocation.begin(),
- chosenInstanceInfo.VSInstallLocation.end());
- vsInstallLocation = str;
+ vsInstallLocation = chosenInstanceInfo.GetInstallLocation();
}
return isInstalled;
@@ -281,9 +287,7 @@ bool cmVSSetupAPIHelper::EnumerateAndChooseVSInstance()
if (isInstalled) {
if (!envVSCommonToolsDir.empty()) {
- std::string currentVSLocation(instanceInfo.VSInstallLocation.begin(),
- instanceInfo.VSInstallLocation.end());
- cmSystemTools::ConvertToUnixSlashes(currentVSLocation);
+ std::string currentVSLocation = instanceInfo.GetInstallLocation();
currentVSLocation += "/Common7/Tools";
if (cmSystemTools::ComparePath(currentVSLocation,
envVSCommonToolsDir)) {