]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
cmake: add FindOpenSSL.cmake
authorMatt Benjamin <mbenjamin@redhat.com>
Mon, 14 Mar 2016 21:37:51 +0000 (17:37 -0400)
committerMarcus Watts <mwatts@redhat.com>
Fri, 25 Mar 2016 10:18:56 +0000 (06:18 -0400)
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 <mbenjamin@redhat.com>
CMakeLists.txt
cmake/modules/FindOpenSSL.cmake [new file with mode: 0644]

index 2a079e3415f0b1ea6e13ae0f7c682022c40d48c1..0ae5530c1435acd524c7c2305a28ae00d6aa057a 100644 (file)
@@ -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 (file)
index 0000000..517e1f6
--- /dev/null
@@ -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
+)