summaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authorAlan Antonuk <alan.antonuk@gmail.com>2021-04-19 07:00:57 +0000
committerAlan Antonuk <alan.antonuk@gmail.com>2021-04-19 00:16:12 -0700
commit45fbf2577decfeec6020e4897887dd213588332b (patch)
treef95b24e03f9d2eeabd32b575e8cc9942348811ef /examples
parent9a6bba49e8aff088f2780f4d27732c86e4acacaa (diff)
downloadrabbitmq-c-45fbf2577decfeec6020e4897887dd213588332b.tar.gz
cmake: modernize examples CMakeLists
Diffstat (limited to 'examples')
-rw-r--r--examples/CMakeLists.txt70
1 files changed, 32 insertions, 38 deletions
diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt
index 4ea8e93..3429c3d 100644
--- a/examples/CMakeLists.txt
+++ b/examples/CMakeLists.txt
@@ -1,52 +1,46 @@
-if (NOT BUILD_SHARED_LIBS)
- add_definitions(-DAMQP_STATIC)
-endif()
-
-include_directories(${LIBRABBITMQ_INCLUDE_DIRS})
-if (WIN32)
- set(PLATFORM_DIR win32)
-else (WIN32)
- set(PLATFORM_DIR unix)
-endif (WIN32)
-
-set(COMMON_SRCS
- utils.h
- utils.c
- ${PLATFORM_DIR}/platform_utils.c
- )
+add_library(examples-common OBJECT)
+target_sources(examples-common PRIVATE
+ utils.h
+ utils.c)
+if(WIN32)
+ target_sources(examples-common PRIVATE win32/platform_utils.c)
+else()
+ target_sources(examples-common PRIVATE unix/platform_utils.c)
+endif()
+target_link_libraries(examples-common PRIVATE rabbitmq::rabbitmq)
-add_executable(amqp_sendstring amqp_sendstring.c ${COMMON_SRCS})
-target_link_libraries(amqp_sendstring ${RMQ_LIBRARY_TARGET})
+add_executable(amqp_sendstring amqp_sendstring.c)
+target_link_libraries(amqp_sendstring PRIVATE examples-common rabbitmq::rabbitmq)
-add_executable(amqp_rpc_sendstring_client amqp_rpc_sendstring_client.c ${COMMON_SRCS})
-target_link_libraries(amqp_rpc_sendstring_client ${RMQ_LIBRARY_TARGET})
+add_executable(amqp_rpc_sendstring_client amqp_rpc_sendstring_client.c)
+target_link_libraries(amqp_rpc_sendstring_client PRIVATE examples-common rabbitmq::rabbitmq)
-add_executable(amqp_exchange_declare amqp_exchange_declare.c ${COMMON_SRCS})
-target_link_libraries(amqp_exchange_declare ${RMQ_LIBRARY_TARGET})
+add_executable(amqp_exchange_declare amqp_exchange_declare.c)
+target_link_libraries(amqp_exchange_declare PRIVATE examples-common rabbitmq::rabbitmq)
-add_executable(amqp_listen amqp_listen.c ${COMMON_SRCS})
-target_link_libraries(amqp_listen ${RMQ_LIBRARY_TARGET})
+add_executable(amqp_listen amqp_listen.c)
+target_link_libraries(amqp_listen PRIVATE examples-common rabbitmq::rabbitmq)
-add_executable(amqp_producer amqp_producer.c ${COMMON_SRCS})
-target_link_libraries(amqp_producer ${RMQ_LIBRARY_TARGET})
+add_executable(amqp_producer amqp_producer.c)
+target_link_libraries(amqp_producer PRIVATE examples-common rabbitmq::rabbitmq)
-add_executable(amqp_connect_timeout amqp_connect_timeout.c ${COMMON_SRCS})
-target_link_libraries(amqp_connect_timeout ${RMQ_LIBRARY_TARGET})
+add_executable(amqp_connect_timeout amqp_connect_timeout.c)
+target_link_libraries(amqp_connect_timeout PRIVATE examples-common rabbitmq::rabbitmq)
-add_executable(amqp_consumer amqp_consumer.c ${COMMON_SRCS})
-target_link_libraries(amqp_consumer ${RMQ_LIBRARY_TARGET})
+add_executable(amqp_consumer amqp_consumer.c)
+target_link_libraries(amqp_consumer PRIVATE examples-common rabbitmq::rabbitmq)
-add_executable(amqp_unbind amqp_unbind.c ${COMMON_SRCS})
-target_link_libraries(amqp_unbind ${RMQ_LIBRARY_TARGET})
+add_executable(amqp_unbind amqp_unbind.c)
+target_link_libraries(amqp_unbind PRIVATE examples-common rabbitmq::rabbitmq)
-add_executable(amqp_bind amqp_bind.c ${COMMON_SRCS})
-target_link_libraries(amqp_bind ${RMQ_LIBRARY_TARGET})
+add_executable(amqp_bind amqp_bind.c)
+target_link_libraries(amqp_bind PRIVATE examples-common rabbitmq::rabbitmq)
-add_executable(amqp_listenq amqp_listenq.c ${COMMON_SRCS})
-target_link_libraries(amqp_listenq ${RMQ_LIBRARY_TARGET})
+add_executable(amqp_listenq amqp_listenq.c)
+target_link_libraries(amqp_listenq PRIVATE examples-common rabbitmq::rabbitmq)
if (ENABLE_SSL_SUPPORT)
-add_executable(amqp_ssl_connect amqp_ssl_connect.c ${COMMON_SRCS})
-target_link_libraries(amqp_ssl_connect ${RMQ_LIBRARY_TARGET})
+ add_executable(amqp_ssl_connect amqp_ssl_connect.c)
+ target_link_libraries(amqp_ssl_connect PRIVATE examples-common rabbitmq::rabbitmq)
endif (ENABLE_SSL_SUPPORT)