summaryrefslogtreecommitdiff
path: root/Modules/FindOpenSSL.cmake
diff options
context:
space:
mode:
authorSylvain Corlay <sylvain.corlay@gmail.com>2020-08-12 18:34:37 +0200
committerSylvain Corlay <sylvain.corlay@gmail.com>2020-08-13 17:59:13 +0200
commit1925f9d8eb9a4d3c0fd72c6a747edd42b76fc31f (patch)
treebb6748d30aa6ed9bb3393c80510e6186a301654a /Modules/FindOpenSSL.cmake
parent0cd3b5d0ca8d541fc3769f467db71a07a95be7f6 (diff)
downloadcmake-1925f9d8eb9a4d3c0fd72c6a747edd42b76fc31f.tar.gz
FindOpenSSL: Add support for finding static libraries
Fixes: #20903
Diffstat (limited to 'Modules/FindOpenSSL.cmake')
-rw-r--r--Modules/FindOpenSSL.cmake50
1 files changed, 50 insertions, 0 deletions
diff --git a/Modules/FindOpenSSL.cmake b/Modules/FindOpenSSL.cmake
index 9196851c6a..91a65fddaa 100644
--- a/Modules/FindOpenSSL.cmake
+++ b/Modules/FindOpenSSL.cmake
@@ -193,12 +193,18 @@ if(WIN32 AND NOT CYGWIN)
endif()
if(OPENSSL_USE_STATIC_LIBS)
+ set(_OPENSSL_STATIC_SUFFIX
+ "_static"
+ )
set(_OPENSSL_PATH_SUFFIXES
"lib/VC/static"
"VC/static"
"lib"
)
else()
+ set(_OPENSSL_STATIC_SUFFIX
+ ""
+ )
set(_OPENSSL_PATH_SUFFIXES
"lib/VC"
"VC"
@@ -208,6 +214,17 @@ 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
@@ -222,6 +239,17 @@ if(WIN32 AND NOT CYGWIN)
find_library(LIB_EAY_RELEASE
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}
+ libcrypto${_OPENSSL_STATIC_SUFFIX}${_OPENSSL_MSVC_RT_MODE}
+ libcrypto${_OPENSSL_STATIC_SUFFIX}
+ libeay32${_OPENSSL_STATIC_SUFFIX}${_OPENSSL_MSVC_RT_MODE}
+ libeay32${_OPENSSL_STATIC_SUFFIX}
+ crypto${_OPENSSL_STATIC_SUFFIX}
+ # 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}
libcrypto${_OPENSSL_MSVC_RT_MODE}
libcrypto
@@ -236,6 +264,17 @@ if(WIN32 AND NOT CYGWIN)
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
@@ -250,6 +289,17 @@ if(WIN32 AND NOT CYGWIN)
find_library(SSL_EAY_RELEASE
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}
+ libssl${_OPENSSL_STATIC_SUFFIX}${_OPENSSL_MSVC_RT_MODE}
+ libssl${_OPENSSL_STATIC_SUFFIX}
+ ssleay32${_OPENSSL_STATIC_SUFFIX}${_OPENSSL_MSVC_RT_MODE}
+ ssleay32${_OPENSSL_STATIC_SUFFIX}
+ ssl${_OPENSSL_STATIC_SUFFIX}
+ # 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}
libssl${_OPENSSL_MSVC_RT_MODE}
libssl