View Issue Details [ Jump to Notes ] | [ Print ] | ||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | ||||
0008971 | CMake | Modules | public | 2009-05-06 05:04 | 2009-10-30 11:35 | ||||
Reporter | Mathieu Malaterre | ||||||||
Assigned To | Mathieu Malaterre | ||||||||
Priority | normal | Severity | feature | Reproducibility | have not tried | ||||
Status | closed | Resolution | fixed | ||||||
Platform | OS | OS Version | |||||||
Product Version | |||||||||
Target Version | Fixed in Version | ||||||||
Summary | 0008971: FindOpenSSL improvement | ||||||||
Description | I believe the FindOpenSSL.cmake script is deficient on Win32 system. It is missing explicit linking to libeay (only ssleay is being linked). Eg. http://gdcm.svn.sf.net/viewvc/gdcm/trunk/CMake/FindOpenSSL2.cmake?view=markup [^] which is compatible with the official binaries OpenSSL from: http://www.slproweb.com/products/Win32OpenSSL.html [^] Other people have done: FindOpenSSLInternal.cmake http://www.koders.com/noncode/fid7F170F9D9B4EA3A3E6B08A69DD1607D866CB74BF.aspx [^] which add also support for mingw compiler. | ||||||||
Tags | No tags attached. | ||||||||
Attached Files | |||||||||
Relationships | |
Relationships |
Notes | |
(0018297) Mathieu Malaterre (developer) 2009-10-30 11:32 |
Here is my proposed changes: $ cvs di FindOpenSSL.cmake Index: FindOpenSSL.cmake =================================================================== RCS file: /cvsroot/CMake/CMake/Modules/FindOpenSSL.cmake,v retrieving revision 1.4 diff -u -r1.4 FindOpenSSL.cmake --- FindOpenSSL.cmake 28 Sep 2009 15:45:38 -0000 1.4 +++ FindOpenSSL.cmake 30 Oct 2009 15:31:58 -0000 @@ -8,6 +8,7 @@ #============================================================================= # Copyright 2006-2009 Kitware, Inc. # Copyright 2006 Alexander Neundorf <neundorf@kde.org> +# Copyright 2009 Mathieu Malaterre <mathieu.malaterre@gmail.com> # # Distributed under the OSI-approved BSD License (the "License"); # see accompanying file Copyright.txt for details. @@ -27,19 +28,32 @@ SET(LIB_FOUND 1) ENDIF(SSL_EAY_DEBUG AND SSL_EAY_RELEASE) -FIND_PATH(OPENSSL_INCLUDE_DIR openssl/ssl.h ) +# http://www.slproweb.com/products/Win32OpenSSL.html [^] +FIND_PATH(OPENSSL_INCLUDE_DIR openssl/ssl.h + PATHS "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\OpenSSL (32-bit)_is1;Inno Setup: App Path]/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 # use also ssl and ssleay32 in debug as fallback for openssl < 0.9.8b - FIND_LIBRARY(SSL_EAY_DEBUG NAMES ssleay32MDd ssl ssleay32) - FIND_LIBRARY(SSL_EAY_RELEASE NAMES ssleay32MD ssl ssleay32) + FIND_LIBRARY(LIB_EAY_DEBUG NAMES libeay32MDd libeay32 + PATHS "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\OpenSSL (32-bit)_is1;Inno Setup: App Path]/lib/VC" + ) + FIND_LIBRARY(LIB_EAY_RELEASE NAMES libeay32MD libeay32 + PATHS "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\OpenSSL (32-bit)_is1;Inno Setup: App Path]/lib/VC" + ) + FIND_LIBRARY(SSL_EAY_DEBUG NAMES ssleay32MDd ssl ssleay32 + PATHS "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\OpenSSL (32-bit)_is1;Inno Setup: App Path]/lib/VC" + ) + FIND_LIBRARY(SSL_EAY_RELEASE NAMES ssleay32MD ssl ssleay32 + PATHS "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\OpenSSL (32-bit)_is1;Inno Setup: App Path]/lib/VC" + ) IF(MSVC_IDE) IF(SSL_EAY_DEBUG AND SSL_EAY_RELEASE) - SET(OPENSSL_LIBRARIES optimized ${SSL_EAY_RELEASE} debug ${SSL_EAY_DEBUG}) + SET(OPENSSL_LIBRARIES optimized ${SSL_EAY_RELEASE} ${LIB_EAY_RELEASE} debug ${SSL_EAY_DEBUG} ${LIB_EAY_DEBUG}) ELSE(SSL_EAY_DEBUG AND SSL_EAY_RELEASE) SET(OPENSSL_LIBRARIES NOTFOUND) MESSAGE(STATUS "Could not find the debug and release version of openssl") @@ -47,15 +61,20 @@ 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}) + SET(OPENSSL_LIBRARIES ${SSL_EAY_DEBUG} ${LIB_EAY_DEBUG}) ELSE(CMAKE_BUILD_TYPE_TOLOWER MATCHES debug) - SET(OPENSSL_LIBRARIES ${SSL_EAY_RELEASE}) + SET(OPENSSL_LIBRARIES ${SSL_EAY_RELEASE} ${LIB_EAY_RELEASE}) ENDIF(CMAKE_BUILD_TYPE_TOLOWER MATCHES debug) ENDIF(MSVC_IDE) MARK_AS_ADVANCED(SSL_EAY_DEBUG SSL_EAY_RELEASE) + MARK_AS_ADVANCED(LIB_EAY_DEBUG LIB_EAY_RELEASE) ELSE(WIN32 AND MSVC) - FIND_LIBRARY(OPENSSL_LIBRARIES NAMES ssl ssleay32 ssleay32MD ) + FIND_LIBRARY(OPENSSL_SSL_LIBRARIES NAMES ssl ssleay32 ssleay32MD) + FIND_LIBRARY(OPENSSL_CRYPTO_LIBRARIES NAMES crypto) + MARK_AS_ADVANCED(OPENSSL_CRYPTO_LIBRARIES OPENSSL_SSL_LIBRARIES) + + SET(OPENSSL_LIBRARIES ${OPENSSL_SSL_LIBRARIES} ${OPENSSL_CRYPTO_LIBRARIES}) ENDIF(WIN32 AND MSVC) |
(0018298) Mathieu Malaterre (developer) 2009-10-30 11:35 |
$ cvs ci -m"FIX: BUG: 0008971 FindOpenSSL improvement. Teaches cmake to find openssl on win32. openssl comes with the crypto libs which are the important part of the openssl project." FindOpenSSL.cmake Committer: Mathieu Malaterre <mathieu.malaterre@kitware.com> /cvsroot/CMake/CMake/Modules/FindOpenSSL.cmake,v <-- FindOpenSSL.cmake new revision: 1.5; previous revision: 1.4 |
Notes |
Issue History | |||
Date Modified | Username | Field | Change |
2009-05-06 05:04 | Mathieu Malaterre | New Issue | |
2009-09-01 05:00 | Mathieu Malaterre | Status | new => assigned |
2009-09-01 05:00 | Mathieu Malaterre | Assigned To | => Alex Neundorf |
2009-10-30 11:27 | Mathieu Malaterre | Assigned To | Alex Neundorf => Mathieu Malaterre |
2009-10-30 11:32 | Mathieu Malaterre | Note Added: 0018297 | |
2009-10-30 11:35 | Mathieu Malaterre | Note Added: 0018298 | |
2009-10-30 11:35 | Mathieu Malaterre | Status | assigned => closed |
2009-10-30 11:35 | Mathieu Malaterre | Resolution | open => fixed |
Issue History |
Copyright © 2000 - 2018 MantisBT Team |