aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2023-12-05 18:04:30 +0100
committerfunjoker <funjoker109@gmail.com>2023-12-05 20:51:04 +0100
commitb0a198c19f6e6b5c7a076dfeebedb9d206a98340 (patch)
tree29fe560feb53b3a37415cf7758b4561d0e9edbf3
parent10544e4406858c79710ad12069ad35e0917823c8 (diff)
Build: Fixed finding openssl 3.2 on windows
(cherry picked from commit 94aed6896873179b284b8b1911590ed9587466d6)
-rw-r--r--cmake/macros/FindOpenSSL.cmake274
1 files changed, 199 insertions, 75 deletions
diff --git a/cmake/macros/FindOpenSSL.cmake b/cmake/macros/FindOpenSSL.cmake
index 91caf49a334..c9122caf10e 100644
--- a/cmake/macros/FindOpenSSL.cmake
+++ b/cmake/macros/FindOpenSSL.cmake
@@ -90,38 +90,107 @@ This module will set the following variables in your project:
Hints
^^^^^
-Set ``OPENSSL_ROOT_DIR`` to the root directory of an OpenSSL installation.
+The following variables may be set to control search behavior:
-.. versionadded:: 3.4
- Set ``OPENSSL_USE_STATIC_LIBS`` to ``TRUE`` to look for static libraries.
+``OPENSSL_ROOT_DIR``
+ Set to the root directory of an OpenSSL installation.
+
+``OPENSSL_USE_STATIC_LIBS``
+ .. versionadded:: 3.4
+
+ Set to ``TRUE`` to look for static libraries.
+
+``OPENSSL_MSVC_STATIC_RT``
+ .. versionadded:: 3.5
-.. versionadded:: 3.5
- Set ``OPENSSL_MSVC_STATIC_RT`` set ``TRUE`` to choose the MT version of the lib.
+ Set to ``TRUE`` to choose the MT version of the lib.
+
+``ENV{PKG_CONFIG_PATH}``
+ On UNIX-like systems, ``pkg-config`` is used to locate the system OpenSSL.
+ Set the ``PKG_CONFIG_PATH`` environment variable to look in alternate
+ locations. Useful on multi-lib systems.
#]=======================================================================]
macro(_OpenSSL_test_and_find_dependencies ssl_library crypto_library)
- if((CMAKE_SYSTEM_NAME STREQUAL "Linux") AND
+ unset(_OpenSSL_extra_static_deps)
+ if(UNIX AND
(("${ssl_library}" MATCHES "\\${CMAKE_STATIC_LIBRARY_SUFFIX}$") OR
("${crypto_library}" MATCHES "\\${CMAKE_STATIC_LIBRARY_SUFFIX}$")))
set(_OpenSSL_has_dependencies TRUE)
- find_package(Threads)
+ unset(_OpenSSL_has_dependency_zlib)
+ if(OPENSSL_USE_STATIC_LIBS)
+ set(_OpenSSL_libs "${_OPENSSL_STATIC_LIBRARIES}")
+ set(_OpenSSL_ldflags_other "${_OPENSSL_STATIC_LDFLAGS_OTHER}")
+ else()
+ set(_OpenSSL_libs "${_OPENSSL_LIBRARIES}")
+ set(_OpenSSL_ldflags_other "${_OPENSSL_LDFLAGS_OTHER}")
+ endif()
+ if(_OpenSSL_libs)
+ unset(_OpenSSL_has_dependency_dl)
+ foreach(_OPENSSL_DEP_LIB IN LISTS _OpenSSL_libs)
+ if (_OPENSSL_DEP_LIB STREQUAL "ssl" OR _OPENSSL_DEP_LIB STREQUAL "crypto")
+ # ignoring: these are the targets
+ elseif(_OPENSSL_DEP_LIB STREQUAL CMAKE_DL_LIBS)
+ set(_OpenSSL_has_dependency_dl TRUE)
+ elseif(_OPENSSL_DEP_LIB STREQUAL "z")
+ find_package(ZLIB)
+ set(_OpenSSL_has_dependency_zlib TRUE)
+ else()
+ list(APPEND _OpenSSL_extra_static_deps "${_OPENSSL_DEP_LIB}")
+ endif()
+ endforeach()
+ unset(_OPENSSL_DEP_LIB)
+ elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux")
+ set(_OpenSSL_has_dependency_dl TRUE)
+ endif()
+ if(_OpenSSL_ldflags_other)
+ unset(_OpenSSL_has_dependency_threads)
+ foreach(_OPENSSL_DEP_LDFLAG IN LISTS _OpenSSL_ldflags_other)
+ if (_OPENSSL_DEP_LDFLAG STREQUAL "-pthread")
+ set(_OpenSSL_has_dependency_threads TRUE)
+ find_package(Threads)
+ endif()
+ endforeach()
+ unset(_OPENSSL_DEP_LDFLAG)
+ elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux")
+ set(_OpenSSL_has_dependency_threads TRUE)
+ find_package(Threads)
+ endif()
+ unset(_OpenSSL_libs)
+ unset(_OpenSSL_ldflags_other)
else()
set(_OpenSSL_has_dependencies FALSE)
endif()
endmacro()
function(_OpenSSL_add_dependencies libraries_var)
- if(CMAKE_THREAD_LIBS_INIT)
+ if(_OpenSSL_has_dependency_zlib)
+ list(APPEND ${libraries_var} ${ZLIB_LIBRARY})
+ endif()
+ if(_OpenSSL_has_dependency_threads)
list(APPEND ${libraries_var} ${CMAKE_THREAD_LIBS_INIT})
endif()
- list(APPEND ${libraries_var} ${CMAKE_DL_LIBS})
+ if(_OpenSSL_has_dependency_dl)
+ list(APPEND ${libraries_var} ${CMAKE_DL_LIBS})
+ endif()
+ list(APPEND ${libraries_var} ${_OpenSSL_extra_static_deps})
set(${libraries_var} ${${libraries_var}} PARENT_SCOPE)
endfunction()
function(_OpenSSL_target_add_dependencies target)
if(_OpenSSL_has_dependencies)
- set_property( TARGET ${target} APPEND PROPERTY INTERFACE_LINK_LIBRARIES Threads::Threads )
- set_property( TARGET ${target} APPEND PROPERTY INTERFACE_LINK_LIBRARIES ${CMAKE_DL_LIBS} )
+ if(_OpenSSL_has_dependency_zlib)
+ set_property( TARGET ${target} APPEND PROPERTY INTERFACE_LINK_LIBRARIES ZLIB::ZLIB )
+ endif()
+ if(_OpenSSL_has_dependency_threads)
+ set_property( TARGET ${target} APPEND PROPERTY INTERFACE_LINK_LIBRARIES Threads::Threads)
+ endif()
+ if(_OpenSSL_has_dependency_dl)
+ set_property( TARGET ${target} APPEND PROPERTY INTERFACE_LINK_LIBRARIES ${CMAKE_DL_LIBS} )
+ endif()
+ if(_OpenSSL_extra_static_deps)
+ set_property( TARGET ${target} APPEND PROPERTY INTERFACE_LINK_LIBRARIES ${_OpenSSL_extra_static_deps})
+ endif()
endif()
if(WIN32 AND OPENSSL_USE_STATIC_LIBS)
if(WINCE)
@@ -141,26 +210,43 @@ endif ()
# Support preference of static libs by adjusting CMAKE_FIND_LIBRARY_SUFFIXES
if(OPENSSL_USE_STATIC_LIBS)
set(_openssl_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES})
- if(WIN32)
+ if(MSVC)
set(CMAKE_FIND_LIBRARY_SUFFIXES .lib .a ${CMAKE_FIND_LIBRARY_SUFFIXES})
else()
set(CMAKE_FIND_LIBRARY_SUFFIXES .a )
endif()
endif()
-if (WIN32)
+if(CMAKE_SYSTEM_NAME STREQUAL "QNX" AND
+ CMAKE_SYSTEM_VERSION VERSION_GREATER_EQUAL "7.0" AND CMAKE_SYSTEM_VERSION VERSION_LESS "7.1" AND
+ OpenSSL_FIND_VERSION VERSION_GREATER_EQUAL "1.1" AND OpenSSL_FIND_VERSION VERSION_LESS "1.2")
+ # QNX 7.0.x provides openssl 1.0.2 and 1.1.1 in parallel:
+ # * openssl 1.0.2: libcrypto.so.2 and libssl.so.2, headers under usr/include/openssl
+ # * openssl 1.1.1: libcrypto1_1.so.2.1 and libssl1_1.so.2.1, header under usr/include/openssl1_1
+ # See http://www.qnx.com/developers/articles/rel_6726_0.html
+ set(_OPENSSL_FIND_PATH_SUFFIX "openssl1_1")
+ set(_OPENSSL_NAME_POSTFIX "1_1")
+else()
+ set(_OPENSSL_FIND_PATH_SUFFIX "include")
+endif()
+
+if (OPENSSL_ROOT_DIR OR NOT "$ENV{OPENSSL_ROOT_DIR}" STREQUAL "")
+ 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
- set(_OPENSSL_MSI_INSTALL_GUID "")
- set(_OPENSSL_ROOT_HINTS
- ${OPENSSL_ROOT_DIR}
- ENV OPENSSL_ROOT_DIR
- )
+ set(_OPENSSL_MSI_INSTALL_GUIDS "")
if("${CMAKE_SIZEOF_VOID_P}" STREQUAL "8")
- set(_arch "Win64")
+ if(CMAKE_SYSTEM_PROCESSOR MATCHES "ARM64")
+ set(_arch "Win64-ARM")
+ set(_OPENSSL_MSI_INSTALL_GUIDS "99C28AFA-6419-40B1-B88D-32B810BB4234")
+ else()
+ set(_arch "Win64")
+ set(_OPENSSL_MSI_INSTALL_GUIDS "117551DB-A110-4BBD-BB05-CFE0BCB3ED31" "50A9FBE2-0F8C-4D5D-97A4-A63A71C4EA1E")
+ endif()
file(TO_CMAKE_PATH "$ENV{PROGRAMFILES}" _programfiles)
- list(APPEND _OPENSSL_ROOT_HINTS "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\OpenSSL (64-bit)_is1;Inno Setup: App Path]")
- set(_OPENSSL_MSI_INSTALL_GUID "117551DB-A110-4BBD-BB05-CFE0BCB3ED31")
+ set(_OPENSSL_ROOT_HINTS HINTS "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\OpenSSL (64-bit)_is1;Inno Setup: App Path]")
else()
set(_arch "Win32")
set(_progfiles_x86 "ProgramFiles(x86)")
@@ -171,18 +257,22 @@ if (WIN32)
# under windows 32 bit machine
file(TO_CMAKE_PATH "$ENV{ProgramFiles}" _programfiles)
endif()
- list(APPEND _OPENSSL_ROOT_HINTS "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\OpenSSL (32-bit)_is1;Inno Setup: App Path]")
- set(_OPENSSL_MSI_INSTALL_GUID "A1EEC576-43B9-4E75-9E02-03DA542D2A38")
+ set(_OPENSSL_ROOT_HINTS HINTS "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\OpenSSL (32-bit)_is1;Inno Setup: App Path]")
+ set(_OPENSSL_MSI_INSTALL_GUIDS "A1EEC576-43B9-4E75-9E02-03DA542D2A38" "31D2408A-9CAE-4988-9EC3-F40FDE7D6AE5")
endif()
# If OpenSSL was installed using .msi package instead of .exe, Inno Setup registry values are not written to Uninstall\OpenSSL
# but because it is only a shim around Inno Setup it does write the location of uninstaller which we can use to determine path
- get_filename_component(_OPENSSL_MSI_INSTALL_PATH "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Inno Setup MSIs\\${_OPENSSL_MSI_INSTALL_GUID};]" DIRECTORY)
- if(NOT _OPENSSL_MSI_INSTALL_PATH STREQUAL "/")
- list(INSERT _OPENSSL_ROOT_HINTS 2 ${_OPENSSL_MSI_INSTALL_PATH})
- endif()
+ foreach(_OPENSSL_MSI_INSTALL_GUID IN LISTS _OPENSSL_MSI_INSTALL_GUIDS)
+ get_filename_component(_OPENSSL_MSI_INSTALL_PATH "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Inno Setup MSIs\\${_OPENSSL_MSI_INSTALL_GUID};]" DIRECTORY)
+ if(NOT _OPENSSL_MSI_INSTALL_PATH STREQUAL "/")
+ list(INSERT _OPENSSL_ROOT_HINTS 2 ${_OPENSSL_MSI_INSTALL_PATH})
+ endif()
+ endforeach()
+ unset(_OPENSSL_MSI_INSTALL_GUIDS)
set(_OPENSSL_ROOT_PATHS
+ PATHS
"${_programfiles}/OpenSSL"
"${_programfiles}/OpenSSL-${_arch}"
"C:/OpenSSL/"
@@ -190,11 +280,6 @@ if (WIN32)
)
unset(_programfiles)
unset(_arch)
-else ()
- set(_OPENSSL_ROOT_HINTS
- ${OPENSSL_ROOT_DIR}
- ENV OPENSSL_ROOT_DIR
- )
endif ()
if(HOMEBREW_PREFIX)
@@ -204,8 +289,8 @@ if(HOMEBREW_PREFIX)
endif()
set(_OPENSSL_ROOT_HINTS_AND_PATHS
- HINTS ${_OPENSSL_ROOT_HINTS}
- PATHS ${_OPENSSL_ROOT_PATHS}
+ ${_OPENSSL_ROOT_HINTS}
+ ${_OPENSSL_ROOT_PATHS}
)
find_path(OPENSSL_INCLUDE_DIR
@@ -216,7 +301,7 @@ find_path(OPENSSL_INCLUDE_DIR
${_OPENSSL_INCLUDEDIR}
${_OPENSSL_INCLUDE_DIRS}
PATH_SUFFIXES
- include
+ ${_OPENSSL_FIND_PATH_SUFFIX}
)
if(WIN32 AND NOT CYGWIN)
@@ -245,9 +330,15 @@ if(WIN32 AND NOT CYGWIN)
# Since OpenSSL 1.1, lib names are like libcrypto32MTd.lib and libssl32MTd.lib
if( "${CMAKE_SIZEOF_VOID_P}" STREQUAL "8" )
- set(_OPENSSL_MSVC_ARCH_SUFFIX "64")
+ set(_OPENSSL_MSVC_ARCH_SUFFIX "64")
+ if(CMAKE_SYSTEM_PROCESSOR MATCHES "ARM64")
+ set(_OPENSSL_MSVC_ARCH_DIRECTORY "arm64")
+ else()
+ set(_OPENSSL_MSVC_ARCH_DIRECTORY "x64")
+ endif()
else()
- set(_OPENSSL_MSVC_ARCH_SUFFIX "32")
+ set(_OPENSSL_MSVC_ARCH_SUFFIX "32")
+ set(_OPENSSL_MSVC_ARCH_DIRECTORY "x86")
endif()
if(OPENSSL_USE_STATIC_LIBS)
@@ -272,29 +363,40 @@ if(WIN32 AND NOT CYGWIN)
find_library(LIB_EAY_DEBUG
NAMES
- # When OpenSSL is built with default options, the static library name is suffixed with "_static".
- # Looking the "libcrypto_static.lib" with a higher priority than "libcrypto.lib" which is the
- # import library of "libcrypto.dll".
- libcrypto${_OPENSSL_STATIC_SUFFIX}${_OPENSSL_MSVC_ARCH_SUFFIX}${_OPENSSL_MSVC_RT_MODE}d
- libcrypto${_OPENSSL_STATIC_SUFFIX}${_OPENSSL_MSVC_RT_MODE}d
- libcrypto${_OPENSSL_STATIC_SUFFIX}d
- libeay32${_OPENSSL_STATIC_SUFFIX}${_OPENSSL_MSVC_RT_MODE}d
- libeay32${_OPENSSL_STATIC_SUFFIX}d
- crypto${_OPENSSL_STATIC_SUFFIX}d
- # When OpenSSL is built with the "-static" option, only the static build is produced,
- # and it is not suffixed with "_static".
- libcrypto${_OPENSSL_MSVC_ARCH_SUFFIX}${_OPENSSL_MSVC_RT_MODE}d
- libcrypto${_OPENSSL_MSVC_RT_MODE}d
- libcryptod
- libeay32${_OPENSSL_MSVC_RT_MODE}d
- libeay32d
- cryptod
+ libcrypto${_OPENSSL_STATIC_SUFFIX}
NAMES_PER_DIR
${_OPENSSL_ROOT_HINTS_AND_PATHS}
PATH_SUFFIXES
- ${_OPENSSL_PATH_SUFFIXES}
+ "lib/VC/${_OPENSSL_MSVC_ARCH_DIRECTORY}/${_OPENSSL_MSVC_RT_MODE}d"
)
+ if(NOT LIB_EAY_DEBUG)
+ find_library(LIB_EAY_DEBUG
+ NAMES
+ # When OpenSSL is built with default options, the static library name is suffixed with "_static".
+ # Looking the "libcrypto_static.lib" with a higher priority than "libcrypto.lib" which is the
+ # import library of "libcrypto.dll".
+ libcrypto${_OPENSSL_STATIC_SUFFIX}${_OPENSSL_MSVC_ARCH_SUFFIX}${_OPENSSL_MSVC_RT_MODE}d
+ libcrypto${_OPENSSL_STATIC_SUFFIX}${_OPENSSL_MSVC_RT_MODE}d
+ libcrypto${_OPENSSL_STATIC_SUFFIX}d
+ libeay32${_OPENSSL_STATIC_SUFFIX}${_OPENSSL_MSVC_RT_MODE}d
+ libeay32${_OPENSSL_STATIC_SUFFIX}d
+ crypto${_OPENSSL_STATIC_SUFFIX}d
+ # When OpenSSL is built with the "-static" option, only the static build is produced,
+ # and it is not suffixed with "_static".
+ libcrypto${_OPENSSL_MSVC_ARCH_SUFFIX}${_OPENSSL_MSVC_RT_MODE}d
+ libcrypto${_OPENSSL_MSVC_RT_MODE}d
+ libcryptod
+ libeay32${_OPENSSL_MSVC_RT_MODE}d
+ libeay32d
+ cryptod
+ NAMES_PER_DIR
+ ${_OPENSSL_ROOT_HINTS_AND_PATHS}
+ PATH_SUFFIXES
+ ${_OPENSSL_PATH_SUFFIXES}
+ )
+ endif()
+
find_library(LIB_EAY_RELEASE
NAMES
# When OpenSSL is built with default options, the static library name is suffixed with "_static".
@@ -318,33 +420,45 @@ if(WIN32 AND NOT CYGWIN)
${_OPENSSL_ROOT_HINTS_AND_PATHS}
PATH_SUFFIXES
${_OPENSSL_PATH_SUFFIXES}
+ "lib/VC/${_OPENSSL_MSVC_ARCH_DIRECTORY}/${_OPENSSL_MSVC_RT_MODE}"
)
find_library(SSL_EAY_DEBUG
NAMES
- # When OpenSSL is built with default options, the static library name is suffixed with "_static".
- # Looking the "libssl_static.lib" with a higher priority than "libssl.lib" which is the
- # import library of "libssl.dll".
- libssl${_OPENSSL_STATIC_SUFFIX}${_OPENSSL_MSVC_ARCH_SUFFIX}${_OPENSSL_MSVC_RT_MODE}d
- libssl${_OPENSSL_STATIC_SUFFIX}${_OPENSSL_MSVC_RT_MODE}d
- libssl${_OPENSSL_STATIC_SUFFIX}d
- ssleay32${_OPENSSL_STATIC_SUFFIX}${_OPENSSL_MSVC_RT_MODE}d
- ssleay32${_OPENSSL_STATIC_SUFFIX}d
- ssl${_OPENSSL_STATIC_SUFFIX}d
- # When OpenSSL is built with the "-static" option, only the static build is produced,
- # and it is not suffixed with "_static".
- libssl${_OPENSSL_MSVC_ARCH_SUFFIX}${_OPENSSL_MSVC_RT_MODE}d
- libssl${_OPENSSL_MSVC_RT_MODE}d
- libssld
- ssleay32${_OPENSSL_MSVC_RT_MODE}d
- ssleay32d
- ssld
+ libssl${_OPENSSL_STATIC_SUFFIX}
NAMES_PER_DIR
${_OPENSSL_ROOT_HINTS_AND_PATHS}
PATH_SUFFIXES
- ${_OPENSSL_PATH_SUFFIXES}
+ "lib/VC/${_OPENSSL_MSVC_ARCH_DIRECTORY}/${_OPENSSL_MSVC_RT_MODE}d"
)
+ if(NOT SSL_EAY_DEBUG)
+ find_library(SSL_EAY_DEBUG
+ NAMES
+ # When OpenSSL is built with default options, the static library name is suffixed with "_static".
+ # Looking the "libssl_static.lib" with a higher priority than "libssl.lib" which is the
+ # import library of "libssl.dll".
+ libssl${_OPENSSL_STATIC_SUFFIX}${_OPENSSL_MSVC_ARCH_SUFFIX}${_OPENSSL_MSVC_RT_MODE}d
+ libssl${_OPENSSL_STATIC_SUFFIX}${_OPENSSL_MSVC_RT_MODE}d
+ libssl${_OPENSSL_STATIC_SUFFIX}d
+ ssleay32${_OPENSSL_STATIC_SUFFIX}${_OPENSSL_MSVC_RT_MODE}d
+ ssleay32${_OPENSSL_STATIC_SUFFIX}d
+ ssl${_OPENSSL_STATIC_SUFFIX}d
+ # When OpenSSL is built with the "-static" option, only the static build is produced,
+ # and it is not suffixed with "_static".
+ libssl${_OPENSSL_MSVC_ARCH_SUFFIX}${_OPENSSL_MSVC_RT_MODE}d
+ libssl${_OPENSSL_MSVC_RT_MODE}d
+ libssld
+ ssleay32${_OPENSSL_MSVC_RT_MODE}d
+ ssleay32d
+ ssld
+ NAMES_PER_DIR
+ ${_OPENSSL_ROOT_HINTS_AND_PATHS}
+ PATH_SUFFIXES
+ ${_OPENSSL_PATH_SUFFIXES}
+ )
+ endif()
+
find_library(SSL_EAY_RELEASE
NAMES
# When OpenSSL is built with default options, the static library name is suffixed with "_static".
@@ -368,6 +482,7 @@ if(WIN32 AND NOT CYGWIN)
${_OPENSSL_ROOT_HINTS_AND_PATHS}
PATH_SUFFIXES
${_OPENSSL_PATH_SUFFIXES}
+ "lib/VC/${_OPENSSL_MSVC_ARCH_DIRECTORY}/${_OPENSSL_MSVC_RT_MODE}"
)
set(LIB_EAY_LIBRARY_DEBUG "${LIB_EAY_DEBUG}")
@@ -395,6 +510,7 @@ if(WIN32 AND NOT CYGWIN)
PATH_SUFFIXES
"lib/MinGW"
"lib"
+ "lib64"
)
find_library(SSL_EAY
@@ -405,6 +521,7 @@ if(WIN32 AND NOT CYGWIN)
PATH_SUFFIXES
"lib/MinGW"
"lib"
+ "lib64"
)
mark_as_advanced(SSL_EAY LIB_EAY)
@@ -446,7 +563,7 @@ else()
find_library(OPENSSL_SSL_LIBRARY
NAMES
- ssl
+ ssl${_OPENSSL_NAME_POSTFIX}
ssleay32
ssleay32MD
NAMES_PER_DIR
@@ -460,7 +577,7 @@ else()
find_library(OPENSSL_CRYPTO_LIBRARY
NAMES
- crypto
+ crypto${_OPENSSL_NAME_POSTFIX}
NAMES_PER_DIR
${_OPENSSL_ROOT_HINTS_AND_PATHS}
HINTS
@@ -696,3 +813,10 @@ endif()
if(OPENSSL_USE_STATIC_LIBS)
set(CMAKE_FIND_LIBRARY_SUFFIXES ${_openssl_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES})
endif()
+
+unset(_OPENSSL_FIND_PATH_SUFFIX)
+unset(_OPENSSL_NAME_POSTFIX)
+unset(_OpenSSL_extra_static_deps)
+unset(_OpenSSL_has_dependency_dl)
+unset(_OpenSSL_has_dependency_threads)
+unset(_OpenSSL_has_dependency_zlib)