|
@@ -7,6 +7,12 @@
|
|
|
#include "cmMakefile.h"
|
|
#include "cmMakefile.h"
|
|
|
#include "cmsys/SystemInformation.hxx"
|
|
#include "cmsys/SystemInformation.hxx"
|
|
|
|
|
|
|
|
|
|
+#if defined(_WIN32)
|
|
|
|
|
+#include "cmSystemTools.h"
|
|
|
|
|
+#include "cmVSSetupHelper.h"
|
|
|
|
|
+#define HAVE_VS_SETUP_HELPER
|
|
|
|
|
+#endif
|
|
|
|
|
+
|
|
|
class cmExecutionStatus;
|
|
class cmExecutionStatus;
|
|
|
|
|
|
|
|
// cmCMakeHostSystemInformation
|
|
// cmCMakeHostSystemInformation
|
|
@@ -70,6 +76,13 @@ bool cmCMakeHostSystemInformationCommand::GetValue(
|
|
|
value = this->ValueToString(info.GetTotalPhysicalMemory());
|
|
value = this->ValueToString(info.GetTotalPhysicalMemory());
|
|
|
} else if (key == "AVAILABLE_PHYSICAL_MEMORY") {
|
|
} else if (key == "AVAILABLE_PHYSICAL_MEMORY") {
|
|
|
value = this->ValueToString(info.GetAvailablePhysicalMemory());
|
|
value = this->ValueToString(info.GetAvailablePhysicalMemory());
|
|
|
|
|
+#ifdef HAVE_VS_SETUP_HELPER
|
|
|
|
|
+ } else if (key == "VS_15_DIR") {
|
|
|
|
|
+ cmVSSetupAPIHelper vsSetupAPIHelper;
|
|
|
|
|
+ if (vsSetupAPIHelper.GetVSInstanceInfo(value)) {
|
|
|
|
|
+ cmSystemTools::ConvertToUnixSlashes(value);
|
|
|
|
|
+ }
|
|
|
|
|
+#endif
|
|
|
} else {
|
|
} else {
|
|
|
std::string e = "does not recognize <key> " + key;
|
|
std::string e = "does not recognize <key> " + key;
|
|
|
this->SetError(e);
|
|
this->SetError(e);
|