From 9a184e0bb149631ee5e080aecb609eef2e7869f1 Mon Sep 17 00:00:00 2001 From: Benoit Neil Date: Thu, 2 Apr 2009 23:12:22 +0000 Subject: [PATCH] Added basic OpenSSL support in CMake scripts (Thanks to Bill Hoffman) --- CMake/FindOpenSSL.cmake | 19 +++++++++++++++++++ CMakeLists.txt | 15 +++++++++++++-- lib/CMakeLists.txt | 4 ++++ 3 files changed, 36 insertions(+), 2 deletions(-) create mode 100644 CMake/FindOpenSSL.cmake diff --git a/CMake/FindOpenSSL.cmake b/CMake/FindOpenSSL.cmake new file mode 100644 index 000000000..6eea6ff24 --- /dev/null +++ b/CMake/FindOpenSSL.cmake @@ -0,0 +1,19 @@ +# Extension of the standard FindOpenSSL.cmake +# Adds OPENSSL_INCLUDE_DIRS and libeay32 +INCLUDE("${CMAKE_ROOT}/Modules/FindOpenSSL.cmake") + +# Bill Hoffman told that libeay32 is necessary for him: +FIND_LIBRARY(SSL_LIBEAY NAMES libeay32) + +IF(OPENSSL_FOUND) + IF(SSL_LIBEAY) + LIST(APPEND OPENSSL_LIBRARIES ${SSL_LIBEAY}) + ELSE() + SET(OPENSSL_FOUND FALSE) + ENDIF() +ENDIF() + + +IF(OPENSSL_FOUND) + SET(OPENSSL_INCLUDE_DIRS ${OPENSSL_INCLUDE_DIR}) +ENDIF() diff --git a/CMakeLists.txt b/CMakeLists.txt index 158215d2a..a3d2db21d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -187,8 +187,19 @@ CHECK_LIBRARY_EXISTS_CONCAT("winmm" getch HAVE_LIBWINMM) OPTION(CMAKE_USE_OPENSSL "Use OpenSSL code. Experimental" ON) MARK_AS_ADVANCED(CMAKE_USE_OPENSSL) IF(CMAKE_USE_OPENSSL) - CHECK_LIBRARY_EXISTS_CONCAT("crypto" CRYPTO_lock HAVE_LIBCRYPTO) - CHECK_LIBRARY_EXISTS_CONCAT("ssl" SSL_connect HAVE_LIBSSL) + IF(WIN32) + FIND_PACKAGE(OpenSSL) + IF(OPENSSL_FOUND) + SET(USE_SSLEAY TRUE) + SET(USE_OPENSSL TRUE) + LIST(APPEND CURL_LIBS ${OPENSSL_LIBRARIES} ) + ENDIF() + #FIND_LIBRARY(LIBEAY NAMES libeay32) + #LIST(APPEND CURL_LIBS ${LIBEAY} ) + ELSE(WIN32) + CHECK_LIBRARY_EXISTS_CONCAT("crypto" CRYPTO_lock HAVE_LIBCRYPTO) + CHECK_LIBRARY_EXISTS_CONCAT("ssl" SSL_connect HAVE_LIBSSL) + ENDIF(WIN32) ENDIF(CMAKE_USE_OPENSSL) # Check for idn diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt index 655c2ffb2..a1dbfbcf8 100644 --- a/lib/CMakeLists.txt +++ b/lib/CMakeLists.txt @@ -110,6 +110,10 @@ IF(CURL_MALLOC_DEBUG) ) ENDIF(CURL_MALLOC_DEBUG) +IF(CMAKE_USE_OPENSSL AND OPENSSL_FOUND) + INCLUDE_DIRECTORIES(${OPENSSL_INCLUDE_DIR}) +ENDIF() + IF(CURL_ZLIB AND ZLIB_FOUND) INCLUDE_DIRECTORIES(${ZLIB_INCLUDE_DIR}) ENDIF()