FindOpenSSL: Add support for static MSVC runtime
Add an OPENSSL_MSVC_STATIC_RT option to switch from the default search for `/MD` libraries to look for `/MT` libraries instead.
This commit is contained in:
parent
f2791da132
commit
821e17785e
|
@ -0,0 +1,6 @@
|
||||||
|
FindOpenSSL-msvc-static-rt
|
||||||
|
--------------------------
|
||||||
|
|
||||||
|
* The :module:`FindOpenSSL` module gained a new
|
||||||
|
``OPENSSL_MSVC_STATIC_RT`` option to search for libraries using
|
||||||
|
the MSVC static runtime.
|
|
@ -37,6 +37,7 @@
|
||||||
#
|
#
|
||||||
# Set ``OPENSSL_ROOT_DIR`` to the root directory of an OpenSSL installation.
|
# Set ``OPENSSL_ROOT_DIR`` to the root directory of an OpenSSL installation.
|
||||||
# Set ``OPENSSL_USE_STATIC_LIBS`` to ``TRUE`` to look for static libraries.
|
# Set ``OPENSSL_USE_STATIC_LIBS`` to ``TRUE`` to look for static libraries.
|
||||||
|
# Set ``OPENSSL_MSVC_STATIC_RT`` set ``TRUE`` to choose the MT version of the lib.
|
||||||
|
|
||||||
#=============================================================================
|
#=============================================================================
|
||||||
# Copyright 2006-2009 Kitware, Inc.
|
# Copyright 2006-2009 Kitware, Inc.
|
||||||
|
@ -113,7 +114,7 @@ if(WIN32 AND NOT CYGWIN)
|
||||||
# /MD and /MDd are the standard values - if someone wants to use
|
# /MD and /MDd are the standard values - if someone wants to use
|
||||||
# others, the libnames have to change here too
|
# others, the libnames have to change here too
|
||||||
# use also ssl and ssleay32 in debug as fallback for openssl < 0.9.8b
|
# use also ssl and ssleay32 in debug as fallback for openssl < 0.9.8b
|
||||||
# TODO: handle /MT and static lib
|
# enable OPENSSL_MSVC_STATIC_RT to get the libs build /MT (Multithreaded no-DLL)
|
||||||
# In Visual C++ naming convention each of these four kinds of Windows libraries has it's standard suffix:
|
# In Visual C++ naming convention each of these four kinds of Windows libraries has it's standard suffix:
|
||||||
# * MD for dynamic-release
|
# * MD for dynamic-release
|
||||||
# * MDd for dynamic-debug
|
# * MDd for dynamic-debug
|
||||||
|
@ -126,6 +127,12 @@ if(WIN32 AND NOT CYGWIN)
|
||||||
# ssleay32MD.lib is identical to ../ssleay32.lib
|
# ssleay32MD.lib is identical to ../ssleay32.lib
|
||||||
# enable OPENSSL_USE_STATIC_LIBS to use the static libs located in lib/VC/static
|
# enable OPENSSL_USE_STATIC_LIBS to use the static libs located in lib/VC/static
|
||||||
|
|
||||||
|
if (OPENSSL_MSVC_STATIC_RT)
|
||||||
|
set(_OPENSSL_MSVC_RT_MODE "MT")
|
||||||
|
else ()
|
||||||
|
set(_OPENSSL_MSVC_RT_MODE "MD")
|
||||||
|
endif ()
|
||||||
|
|
||||||
if(OPENSSL_USE_STATIC_LIBS)
|
if(OPENSSL_USE_STATIC_LIBS)
|
||||||
set(_OPENSSL_PATH_SUFFIXES
|
set(_OPENSSL_PATH_SUFFIXES
|
||||||
"lib"
|
"lib"
|
||||||
|
@ -142,7 +149,7 @@ if(WIN32 AND NOT CYGWIN)
|
||||||
|
|
||||||
find_library(LIB_EAY_DEBUG
|
find_library(LIB_EAY_DEBUG
|
||||||
NAMES
|
NAMES
|
||||||
libeay32MDd
|
libeay32${_OPENSSL_MSVC_RT_MODE}d
|
||||||
libeay32d
|
libeay32d
|
||||||
${_OPENSSL_ROOT_HINTS_AND_PATHS}
|
${_OPENSSL_ROOT_HINTS_AND_PATHS}
|
||||||
PATH_SUFFIXES
|
PATH_SUFFIXES
|
||||||
|
@ -151,7 +158,7 @@ if(WIN32 AND NOT CYGWIN)
|
||||||
|
|
||||||
find_library(LIB_EAY_RELEASE
|
find_library(LIB_EAY_RELEASE
|
||||||
NAMES
|
NAMES
|
||||||
libeay32MD
|
libeay32${_OPENSSL_MSVC_RT_MODE}
|
||||||
libeay32
|
libeay32
|
||||||
${_OPENSSL_ROOT_HINTS_AND_PATHS}
|
${_OPENSSL_ROOT_HINTS_AND_PATHS}
|
||||||
PATH_SUFFIXES
|
PATH_SUFFIXES
|
||||||
|
@ -160,7 +167,7 @@ if(WIN32 AND NOT CYGWIN)
|
||||||
|
|
||||||
find_library(SSL_EAY_DEBUG
|
find_library(SSL_EAY_DEBUG
|
||||||
NAMES
|
NAMES
|
||||||
ssleay32MDd
|
ssleay32${_OPENSSL_MSVC_RT_MODE}d
|
||||||
ssleay32d
|
ssleay32d
|
||||||
${_OPENSSL_ROOT_HINTS_AND_PATHS}
|
${_OPENSSL_ROOT_HINTS_AND_PATHS}
|
||||||
PATH_SUFFIXES
|
PATH_SUFFIXES
|
||||||
|
@ -169,7 +176,7 @@ if(WIN32 AND NOT CYGWIN)
|
||||||
|
|
||||||
find_library(SSL_EAY_RELEASE
|
find_library(SSL_EAY_RELEASE
|
||||||
NAMES
|
NAMES
|
||||||
ssleay32MD
|
ssleay32${_OPENSSL_MSVC_RT_MODE}
|
||||||
ssleay32
|
ssleay32
|
||||||
ssl
|
ssl
|
||||||
${_OPENSSL_ROOT_HINTS_AND_PATHS}
|
${_OPENSSL_ROOT_HINTS_AND_PATHS}
|
||||||
|
|
Loading…
Reference in New Issue