Procházet zdrojové kódy

Merge branch 'vs2019-wow64' into release-3.14

Merge-request: !3102
Brad King před 6 roky
rodič
revize
b5b24158ce
1 změnil soubory, kde provedl 10 přidání a 5 odebrání
  1. 10 5
      Source/cmGlobalVisualStudioVersionedGenerator.cxx

+ 10 - 5
Source/cmGlobalVisualStudioVersionedGenerator.cxx

@@ -18,8 +18,15 @@
 #elif defined(_M_IA64)
 #  define HOST_PLATFORM_NAME "Itanium"
 #  define HOST_TOOLS_ARCH ""
+#elif defined(_WIN64)
+#  define HOST_PLATFORM_NAME "x64"
+#  define HOST_TOOLS_ARCH "x64"
 #else
-#  include "cmsys/SystemInformation.hxx"
+static bool VSIsWow64()
+{
+  BOOL isWow64 = false;
+  return IsWow64Process(GetCurrentProcess(), &isWow64) && isWow64;
+}
 #endif
 
 static std::string VSHostPlatformName()
@@ -27,8 +34,7 @@ static std::string VSHostPlatformName()
 #ifdef HOST_PLATFORM_NAME
   return HOST_PLATFORM_NAME;
 #else
-  cmsys::SystemInformation info;
-  if (info.Is64Bits()) {
+  if (VSIsWow64()) {
     return "x64";
   } else {
     return "Win32";
@@ -41,8 +47,7 @@ static std::string VSHostArchitecture()
 #ifdef HOST_TOOLS_ARCH
   return HOST_TOOLS_ARCH;
 #else
-  cmsys::SystemInformation info;
-  if (info.Is64Bits()) {
+  if (VSIsWow64()) {
     return "x64";
   } else {
     return "x86";