Skip to content

Commit e8619d1

Browse files
committed
cmake: modernize tools CMakeLists
Signed-off-by: GitHub <noreply@github.com>
1 parent c788038 commit e8619d1

File tree

1 file changed

+33
-33
lines changed

1 file changed

+33
-33
lines changed

tools/CMakeLists.txt

Lines changed: 33 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,44 @@
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

3543
if (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)
7482
endif()
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

Comments
 (0)