aboutsummaryrefslogtreecommitdiff
path: root/cmake/Modules/FindOpenSSL.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'cmake/Modules/FindOpenSSL.cmake')
-rw-r--r--cmake/Modules/FindOpenSSL.cmake153
1 files changed, 153 insertions, 0 deletions
diff --git a/cmake/Modules/FindOpenSSL.cmake b/cmake/Modules/FindOpenSSL.cmake
new file mode 100644
index 0000000..85c7473
--- /dev/null
+++ b/cmake/Modules/FindOpenSSL.cmake
@@ -0,0 +1,153 @@
+# - Try to find OpenSSL
+# Once done this will define
+#
+# OPENSSL_FOUND - system has OpenSSL
+# OPENSSL_INCLUDE_DIRS - the OpenSSL include directory
+# OPENSSL_LIBRARIES - Link these to use OpenSSL
+# OPENSSL_DEFINITIONS - Compiler switches required for using OpenSSL
+#
+# Copyright (c) 2009 Andreas Schneider <mail@cynapses.org>
+#
+# Redistribution and use is allowed according to the terms of the New
+# BSD license.
+# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
+#
+
+
+if (OPENSSL_LIBRARIES AND OPENSSL_INCLUDE_DIRS)
+ # in cache already
+ set(OPENSSL_FOUND TRUE)
+else (OPENSSL_LIBRARIES AND OPENSSL_INCLUDE_DIRS)
+ # use pkg-config to get the directories and then use these values
+ # in the FIND_PATH() and FIND_LIBRARY() calls
+ if (${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} EQUAL 4)
+ include(UsePkgConfig)
+ pkgconfig(openssl _OPENSSL_INCLUDEDIR _OPENSSL_LIBDIR _OPENSSL_LDFLAGS _OPENSSL_CFLAGS)
+ else (${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} EQUAL 4)
+ find_package(PkgConfig)
+ if (PKG_CONFIG_FOUND)
+ pkg_check_modules(_OPENSSL openssl)
+ endif (PKG_CONFIG_FOUND)
+ endif (${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} EQUAL 4)
+
+ find_path(OPENSSL_INCLUDE_DIR
+ NAMES
+ openssl/ssl.h
+ PATHS
+ ${_OPENSSL_INCLUDEDIR}
+ /usr/include
+ /usr/local/include
+ /opt/local/include
+ /sw/include
+ )
+ mark_as_advanced(OPENSSL_INCLUDE_DIR)
+
+ find_library(SSL_LIBRARY
+ NAMES
+ ssl
+ PATHS
+ ${_OPENSSL_LIBDIR}
+ /usr/lib
+ /usr/local/lib
+ /opt/local/lib
+ /sw/lib
+ )
+ mark_as_advanced(SSL_LIBRARY)
+
+ find_library(SSLEAY32_LIBRARY
+ NAMES
+ ssleay32
+ PATHS
+ ${_OPENSSL_LIBDIR}
+ /usr/lib
+ /usr/local/lib
+ /opt/local/lib
+ /sw/lib
+ )
+ mark_as_advanced(SSLEAY32_LIBRARY)
+
+ find_library(SSLEAY32MD_LIBRARY
+ NAMES
+ ssleay32MD
+ PATHS
+ ${_OPENSSL_LIBDIR}
+ /usr/lib
+ /usr/local/lib
+ /opt/local/lib
+ /sw/lib
+ )
+ mark_as_advanced(SSLEAY32MD_LIBRARY)
+
+ find_library(CRYPTO_LIBRARY
+ NAMES
+ crypto
+ PATHS
+ ${_OPENSSL_LIBDIR}
+ /usr/lib
+ /usr/local/lib
+ /opt/local/lib
+ /sw/lib
+ )
+ mark_as_advanced(CRYPTO_LIBRARY)
+
+ if (SSL_LIBRARY)
+ set(SSL_FOUND TRUE)
+ endif (SSL_LIBRARY)
+ if (SSLEAY32_LIBRARY)
+ set(SSLEAY32_FOUND TRUE)
+ endif (SSLEAY32_LIBRARY)
+ if (SSLEAY32MD_LIBRARY)
+ set(SSLEAY32MD_FOUND TRUE)
+ endif (SSLEAY32MD_LIBRARY)
+ if (CRYPTO_LIBRARY)
+ set(CRYPTO_FOUND TRUE)
+ endif (CRYPTO_LIBRARY)
+
+ set(OPENSSL_INCLUDE_DIRS
+ ${OPENSSL_INCLUDE_DIR}
+ )
+
+ if (SSL_FOUND)
+ set(OPENSSL_LIBRARIES
+ ${OPENSSL_LIBRARIES}
+ ${SSL_LIBRARY}
+ )
+ endif (SSL_FOUND)
+ if (SSLEAY32_FOUND)
+ set(OPENSSL_LIBRARIES
+ ${OPENSSL_LIBRARIES}
+ ${SSLEAY32_LIBRARY}
+ )
+ endif (SSLEAY32_FOUND)
+ if (SSLEAY32MD_FOUND)
+ set(OPENSSL_LIBRARIES
+ ${OPENSSL_LIBRARIES}
+ ${SSLEAY32MD_LIBRARY}
+ )
+ endif (SSLEAY32MD_FOUND)
+ if (CRYPTO_FOUND)
+ set(OPENSSL_LIBRARIES
+ ${OPENSSL_LIBRARIES}
+ ${CRYPTO_LIBRARY}
+ )
+ endif (CRYPTO_FOUND)
+
+ if (OPENSSL_INCLUDE_DIRS AND OPENSSL_LIBRARIES)
+ set(OPENSSL_FOUND TRUE)
+ endif (OPENSSL_INCLUDE_DIRS AND OPENSSL_LIBRARIES)
+
+ if (OPENSSL_FOUND)
+ if (NOT OpenSSL_FIND_QUIETLY)
+ message(STATUS "Found OpenSSL: ${OPENSSL_LIBRARIES}")
+ endif (NOT OpenSSL_FIND_QUIETLY)
+ else (OPENSSL_FOUND)
+ if (OpenSSL_FIND_REQUIRED)
+ message(FATAL_ERROR "Could not find OpenSSL")
+ endif (OpenSSL_FIND_REQUIRED)
+ endif (OPENSSL_FOUND)
+
+ # show the OPENSSL_INCLUDE_DIRS and OPENSSL_LIBRARIES variables only in the advanced view
+ mark_as_advanced(OPENSSL_INCLUDE_DIRS OPENSSL_LIBRARIES)
+
+endif (OPENSSL_LIBRARIES AND OPENSSL_INCLUDE_DIRS)
+