From c61ff987f324e2a5c13768dc29713405d3c5f620 Mon Sep 17 00:00:00 2001 From: Christian Ehrlicher Date: Thu, 15 Feb 2007 17:48:51 +0000 Subject: add OPENSSL_EAY_LIBRARIES because this lib is sometimes needed on win32 svn path=/trunk/KDE/kdelibs/; revision=633896 --- modules/FindOpenSSL.cmake | 46 ++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 40 insertions(+), 6 deletions(-) (limited to 'modules/FindOpenSSL.cmake') diff --git a/modules/FindOpenSSL.cmake b/modules/FindOpenSSL.cmake index 0172df83..a1f71cdc 100644 --- a/modules/FindOpenSSL.cmake +++ b/modules/FindOpenSSL.cmake @@ -4,12 +4,37 @@ # OPENSSL_FOUND - system has the OpenSSL library # OPENSSL_INCLUDE_DIR - the OpenSSL include directory # OPENSSL_LIBRARIES - The libraries needed to use OpenSSL - +# OPENSSL_EAY_LIBRARIES - The additional libraries needed to use OpenSSL on windows # Copyright (c) 2006, Alexander Neundorf, # # Redistribution and use is allowed according to the terms of the BSD license. # For details see the accompanying COPYING-CMAKE-SCRIPTS file. +# on win32 we additional need to link to libeay32.lib +MACRO(OPENSSL_ADD_LIB_EAY_LIBS) + # /MD and /MDd are the standard values - if somone wants to use + # others, the libnames have to change here too + # use also eay and libeay32 in debug as fallback for openssl < 0.9.8b + + FIND_LIBRARY(LIB_EAY_DEBUG NAMES libeay32MDd eay libeay libeay32) + FIND_LIBRARY(LIB_EAY_RELEASE NAMES libeay32MD eay libeay libeay32) + + IF(MSVC_IDE) + IF(LIB_EAY_DEBUG AND LIB_EAY_RELEASE) + SET(OPENSSL_EAY_LIBRARIES optimized ${LIB_EAY_RELEASE} debug ${LIB_EAY_DEBUG}) + ELSE(LIB_EAY_DEBUG AND LIB_EAY_RELEASE) + MESSAGE(FATAL_ERROR "Could not find the debug and release version of openssl (libeay)") + ENDIF(LIB_EAY_DEBUG AND LIB_EAY_RELEASE) + ELSE(MSVC_IDE) + STRING(TOLOWER ${CMAKE_BUILD_TYPE} CMAKE_BUILD_TYPE_TOLOWER) + IF(CMAKE_BUILD_TYPE_TOLOWER MATCHES debug) + SET(OPENSSL_EAY_LIBRARIES ${LIB_EAY_DEBUG}) + ELSE(CMAKE_BUILD_TYPE_TOLOWER MATCHES debug) + SET(OPENSSL_EAY_LIBRARIES ${LIB_EAY_RELEASE}) + ENDIF(CMAKE_BUILD_TYPE_TOLOWER MATCHES debug) + ENDIF(MSVC_IDE) + MARK_AS_ADVANCED(LIB_EAY_DEBUG LIB_EAY_RELEASE) +ENDMACRO(OPENSSL_ADD_LIB_EAY_LIBS) IF(OPENSSL_LIBRARIES) SET(OpenSSL_FIND_QUIETLY TRUE) @@ -50,11 +75,20 @@ ELSE(WIN32 AND MSVC) ENDIF(WIN32 AND MSVC) -IF(OPENSSL_INCLUDE_DIR AND OPENSSL_LIBRARIES) - SET(OPENSSL_FOUND TRUE) -ELSE(OPENSSL_INCLUDE_DIR AND OPENSSL_LIBRARIES) - SET(OPENSSL_FOUND FALSE) -ENDIF (OPENSSL_INCLUDE_DIR AND OPENSSL_LIBRARIES) +IF(WIN32) + OPENSSL_ADD_LIB_EAY_LIBS() + IF(OPENSSL_INCLUDE_DIR AND OPENSSL_LIBRARIES AND OPENSSL_EAY_LIBRARIES) + SET(OPENSSL_FOUND TRUE) + ELSE(OPENSSL_INCLUDE_DIR AND OPENSSL_LIBRARIES AND OPENSSL_EAY_LIBRARIES) + SET(OPENSSL_FOUND FALSE) + ENDIF (OPENSSL_INCLUDE_DIR AND OPENSSL_LIBRARIES AND OPENSSL_EAY_LIBRARIES) +ELSE(WIN32) + IF(OPENSSL_INCLUDE_DIR AND OPENSSL_LIBRARIES) + SET(OPENSSL_FOUND TRUE) + ELSE(OPENSSL_INCLUDE_DIR AND OPENSSL_LIBRARIES) + SET(OPENSSL_FOUND FALSE) + ENDIF (OPENSSL_INCLUDE_DIR AND OPENSSL_LIBRARIES) +ENDIF(WIN32) IF (OPENSSL_FOUND) IF (NOT OpenSSL_FIND_QUIETLY) -- cgit v1.2.1