diff options
author | Alan Antonuk <alan.antonuk@gmail.com> | 2017-10-07 21:37:05 -0700 |
---|---|---|
committer | Alan Antonuk <alan.antonuk@gmail.com> | 2017-12-10 22:38:25 -0800 |
commit | cdfce5a328a59bc9bb51428be0585715546c4634 (patch) | |
tree | 390f7c7e36fbdfae53f4349bb647c64aa783aae8 /CMakeLists.txt | |
parent | 9cb126c64759fd1294df5cfd4e16dcf938d40743 (diff) | |
download | rabbitmq-c-cdfce5a328a59bc9bb51428be0585715546c4634.tar.gz |
ssl: Make thread-safety unconditional in rabbitmq-c
Remove the option to disable thread-safety in the parts of rabbitmq-c
that use OpenSSL, making it a requirement for thread-safety to use SSL
with rabbitmq-c.
The existing #ifdef's are a source of additional complexity and the
non-thread-safe version is not well tested.
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r-- | CMakeLists.txt | 28 |
1 files changed, 14 insertions, 14 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 5aea03a..fc07473 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 2.6) +cmake_minimum_required(VERSION 2.8.12) project(rabbitmq-c "C") # Enable MACOSX_RPATH by default. See: cmake --help-policy CMP0042 @@ -116,6 +116,17 @@ if (CLOCK_GETTIME_NEEDS_LIBRT OR POSIX_SPAWNP_NEEDS_LIBRT) set(LIBRT rt) endif() +option(ENABLE_SSL_SUPPORT "Enable SSL support" ON) + +if (ENABLE_SSL_SUPPORT) + find_package(OpenSSL 0.9.8 REQUIRED) + + cmake_push_check_state() + set(THREADS_PREFER_PTHREAD_FLAG ON) + find_package(Threads REQUIRED) + cmake_pop_check_state() +endif() + if (MSVC) set(CMAKE_C_FLAGS "/W4 /nologo ${CMAKE_C_FLAGS}") elseif (CMAKE_C_COMPILER_ID MATCHES ".*Clang") @@ -246,7 +257,6 @@ if (POPT_FOUND AND XmlTo_FOUND) set(DO_DOCS ON) endif() -find_package(Threads) option(BUILD_SHARED_LIBS "Build rabbitmq-c as a shared library" ON) option(BUILD_STATIC_LIBS "Build rabbitmq-c as a static library" ON) @@ -256,12 +266,6 @@ option(BUILD_TOOLS "Build Tools (requires POPT Library)" ${POPT_FOUND}) option(BUILD_TOOLS_DOCS "Build man pages for Tools (requires xmlto)" ${DO_DOCS}) option(BUILD_TESTS "Build tests (run tests with make test)" ON) option(BUILD_API_DOCS "Build Doxygen API docs" ${DOXYGEN_FOUND}) -option(ENABLE_SSL_SUPPORT "Enable SSL support" ON) -option(ENABLE_THREAD_SAFETY "Enable thread safety when using OpenSSL" ${Threads_FOUND}) - -if (ENABLE_SSL_SUPPORT) - find_package(OpenSSL 0.9.8 REQUIRED) -endif() if (NOT BUILD_SHARED_LIBS AND NOT BUILD_STATIC_LIBS) message(FATAL_ERROR "One or both of BUILD_SHARED_LIBS or BUILD_STATIC_LIBS must be set to ON to build") @@ -309,12 +313,8 @@ endif () set(libs_private ${SOCKET_LIBRARIES} ${LIBRT}) if (ENABLE_SSL_SUPPORT) - if (SSL_ENGINE STREQUAL "OpenSSL") - set(requires_private "openssl") - endif() - if (ENABLE_THREAD_SAFETY) - set(libs_private ${libs_private} ${CMAKE_THREAD_LIBS_INIT}) - endif() + set(requires_private "openssl") + set(libs_private ${libs_private} ${CMAKE_THREAD_LIBS_INIT}) endif() set(prefix ${CMAKE_INSTALL_PREFIX}) |