From: Matt Benjamin Date: Mon, 14 Mar 2016 21:37:51 +0000 (-0400) Subject: cmake: add FindOpenSSL.cmake X-Git-Tag: v10.1.1~84^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=8e87ce74e7e13f72fad8e049f1f33788cdf7ed09;p=ceph.git cmake: add FindOpenSSL.cmake Use find_package to enforce the dependency up front (we should be using this pattern throughout top-level CMakeLists.txt). Signed-off-by: Matt Benjamin --- diff --git a/CMakeLists.txt b/CMakeLists.txt index 2a079e3415f..0ae5530c143 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -98,7 +98,6 @@ CHECK_INCLUDE_FILES("fcgimisc.h" HAVE_FASTCGI_MISC_H) CHECK_INCLUDE_FILES("fcgio.h" HAVE_FASTCGIO_H) CHECK_INCLUDE_FILES("fcgios.h" FASTCGI_FASTCGIOS_DIR) CHECK_INCLUDE_FILES("fcgi_stdio.h" HAVE_FASTCGI_STDIO_H) -CHECK_INCLUDE_FILES("openssl/ssl.h" HAVE_SSL_H) CHECK_INCLUDE_FILES("keyutils.h" HAVE_KEYUTILS_H) CHECK_INCLUDE_FILES("execinfo.h" HAVE_EXECINFO_H) @@ -143,6 +142,13 @@ set(HAVE_OPENLDAP ${OPENLDAP_FOUND}) message(STATUS "${OPENLDAP_LIBS}") endif(${WITH_OPENLDAP}) +option(WITH_OPENSSL "OPENSSL is here" ON) +if(${WITH_OPENSSL}) +find_package(OpenSSL REQUIRED) +set(HAVE_OPENSSL ${OPENSSL_FOUND}) +message(STATUS "${OPENSSL_LIBS}") +endif(${WITH_OPENSSL}) + option(WITH_FUSE "Fuse is here" ON) if(${WITH_FUSE}) find_package(fuse) diff --git a/cmake/modules/FindOpenSSL.cmake b/cmake/modules/FindOpenSSL.cmake new file mode 100644 index 00000000000..517e1f6244c --- /dev/null +++ b/cmake/modules/FindOpenSSL.cmake @@ -0,0 +1,37 @@ +# - Find OpenSSL Header and Libraries +# +# OPENSSL_PREFIX - where to find ssl.h and libraries +# OPENSSL_FOUND - True if found. + +set(OPENSSL_LIB_DIR "${OPENSSL_PREFIX}/lib") + +find_path(OPENSSL_INCLUDE_DIR ssl/ssl.h NO_DEFAULT_PATH PATHS + /usr/include + /opt/local/include + /usr/local/include + "${OPENSSL_PREFIX}/include" + ) + +find_library(LIBSSL NAMES ssl) + +if (OPENSSL_INCLUDE_DIR AND LIBSSL) + set(OPENSSL_FOUND TRUE) +else (OPENSSL_INCLUDE_DIR AND LIBSSL) + set(OPENSSL_FOUND FALSE) +endif (OPENSSL_INCLUDE_DIR AND LIBSSL) + +if (OPENSSL_FOUND) + message(STATUS "Found ldap: ${OPENSSL_INCLUDE_DIR}") +else (OPENSSL_FOUND) + if (NOT OPENSSL_INCLUDE_DIR) + message(FATAL_ERROR "Missing required ssl/ssl.h (openssl-devel)") + else (NOT OPENSSL_INCLUDE_DIR) + message (FATAL_ERROR "Missing required OpenSSL libraries") + endif (NOT OPENSSL_INCLUDE_DIR) +endif (OPENSSL_FOUND) + +set(OPENSSL_LIBS ${LIBSSL}) + +mark_as_advanced( + OPENSSL_INCLUDE_DIR OPENSSL_LIB_DIR OPENSSL_LIBRARIES +)