1
0
mirror of https://github.com/Kitware/CMake.git synced 2025-10-18 00:02:21 +08:00

FindOpenSSL: Trust the user's OPENSSL_ROOT_DIR

When the user has specified the OpenSSL installation root directory,
through the variable OPENSSL_ROOT_DIR or the environment variable with
the same name, trust it, don't try to find OpenSSL anywhere else.

Fixes: #18352
This commit is contained in:
Richard Levitte
2023-05-17 11:40:42 +02:00
parent 0383bb7ffa
commit 5cc8a69867

View File

@@ -230,13 +230,15 @@ else()
set(_OPENSSL_FIND_PATH_SUFFIX "include") set(_OPENSSL_FIND_PATH_SUFFIX "include")
endif() endif()
if (MSVC) if ((DEFINED OPENSSL_ROOT_DIR) OR (DEFINED ENV{OPENSSL_ROOT_DIR}))
set(_OPENSSL_ROOT_HINTS HINTS ${OPENSSL_ROOT_DIR} ENV OPENSSL_ROOT_DIR)
set(_OPENSSL_ROOT_PATHS NO_DEFAULT_PATH)
elseif (MSVC)
# http://www.slproweb.com/products/Win32OpenSSL.html # http://www.slproweb.com/products/Win32OpenSSL.html
set(_OPENSSL_ROOT_HINTS set(_OPENSSL_ROOT_HINTS
${OPENSSL_ROOT_DIR} 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 (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 (64-bit)_is1;Inno Setup: App Path]"
ENV OPENSSL_ROOT_DIR
) )
if("${CMAKE_SIZEOF_VOID_P}" STREQUAL "8") if("${CMAKE_SIZEOF_VOID_P}" STREQUAL "8")
@@ -255,6 +257,7 @@ if (MSVC)
endif() endif()
set(_OPENSSL_ROOT_PATHS set(_OPENSSL_ROOT_PATHS
PATHS
"${_programfiles}/OpenSSL" "${_programfiles}/OpenSSL"
"${_programfiles}/OpenSSL-${_arch}" "${_programfiles}/OpenSSL-${_arch}"
"C:/OpenSSL/" "C:/OpenSSL/"
@@ -262,16 +265,11 @@ if (MSVC)
) )
unset(_programfiles) unset(_programfiles)
unset(_arch) unset(_arch)
else ()
set(_OPENSSL_ROOT_HINTS
${OPENSSL_ROOT_DIR}
ENV OPENSSL_ROOT_DIR
)
endif () endif ()
set(_OPENSSL_ROOT_HINTS_AND_PATHS set(_OPENSSL_ROOT_HINTS_AND_PATHS
HINTS ${_OPENSSL_ROOT_HINTS} ${_OPENSSL_ROOT_HINTS}
PATHS ${_OPENSSL_ROOT_PATHS} ${_OPENSSL_ROOT_PATHS}
) )
find_path(OPENSSL_INCLUDE_DIR find_path(OPENSSL_INCLUDE_DIR