From 9c5cf0c1af93216f09c5c6bbf543a5f0bcea0dac Mon Sep 17 00:00:00 2001 From: pastdue <30769-past-due@users.noreply.gitlab.kitware.com> Date: Fri, 22 Jan 2021 16:07:21 -0500 Subject: IRSL: Add support for non-x86/x64 architectures such as arm64 Implement `CMAKE_MSVC_ARCH` determination for more architectures. Fixes: #16734 --- Modules/InstallRequiredSystemLibraries.cmake | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/Modules/InstallRequiredSystemLibraries.cmake b/Modules/InstallRequiredSystemLibraries.cmake index 6ecdb9c..a39393dc 100644 --- a/Modules/InstallRequiredSystemLibraries.cmake +++ b/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) -- cgit v0.12