summaryrefslogtreecommitdiff
path: root/librabbitmq/CMakeLists.txt
diff options
context:
space:
mode:
authorAlan Antonuk <aega@med.umich.edu>2012-05-25 11:14:43 -0400
committerAlan Antonuk <alan.antonuk@gmail.com>2013-04-09 15:31:54 -0700
commit0d20182b220d28c793e710bb0c0e431dade3022d (patch)
treee3365c5fda1578709ea0812979a55489c2235dc8 /librabbitmq/CMakeLists.txt
parentf371e0ae2697031a42cfd573079c9261bc731091 (diff)
downloadrabbitmq-c-github-ask-0d20182b220d28c793e710bb0c0e431dade3022d.tar.gz
Adding support for SSL to CMake build system
Diffstat (limited to 'librabbitmq/CMakeLists.txt')
-rw-r--r--librabbitmq/CMakeLists.txt35
1 files changed, 34 insertions, 1 deletions
diff --git a/librabbitmq/CMakeLists.txt b/librabbitmq/CMakeLists.txt
index a9996cf..07d6146 100644
--- a/librabbitmq/CMakeLists.txt
+++ b/librabbitmq/CMakeLists.txt
@@ -76,6 +76,35 @@ set(LIBRABBITMQ_INCLUDE_DIRS
add_definitions(-DHAVE_CONFIG_H)
+if (ENABLE_SSL_SUPPORT)
+ add_definitions(-DWITH_SSL=1)
+
+ if (SSL_ENGINE STREQUAL "OpenSSL")
+ set(AMQP_SSL_SRCS amqp-ssl.h amqp-openssl.c)
+ include_directories(${OPENSSL_INCLUDE_DIR})
+ set(AMQP_SSL_LIBS ${OPENSSL_LIBRARIES})
+
+ elseif (SSL_ENGINE STREQUAL "cyaSSL")
+ set(AMQP_SSL_SRCS amqp-ssl.h amqp-cyassl.c)
+ include_directories(${CYASSL_INCLUDE_DIR})
+ set(AMQP_SSL_LIBS ${CYASSL_LIBRARIES})
+
+ elseif (SSL_ENGINE STREQUAL "GnuTLS")
+ set(AMQP_SSL_SRCS amqp-ssl.h amqp-gnutls.c)
+ include_directories(${GNUTLS_INCLUDE_DIR})
+ add_definitions(${GNUTLS_DEFINITIONS})
+ set(AMQP_SSL_LIBS ${GNUTLS_LIBRARIES})
+
+ elseif (SSL_ENGINE STREQUAL "PolarSSL")
+ set(AMQP_SSL_SRCS amqp-ssl.h amqp-polarssl.c)
+ include_directories(${POLARSSL_INCLUDE_DIR})
+ set(AMQP_SSL_LIBS ${POLARSSL_LIBRARIES})
+
+ else()
+ message(FATAL_ERROR "Unknown SSL_ENGINE ${SSL_ENGINE}")
+ endif()
+endif()
+
set(RABBITMQ_SOURCES
${AMQP_FRAMING_H_PATH}
${AMQP_FRAMING_C_PATH}
@@ -83,6 +112,7 @@ set(RABBITMQ_SOURCES
amqp_connection.c amqp_mem.c amqp_private.h amqp_socket.c amqp_table.c
amqp_url.c
${SOCKET_IMPL}/socket.h ${SOCKET_IMPL}/socket.c
+ ${AMQP_SSL_SRCS}
)
add_definitions(-DAMQP_BUILD)
@@ -92,6 +122,10 @@ include(InstallMacros)
if (BUILD_SHARED_LIBS)
add_library(rabbitmq SHARED ${RABBITMQ_SOURCES})
+ if (ENABLE_SSL_SUPPORT)
+ target_link_libraries(rabbitmq ${AMQP_SSL_LIBS})
+ endif()
+
if (WIN32)
set_target_properties(rabbitmq PROPERTIES VERSION ${RMQ_VERSION} OUTPUT_NAME rabbitmq.${RMQ_SOVERSION})
else (WIN32)
@@ -141,4 +175,3 @@ install(FILES amqp.h ${AMQP_FRAMING_H_PATH} ${STDINT_H_INSTALL_FILE}
)
set(RMQ_LIBRARY_TARGET ${RMQ_LIBRARY_TARGET} PARENT_SCOPE)
-