1- include_directories (${CMAKE_CURRENT_SOURCE_DIR} ${LIBRABBITMQ_INCLUDE_DIRS} ${POPT_INCLUDE_DIR} )
21
3- if (WIN32 )
4- set (PLATFORM_DIR win32 )
5- set (PLATFORM_SRCS
6- win32 /compat.c
7- )
8- else (WIN32 )
9- set (PLATFORM_DIR unix )
10- endif (WIN32 )
2+ if (WIN32 )
3+ set (PLATFORM_DIR win32 )
4+ else ()
5+ set (PLATFORM_DIR unix )
6+ endif ()
117
12- include_directories (${PLATFORM_DIR} )
8+ add_library (tools-common OBJECT)
9+ target_sources (tools-common PRIVATE
10+ common.h
11+ common.c)
12+ if (WIN32 )
13+ target_sources (tools-common PRIVATE
14+ win32 /compat.h
15+ win32 /compat.c)
16+ endif ()
17+ if (ENABLE_SSL_SUPPORT)
18+ target_compile_definitions (tools-common PRIVATE -DWITH_SSL=1)
19+ endif ()
20+ target_include_directories (tools-common PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} )
21+ target_link_libraries (tools-common PRIVATE rabbitmq::rabbitmq)
1322
14- set (COMMON_SRCS
15- common.h
16- common.c
17- ${PLATFORM_SRCS}
18- )
23+ add_executable (amqp-publish publish.c)
24+ target_link_libraries (amqp-publish PRIVATE tools-common rabbitmq::rabbitmq popt::popt)
1925
20- add_executable (amqp-publish publish.c ${COMMON_SRCS} )
21- target_link_libraries (amqp-publish ${RMQ_LIBRARY_TARGET} ${POPT_LIBRARY} )
26+ add_executable (amqp-get get .c )
27+ target_link_libraries (amqp-get PRIVATE tools-common rabbitmq::rabbitmq popt::popt )
2228
23- add_executable (amqp-get get .c ${COMMON_SRCS} )
24- target_link_libraries (amqp-get ${RMQ_LIBRARY_TARGET} ${POPT_LIBRARY} )
29+ add_executable (amqp-consume consume.c ${PLATFORM_DIR} /process.h ${PLATFORM_DIR} /process.c)
30+ target_include_directories (amqp-consume PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR} /${PLATFORM_DIR} )
31+ target_link_libraries (amqp-consume PRIVATE tools-common rabbitmq::rabbitmq popt::popt)
2532
26- add_executable (amqp-consume consume.c ${PLATFORM_DIR} /process.c ${COMMON_SRCS} )
27- target_link_libraries (amqp-consume ${RMQ_LIBRARY_TARGET} ${POPT_LIBRARY} )
33+ add_executable (amqp-declare-queue declare_queue.c )
34+ target_link_libraries (amqp-declare-queue PRIVATE tools-common rabbitmq::rabbitmq popt::popt )
2835
29- add_executable (amqp-declare -queue declare_queue.c ${COMMON_SRCS} )
30- target_link_libraries (amqp-declare -queue ${RMQ_LIBRARY_TARGET} ${POPT_LIBRARY} )
36+ add_executable (amqp-delete -queue delete_queue.c )
37+ target_link_libraries (amqp-delete -queue PRIVATE tools-common rabbitmq::rabbitmq popt::popt )
3138
32- add_executable (amqp-delete-queue delete_queue.c ${COMMON_SRCS} )
33- target_link_libraries (amqp-delete-queue ${RMQ_LIBRARY_TARGET} ${POPT_LIBRARY} )
39+ install (TARGETS amqp-publish amqp-get amqp-consume amqp-declare-queue amqp-delete-queue
40+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
41+ COMPONENT rabbitmq-c-tools)
3442
3543if (BUILD_TOOLS_DOCS)
3644 if (XMLTO_FOUND)
@@ -72,11 +80,3 @@ if (BUILD_TOOLS_DOCS)
7280 message (WARNING "xmlto not found, will not build tools documentation" )
7381 endif (XMLTO_FOUND)
7482endif ()
75-
76- if (ENABLE_SSL_SUPPORT)
77- add_definitions (-DWITH_SSL=1)
78- endif ()
79-
80- install (TARGETS amqp-publish amqp-get amqp-consume amqp-declare-queue amqp-delete-queue
81- RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
82- COMPONENT rabbitmq-c-tools)
0 commit comments