From 45fbf2577decfeec6020e4897887dd213588332b Mon Sep 17 00:00:00 2001 From: Alan Antonuk Date: Mon, 19 Apr 2021 07:00:57 +0000 Subject: cmake: modernize examples CMakeLists --- examples/CMakeLists.txt | 70 ++++++++++++++++++++++--------------------------- 1 file changed, 32 insertions(+), 38 deletions(-) (limited to 'examples') 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) -- cgit v1.2.1