Unverified Commit d86049a4 authored by Dominik Charousset's avatar Dominik Charousset Committed by GitHub

Merge pull request #617

Add OpenSSL header/library version mismatch check
parents 051e46ee cc4ab38f
cmake_minimum_required(VERSION 2.8.4)
project(caf C CXX)
include(CheckCSourceCompiles)
include(CheckCSourceRuns)
# be nice to vim users
set(CMAKE_EXPORT_COMPILE_COMMANDS 1)
......@@ -531,8 +534,32 @@ add_optional_caf_lib(io)
if(NOT CAF_NO_OPENSSL)
find_package(OpenSSL)
if(OPENSSL_FOUND)
include_directories(BEFORE ${OPENSSL_INCLUDE_DIR})
add_optional_caf_lib(openssl)
# Check OpenSSL version >= 1.0.1
if (OPENSSL_VERSION VERSION_LESS 1.0.1)
message(STATUS
"Disable OpenSSL. Required >= 1.0.1 due to TLSv2 support.")
set(CAF_NO_OPENSSL yes)
else()
# Check if openssl headers and library versions match
set(CMAKE_REQUIRED_LIBRARIES ${OPENSSL_LIBRARIES})
set(CMAKE_REQUIRED_INCLUDES ${OPENSSL_INCLUDE_DIR})
check_c_source_runs("
#include <openssl/opensslv.h>
#include <openssl/crypto.h>
int main() {
if (SSLeay() == OPENSSL_VERSION_NUMBER) {
return 0;
}
return -1;
}
" OPENSSL_CORRECT_VERSION_NUMBER )
if (NOT OPENSSL_CORRECT_VERSION_NUMBER)
message(FATAL_ERROR
"OpenSSL library version does not match headers")
endif()
include_directories(BEFORE ${OPENSSL_INCLUDE_DIR})
add_optional_caf_lib(openssl)
endif()
else(OPENSSL_FOUND)
set(CAF_NO_OPENSSL yes)
endif(OPENSSL_FOUND)
......
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