summaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorAlan Antonuk <alan.antonuk@gmail.com>2017-10-07 21:37:05 -0700
committerAlan Antonuk <alan.antonuk@gmail.com>2017-12-10 22:38:25 -0800
commitcdfce5a328a59bc9bb51428be0585715546c4634 (patch)
tree390f7c7e36fbdfae53f4349bb647c64aa783aae8 /CMakeLists.txt
parent9cb126c64759fd1294df5cfd4e16dcf938d40743 (diff)
downloadrabbitmq-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.txt28
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})