diff --git a/Modules/FindOpenSSL.cmake b/Modules/FindOpenSSL.cmake index 8754dcf975..af137d4a92 100644 --- a/Modules/FindOpenSSL.cmake +++ b/Modules/FindOpenSSL.cmake @@ -296,9 +296,13 @@ elseif (MSVC) HINTS "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\OpenSSL (32-bit)_is1;Inno Setup: App Path]" "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\OpenSSL (64-bit)_is1;Inno Setup: App Path]" + "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\OpenSSL for ARM (64-bit)_is1;Inno Setup: App Path]" ) - if("${CMAKE_SIZEOF_VOID_P}" STREQUAL "8") + if ("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "ARM64") + set(_arch "Win64-ARM") + file(TO_CMAKE_PATH "$ENV{PROGRAMFILES}" _programfiles) + elseif("${CMAKE_SIZEOF_VOID_P}" STREQUAL "8") set(_arch "Win64") file(TO_CMAKE_PATH "$ENV{PROGRAMFILES}" _programfiles) else() @@ -365,12 +369,14 @@ if(WIN32 AND NOT CYGWIN) endif () # Since OpenSSL 1.1, lib names are like libcrypto32MTd.lib and libssl32MTd.lib - if( "${CMAKE_SIZEOF_VOID_P}" STREQUAL "8" ) + if ("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "ARM64") + set(_OPENSSL_MSVC_FOLDER_SUFFIX "arm64") + elseif( "${CMAKE_SIZEOF_VOID_P}" STREQUAL "8" ) set(_OPENSSL_MSVC_ARCH_SUFFIX "64") - set(_OPENSSL_MSVC_FOLDER_SUFFIX "64") + set(_OPENSSL_MSVC_FOLDER_SUFFIX "x64") else() set(_OPENSSL_MSVC_ARCH_SUFFIX "32") - set(_OPENSSL_MSVC_FOLDER_SUFFIX "86") + set(_OPENSSL_MSVC_FOLDER_SUFFIX "x86") endif() if(OPENSSL_USE_STATIC_LIBS) @@ -378,13 +384,13 @@ if(WIN32 AND NOT CYGWIN) "_static" ) set(_OPENSSL_PATH_SUFFIXES_DEBUG - "lib/VC/x${_OPENSSL_MSVC_FOLDER_SUFFIX}/${_OPENSSL_MSVC_RT_MODE}d" + "lib/VC/${_OPENSSL_MSVC_FOLDER_SUFFIX}/${_OPENSSL_MSVC_RT_MODE}d" "lib/VC/static" "VC/static" "lib" ) set(_OPENSSL_PATH_SUFFIXES_RELEASE - "lib/VC/x${_OPENSSL_MSVC_FOLDER_SUFFIX}/${_OPENSSL_MSVC_RT_MODE}" + "lib/VC/${_OPENSSL_MSVC_FOLDER_SUFFIX}/${_OPENSSL_MSVC_RT_MODE}" "lib/VC/static" "VC/static" "lib" @@ -394,13 +400,13 @@ if(WIN32 AND NOT CYGWIN) "" ) set(_OPENSSL_PATH_SUFFIXES_DEBUG - "lib/VC/x${_OPENSSL_MSVC_FOLDER_SUFFIX}/${_OPENSSL_MSVC_RT_MODE}d" + "lib/VC/${_OPENSSL_MSVC_FOLDER_SUFFIX}/${_OPENSSL_MSVC_RT_MODE}d" "lib/VC" "VC" "lib" ) set(_OPENSSL_PATH_SUFFIXES_RELEASE - "lib/VC/x${_OPENSSL_MSVC_FOLDER_SUFFIX}/${_OPENSSL_MSVC_RT_MODE}" + "lib/VC/${_OPENSSL_MSVC_FOLDER_SUFFIX}/${_OPENSSL_MSVC_RT_MODE}" "lib/VC" "VC" "lib"