瀏覽代碼

IRSL: Add support for non-x86/x64 architectures such as arm64

Implement `CMAKE_MSVC_ARCH` determination for more architectures.

Fixes: #16734
pastdue 5 年之前
父節點
當前提交
9c5cf0c1af
共有 1 個文件被更改,包括 9 次插入7 次删除
  1. 9 7
      Modules/InstallRequiredSystemLibraries.cmake

+ 9 - 7
Modules/InstallRequiredSystemLibraries.cmake

@@ -101,16 +101,18 @@ endforeach()
 if(MSVC)
   file(TO_CMAKE_PATH "$ENV{SYSTEMROOT}" SYSTEMROOT)
 
-  if(CMAKE_CL_64)
-    if(MSVC_VERSION GREATER 1599)
-      # VS 10 and later:
-      set(CMAKE_MSVC_ARCH x64)
-    else()
+  if(MSVC_C_ARCHITECTURE_ID)
+    string(TOLOWER "${MSVC_C_ARCHITECTURE_ID}" CMAKE_MSVC_ARCH)
+  elseif(MSVC_CXX_ARCHITECTURE_ID)
+    string(TOLOWER "${MSVC_CXX_ARCHITECTURE_ID}" CMAKE_MSVC_ARCH)
+  else()
+    set(CMAKE_MSVC_ARCH x86)
+  endif()
+  if(CMAKE_MSVC_ARCH STREQUAL "x64")
+    if(MSVC_VERSION LESS 1600)
       # VS 9 and earlier:
       set(CMAKE_MSVC_ARCH amd64)
     endif()
-  else()
-    set(CMAKE_MSVC_ARCH x86)
   endif()
 
   get_filename_component(devenv_dir "${CMAKE_MAKE_PROGRAM}" PATH)