[Cmake-commits] CMake branch, next, updated. v2.8.4-1287-ga72ffcf

Brad King brad.king at kitware.com
Thu Mar 31 09:16:20 EDT 2011


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CMake".

The branch, next has been updated
       via  a72ffcf60207f060c2767a835d46d3b59a86da6e (commit)
       via  b4c3ff7ce89aea7e0e5d9329a78e45e70e2036ee (commit)
      from  4ba83621aa54978af8ece85d0390905939c181a1 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=a72ffcf60207f060c2767a835d46d3b59a86da6e
commit a72ffcf60207f060c2767a835d46d3b59a86da6e
Merge: 4ba8362 b4c3ff7
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Thu Mar 31 09:16:14 2011 -0400
Commit:     CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Thu Mar 31 09:16:14 2011 -0400

    Merge topic 'fixbug_0010316' into next
    
    b4c3ff7 This commit fixes bug #0010316


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=b4c3ff7ce89aea7e0e5d9329a78e45e70e2036ee
commit b4c3ff7ce89aea7e0e5d9329a78e45e70e2036ee
Author:     Mathieu Malaterre <mathieu.malaterre at gmail.com>
AuthorDate: Mon Mar 28 17:52:44 2011 +0200
Commit:     Mathieu Malaterre <mathieu.malaterre at gmail.com>
CommitDate: Mon Mar 28 17:53:46 2011 +0200

    This commit fixes bug #0010316

diff --git a/Modules/FindOpenSSL.cmake b/Modules/FindOpenSSL.cmake
index f41a66b..c3003c9 100644
--- a/Modules/FindOpenSSL.cmake
+++ b/Modules/FindOpenSSL.cmake
@@ -7,11 +7,12 @@
 #  OPENSSL_FOUND - system has the OpenSSL library
 #  OPENSSL_INCLUDE_DIR - the OpenSSL include directory
 #  OPENSSL_LIBRARIES - The libraries needed to use OpenSSL
+#  OPENSSL_VERSION - This is set to $major.$minor.$revision (eg. 0.9.8)
 
 #=============================================================================
 # Copyright 2006-2009 Kitware, Inc.
 # Copyright 2006 Alexander Neundorf <neundorf at kde.org>
-# Copyright 2009-2010 Mathieu Malaterre <mathieu.malaterre at gmail.com>
+# Copyright 2009-2011 Mathieu Malaterre <mathieu.malaterre at gmail.com>
 #
 # Distributed under the OSI-approved BSD License (the "License");
 # see accompanying file Copyright.txt for details.
@@ -35,6 +36,7 @@ FIND_PATH(OPENSSL_ROOT_DIR
   NAMES include/openssl/ssl.h
   HINTS ${_OPENSSL_ROOT_HINTS}
   PATHS ${_OPENSSL_ROOT_PATHS}
+  ENV OPENSSL_ROOT_DIR
 )
 MARK_AS_ADVANCED(OPENSSL_ROOT_DIR)
 
@@ -61,16 +63,20 @@ IF(WIN32 AND NOT CYGWIN)
     # libeay32MD.lib is identical to ../libeay32.lib, and
     # ssleay32MD.lib is identical to ../ssleay32.lib
     FIND_LIBRARY(LIB_EAY_DEBUG NAMES libeay32MDd libeay32
-      PATHS ${OPENSSL_ROOT_DIR}/lib/VC
+      PATHS ${OPENSSL_ROOT_DIR}
+      PATH_SUFFIXES "lib" "VC" "lib/VC"
       )
     FIND_LIBRARY(LIB_EAY_RELEASE NAMES libeay32MD libeay32
-      PATHS ${OPENSSL_ROOT_DIR}/lib/VC
+      PATHS ${OPENSSL_ROOT_DIR}
+      PATH_SUFFIXES "lib" "VC" "lib/VC"
       )
     FIND_LIBRARY(SSL_EAY_DEBUG NAMES ssleay32MDd ssleay32 ssl
-      PATHS ${OPENSSL_ROOT_DIR}/lib/VC
+      PATHS ${OPENSSL_ROOT_DIR}
+      PATH_SUFFIXES "lib" "VC" "lib/VC"
       )
     FIND_LIBRARY(SSL_EAY_RELEASE NAMES ssleay32MD ssleay32 ssl
-      PATHS ${OPENSSL_ROOT_DIR}/lib/VC
+      PATHS ${OPENSSL_ROOT_DIR}
+      PATH_SUFFIXES "lib" "VC" "lib/VC"
       )
     if( CMAKE_CONFIGURATION_TYPES OR CMAKE_BUILD_TYPE )
       set( OPENSSL_LIBRARIES
@@ -85,10 +91,12 @@ IF(WIN32 AND NOT CYGWIN)
   ELSEIF(MINGW)
     # same player, for MingW
     FIND_LIBRARY(LIB_EAY NAMES libeay32
-      PATHS ${OPENSSL_ROOT_DIR}/lib/MinGW
+      PATHS ${OPENSSL_ROOT_DIR}
+      PATH_SUFFIXES "lib" "VC" "lib/MinGW"
       )
     FIND_LIBRARY(SSL_EAY NAMES ssleay32
-      PATHS ${OPENSSL_ROOT_DIR}/lib/MinGW
+      PATHS ${OPENSSL_ROOT_DIR}
+      PATH_SUFFIXES "lib" "VC" "lib/MinGW"
       )
     MARK_AS_ADVANCED(SSL_EAY LIB_EAY)
     set( OPENSSL_LIBRARIES ${SSL_EAY} ${LIB_EAY} )
@@ -114,10 +122,35 @@ ELSE(WIN32 AND NOT CYGWIN)
 ENDIF(WIN32 AND NOT CYGWIN)
 
 include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-find_package_handle_standard_args(OpenSSL DEFAULT_MSG
-  OPENSSL_LIBRARIES 
+find_package_handle_standard_args(OpenSSL "Could NOT find OpenSSL, try to set the path to OpenSSL root folder in the system variable OPENSSL_ROOT_DIR"
+  OPENSSL_LIBRARIES
   OPENSSL_INCLUDE_DIR
 )
 
-MARK_AS_ADVANCED(OPENSSL_INCLUDE_DIR OPENSSL_LIBRARIES)
+IF(OPENSSL_FOUND)
+  file(STRINGS "${OPENSSL_INCLUDE_DIR}/openssl/opensslv.h" openssl_version_str REGEX "^#define[\t ]+OPENSSL_VERSION_NUMBER[\t ]+0x[0-9][0-9][0-9][0-9][0-9][0-9].*")
+
+  string(REGEX REPLACE "^.*OPENSSL_VERSION_NUMBER[\t ]+0x([0-9]).*$" "\\1" OPENSSL_VERSION_MAJOR "${openssl_version_str}")
+  string(REGEX REPLACE "^.*OPENSSL_VERSION_NUMBER[\t ]+0x[0-9]([0-9][0-9]).*$" "\\1" OPENSSL_VERSION_MINOR  "${openssl_version_str}")
+  string(REGEX REPLACE "^.*OPENSSL_VERSION_NUMBER[\t ]+0x[0-9][0-9][0-9]([0-9][0-9]).*$" "\\1" OPENSSL_VERSION_PATCH "${openssl_version_str}")
+
+  string(REGEX REPLACE "^0" "" OPENSSL_VERSION_MINOR "${OPENSSL_VERSION_MINOR}")
+  string(REGEX REPLACE "^0" "" OPENSSL_VERSION_PATCH "${OPENSSL_VERSION_PATCH}")
+
+  set(OPENSSL_VERSION "${OPENSSL_VERSION_MAJOR}.${OPENSSL_VERSION_MINOR}.${OPENSSL_VERSION_PATCH}")
 
+  if(OpenSSL_FIND_VERSION)
+    if(OpenSSL_FIND_VERSION_EXACT AND NOT ${OPENSSL_VERSION} VERSION_EQUAL ${OpenSSL_FIND_VERSION})
+      message(FATAL_ERROR "OpenSSL version found (${OPENSSL_VERSION}) does not match the required one (${OpenSSL_FIND_VERSION}), aborting.")
+    elseif(${OPENSSL_VERSION} VERSION_LESS ${OpenSSL_FIND_VERSION})
+      if(OpenSSL_FIND_REQUIRED)
+        message(FATAL_ERROR "OpenSSL version found (${OPENSSL_VERSION}) is less then the minimum required (${OpenSSL_FIND_VERSION}), aborting.")
+      else(OpenSSL_FIND_REQUIRED)
+        message("OpenSSL version found (${OPENSSL_VERSION}) is less then the minimum required (${OpenSSL_FIND_VERSION}), continue without OpenSSL support.")
+        set(OPENSSL_FOUND FALSE)
+      endif(OpenSSL_FIND_REQUIRED)
+    endif()
+  endif(OpenSSL_FIND_VERSION)
+ENDIF (OPENSSL_FOUND)
+
+MARK_AS_ADVANCED(OPENSSL_INCLUDE_DIR OPENSSL_LIBRARIES)

-----------------------------------------------------------------------

Summary of changes:
 Modules/FindOpenSSL.cmake |   53 ++++++++++++++++++++++++++++++++++++--------
 1 files changed, 43 insertions(+), 10 deletions(-)


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list