diff options
author | Thijs Wenker <me@thoys.nl> | 2015-09-01 12:56:36 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2015-09-02 17:47:57 (GMT) |
commit | 369a8cde378ab97826cf4a6d9ef2053bd70ddc0f (patch) | |
tree | 00082fbe6df350d14781d6753530ffcc9c12155d /Modules/FindOpenSSL.cmake | |
parent | 72c11e590273d100c49f472afc3a7569b233ff00 (diff) | |
download | CMake-369a8cde378ab97826cf4a6d9ef2053bd70ddc0f.zip CMake-369a8cde378ab97826cf4a6d9ef2053bd70ddc0f.tar.gz CMake-369a8cde378ab97826cf4a6d9ef2053bd70ddc0f.tar.bz2 |
FindOpenSSL: Optionally search only for static libraries
Add an OPENSSL_USE_STATIC_LIBS option to enable it. Adjust
CMAKE_FIND_LIBRARY_SUFFIXES to only look for .a and .lib files. Also
adjust the search paths on Windows for installer locations of static
libraries.
Diffstat (limited to 'Modules/FindOpenSSL.cmake')
-rw-r--r-- | Modules/FindOpenSSL.cmake | 35 |
1 files changed, 30 insertions, 5 deletions
diff --git a/Modules/FindOpenSSL.cmake b/Modules/FindOpenSSL.cmake index 434ef58..d75e8ab 100644 --- a/Modules/FindOpenSSL.cmake +++ b/Modules/FindOpenSSL.cmake @@ -36,6 +36,7 @@ # ^^^^^ # # Set ``OPENSSL_ROOT_DIR`` to the root directory of an OpenSSL installation. +# Set ``OPENSSL_USE_STATIC_LIBS`` to ``TRUE`` to look for static libraries. #============================================================================= # Copyright 2006-2009 Kitware, Inc. @@ -57,6 +58,16 @@ if (UNIX) pkg_check_modules(_OPENSSL QUIET openssl) 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) + set(CMAKE_FIND_LIBRARY_SUFFIXES .lib .a ${CMAKE_FIND_LIBRARY_SUFFIXES}) + else() + set(CMAKE_FIND_LIBRARY_SUFFIXES .a ) + endif() +endif() + if (WIN32) # http://www.slproweb.com/products/Win32OpenSSL.html set(_OPENSSL_ROOT_HINTS @@ -113,12 +124,21 @@ if(WIN32 AND NOT CYGWIN) # We are using the libraries located in the VC subdir instead of the parent directory eventhough : # libeay32MD.lib is identical to ../libeay32.lib, and # ssleay32MD.lib is identical to ../ssleay32.lib + # enable OPENSSL_USE_STATIC_LIBS to use the static libs located in lib/VC/static - set(_OPENSSL_PATH_SUFFIXES - "lib" - "VC" - "lib/VC" - ) + if(OPENSSL_USE_STATIC_LIBS) + set(_OPENSSL_PATH_SUFFIXES + "lib" + "VC/static" + "lib/VC/static" + ) + else() + set(_OPENSSL_PATH_SUFFIXES + "lib" + "VC" + "lib/VC" + ) + endif () find_library(LIB_EAY_DEBUG NAMES @@ -414,3 +434,8 @@ if(OPENSSL_FOUND) endif() endif() endif() + +# Restore the original find library ordering +if(OPENSSL_USE_STATIC_LIBS) + set(CMAKE_FIND_LIBRARY_SUFFIXES ${_openssl_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES}) +endif() |