Commit 356ae629 authored by Vicențiu Ciorbaru's avatar Vicențiu Ciorbaru

Crash during configure without development SSL libraries installed

Incorrect usage of OPENSSL_INCLUDE_DIR variable within cmake caused the
configure step to fail. The variable was used before being checked if
the include directory actually existed.
parent 56da6252
...@@ -156,6 +156,10 @@ MACRO (MYSQL_CHECK_SSL) ...@@ -156,6 +156,10 @@ MACRO (MYSQL_CHECK_SSL)
LIST(REVERSE CMAKE_FIND_LIBRARY_SUFFIXES) LIST(REVERSE CMAKE_FIND_LIBRARY_SUFFIXES)
ENDIF() ENDIF()
IF(OPENSSL_INCLUDE_DIR AND
OPENSSL_LIBRARIES AND
CRYPTO_LIBRARY
)
# Verify version number. Version information looks like: # Verify version number. Version information looks like:
# #define OPENSSL_VERSION_NUMBER 0x1000103fL # #define OPENSSL_VERSION_NUMBER 0x1000103fL
# Encoded as MNNFFPPS: major minor fix patch status # Encoded as MNNFFPPS: major minor fix patch status
...@@ -167,26 +171,22 @@ MACRO (MYSQL_CHECK_SSL) ...@@ -167,26 +171,22 @@ MACRO (MYSQL_CHECK_SSL)
"^.*OPENSSL_VERSION_NUMBER[\t ]+0x([0-9]).*$" "\\1" "^.*OPENSSL_VERSION_NUMBER[\t ]+0x([0-9]).*$" "\\1"
OPENSSL_MAJOR_VERSION "${OPENSSL_VERSION_NUMBER}" OPENSSL_MAJOR_VERSION "${OPENSSL_VERSION_NUMBER}"
) )
INCLUDE(CheckSymbolExists)
IF(OPENSSL_INCLUDE_DIR AND SET(CMAKE_REQUIRED_INCLUDES ${OPENSSL_INCLUDE_DIR})
OPENSSL_LIBRARIES AND CHECK_SYMBOL_EXISTS(SHA512_DIGEST_LENGTH "openssl/sha.h"
CRYPTO_LIBRARY HAVE_SHA512_DIGEST_LENGTH)
)
SET(OPENSSL_FOUND TRUE) SET(OPENSSL_FOUND TRUE)
ELSE() ELSE()
SET(OPENSSL_FOUND FALSE) SET(OPENSSL_FOUND FALSE)
ENDIF() ENDIF()
IF(OPENSSL_FOUND AND HAVE_SHA512_DIGEST_LENGTH)
MESSAGE(STATUS "OPENSSL_INCLUDE_DIR = ${OPENSSL_INCLUDE_DIR}") MESSAGE(STATUS "OPENSSL_INCLUDE_DIR = ${OPENSSL_INCLUDE_DIR}")
MESSAGE(STATUS "OPENSSL_LIBRARIES = ${OPENSSL_LIBRARIES}") MESSAGE(STATUS "OPENSSL_LIBRARIES = ${OPENSSL_LIBRARIES}")
MESSAGE(STATUS "CRYPTO_LIBRARY = ${CRYPTO_LIBRARY}") MESSAGE(STATUS "CRYPTO_LIBRARY = ${CRYPTO_LIBRARY}")
MESSAGE(STATUS "OPENSSL_MAJOR_VERSION = ${OPENSSL_MAJOR_VERSION}") MESSAGE(STATUS "OPENSSL_MAJOR_VERSION = ${OPENSSL_MAJOR_VERSION}")
INCLUDE(CheckSymbolExists)
SET(CMAKE_REQUIRED_INCLUDES ${OPENSSL_INCLUDE_DIR})
CHECK_SYMBOL_EXISTS(SHA512_DIGEST_LENGTH "openssl/sha.h"
HAVE_SHA512_DIGEST_LENGTH)
IF(OPENSSL_FOUND AND HAVE_SHA512_DIGEST_LENGTH)
SET(SSL_SOURCES "") SET(SSL_SOURCES "")
SET(SSL_LIBRARIES ${OPENSSL_LIBRARIES} ${CRYPTO_LIBRARY}) SET(SSL_LIBRARIES ${OPENSSL_LIBRARIES} ${CRYPTO_LIBRARY})
IF(CMAKE_SYSTEM_NAME MATCHES "SunOS") IF(CMAKE_SYSTEM_NAME MATCHES "SunOS")
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment