aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Ehrlicher <ch.ehrlicher@gmx.de>2006-07-15 09:22:46 +0000
committerChristian Ehrlicher <ch.ehrlicher@gmx.de>2006-07-15 09:22:46 +0000
commitde179a0b561c77a2fe8cdfab39b724b7c0ce63f4 (patch)
treea3ef51f065cf9bb590adf935ec8586758035286f
parent8a82ae8023ada7ea6e1f7cf272c380c926bb7d49 (diff)
downloadextra-cmake-modules-de179a0b561c77a2fe8cdfab39b724b7c0ce63f4.tar.gz
extra-cmake-modules-de179a0b561c77a2fe8cdfab39b724b7c0ce63f4.tar.bz2
fix for OpenSSL 0.9.8b with msvc
hope it will work with < 0.9.8b too svn path=/trunk/KDE/kdelibs/; revision=562569
-rw-r--r--modules/FindOpenSSL.cmake110
1 files changed, 68 insertions, 42 deletions
diff --git a/modules/FindOpenSSL.cmake b/modules/FindOpenSSL.cmake
index ed2f4045..5973543a 100644
--- a/modules/FindOpenSSL.cmake
+++ b/modules/FindOpenSSL.cmake
@@ -1,42 +1,68 @@
-# - Try to find the OpenSSL encryption library
-# Once done this will define
-#
-# OPENSSL_FOUND - system has the OpenSSL library
-# OPENSSL_INCLUDE_DIR - the OpenSSL include directory
-# OPENSSL_LIBRARIES - The libraries needed to use OpenSSL
-
-if (OPENSSL_INCLUDE_DIR AND OPENSSL_LIBRARIES)
-
- # in cache already
- SET(OPENSSL_FOUND TRUE)
-
-else (OPENSSL_INCLUDE_DIR AND OPENSSL_LIBRARIES)
-
- FIND_PATH(OPENSSL_INCLUDE_DIR openssl/ssl.h
- /usr/include/
- /usr/local/include/
- )
-
- FIND_LIBRARY(OPENSSL_LIBRARIES NAMES ssl ssleay32
- PATHS
- /usr/lib
- /usr/local/lib
- )
-
- if (OPENSSL_INCLUDE_DIR AND OPENSSL_LIBRARIES)
- set(OPENSSL_FOUND TRUE)
- endif (OPENSSL_INCLUDE_DIR 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)
-
- MARK_AS_ADVANCED(OPENSSL_INCLUDE_DIR OPENSSL_LIBRARIES)
-
-endif (OPENSSL_INCLUDE_DIR AND OPENSSL_LIBRARIES)
+# - Try to find the OpenSSL encryption library
+# Once done this will define
+#
+# OPENSSL_FOUND - system has the OpenSSL library
+# OPENSSL_INCLUDE_DIR - the OpenSSL include directory
+# OPENSSL_LIBRARIES - The libraries needed to use OpenSSL
+
+if (OPENSSL_INCLUDE_DIR AND OPENSSL_LIBRARIES)
+
+ # in cache already
+ SET(OPENSSL_FOUND TRUE)
+
+else (OPENSSL_INCLUDE_DIR AND OPENSSL_LIBRARIES)
+
+ FIND_PATH(OPENSSL_INCLUDE_DIR openssl/ssl.h
+ /usr/include/
+ /usr/local/include/
+ )
+
+ if(WIN32 AND MSVC)
+ # /MD and /MDd are the standard values - if somone wants to use
+ # others, the libnames have to change here too
+
+ FIND_LIBRARY(SSL_EAY_DEBUG NAMES ssleay32MDd )
+ FIND_LIBRARY(SSL_EAY_RELEASE NAMES ssleay32MD ssl ssleay32)
+
+ IF(MSVC_IDE)
+ IF(SSL_EAY_DEBUG AND SSL_EAY_RELEASE)
+ SET(OPENSSL_LIBRARIES optimized ${SSL_EAY_RELEASE} debug ${SSL_EAY_DEBUG})
+ ELSE(SSL_EAY_DEBUG AND SSL_EAY_RELEASE)
+ MESSAGE(FATAL_ERROR "Could not find the debug and release version of openssl")
+ ENDIF(SSL_EAY_DEBUG AND SSL_EAY_RELEASE)
+ ELSE(MSVC_IDE)
+ STRING(TOLOWER ${CMAKE_BUILD_TYPE} CMAKE_BUILD_TYPE_TOLOWER)
+ IF(CMAKE_BUILD_TYPE_TOLOWER MATCHES debug)
+ SET(OPENSSL_LIBRARIES ${SSL_EAY_DEBUG})
+ ELSE(CMAKE_BUILD_TYPE_TOLOWER MATCHES debug)
+ SET(OPENSSL_LIBRARIES ${SSL_EAY_RELEASE})
+ ENDIF(CMAKE_BUILD_TYPE_TOLOWER MATCHES debug)
+ ENDIF(MSVC_IDE)
+ MARK_AS_ADVANCED(SSL_EAY_DEBUG SSL_EAY_RELEASE)
+ else(WIN32 AND MSVC)
+
+ FIND_LIBRARY(OPENSSL_LIBRARIES NAMES ssl ssleay32 ssleay32MD
+ PATHS
+ /usr/lib
+ /usr/local/lib
+ )
+
+ endif(WIN32 AND MSVC)
+
+ if (OPENSSL_INCLUDE_DIR AND OPENSSL_LIBRARIES)
+ set(OPENSSL_FOUND TRUE)
+ endif (OPENSSL_INCLUDE_DIR 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)
+
+ MARK_AS_ADVANCED(OPENSSL_INCLUDE_DIR OPENSSL_LIBRARIES)
+
+endif (OPENSSL_INCLUDE_DIR AND OPENSSL_LIBRARIES)