From a9906a1a99ba07171366ea480c6e2fe80dda7ecb Mon Sep 17 00:00:00 2001 From: Alan Antonuk Date: Tue, 1 May 2012 13:26:39 -0400 Subject: Adding OpenSSL support to CMake build system --- CMakeLists.txt | 8 ++++++++ examples/CMakeLists.txt | 10 ++++++++++ librabbitmq/CMakeLists.txt | 4 ++++ 3 files changed, 22 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 7601431..45bde6d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -65,6 +65,14 @@ set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_SOURCE_DIR}/cmake) find_package(POPT) +option(ENABLE_SSL_SUPPORT "Enable support for connecting to a broker using SSL/TLS" OFF) + +if (ENABLE_SSL_SUPPORT) + find_package(OpenSSL REQUIRED) + include_directories(${OPENSSL_INCLUDE_DIR}) + add_definitions(-DWITH_OPENSSL) +endif (ENABLE_SSL_SUPPORT) + add_subdirectory(librabbitmq) add_subdirectory(examples) diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt index d5ea525..0f0d04f 100644 --- a/examples/CMakeLists.txt +++ b/examples/CMakeLists.txt @@ -35,3 +35,13 @@ target_link_libraries(amqp_bind rabbitmq) add_executable(amqp_listenq amqp_listenq.c ${COMMON_SRCS}) target_link_libraries(amqp_listenq rabbitmq) + +if (ENABLE_SSL_SUPPORT) + configure_file(client.pem ${CMAKE_CURRENT_BINARY_DIR}/client.pem COPYONLY) + + add_executable(amqp_ssl_producer amqp_ssl_producer.c ${COMMON_SRCS}) + target_link_libraries(amqp_ssl_producer rabbitmq) + + add_executable(amqp_ssl_consumer amqp_ssl_consumer.c ${COMMON_SRCS}) + target_link_libraries(amqp_ssl_consumer rabbitmq) +endif (ENABLE_SSL_SUPPORT) diff --git a/librabbitmq/CMakeLists.txt b/librabbitmq/CMakeLists.txt index 99804a8..277279d 100644 --- a/librabbitmq/CMakeLists.txt +++ b/librabbitmq/CMakeLists.txt @@ -85,6 +85,10 @@ if(WIN32) target_link_libraries(rabbitmq ws2_32) endif(WIN32) +if (ENABLE_SSL_SUPPORT) + target_link_libraries(rabbitmq ${OPENSSL_LIBRARIES}) +endif(ENABLE_SSL_SUPPORT) + install(TARGETS rabbitmq RUNTIME DESTINATION bin LIBRARY DESTINATION lib -- cgit v1.2.1