qamqp/CMakeLists.txt

75 lines
1.9 KiB
CMake

CMAKE_MINIMUM_REQUIRED(VERSION 2.8.0)
project(QAMQP)
include(FindPkgConfig)
include(GNUInstallDirs)
set(CMAKE_AUTOMOC ON)
set(SRC_DIR ${QAMQP_SOURCE_DIR}/src)
set(QAMQP_DIR ${SRC_DIR}/qamqp)
# to pick up Qt5 macros
find_package(Qt5Core)
set(libqamqp_HEADERS
${QAMQP_DIR}/amqp_authenticator.h
${QAMQP_DIR}/amqp_channel.h
${QAMQP_DIR}/amqp_channel_p.h
${QAMQP_DIR}/amqp_connection.h
${QAMQP_DIR}/amqp_connection_p.h
${QAMQP_DIR}/amqp_exchange.h
${QAMQP_DIR}/amqp_exchange_p.h
${QAMQP_DIR}/amqp_frame.h
${QAMQP_DIR}/amqp_global.h
${QAMQP_DIR}/amqp.h
${QAMQP_DIR}/amqp_message.h
${QAMQP_DIR}/amqp_p.h
${QAMQP_DIR}/amqp_network.h
${QAMQP_DIR}/amqp_queue.h
${QAMQP_DIR}/amqp_queue_p.h
)
set(libqamqp_SOURCES
${libqamqp_HEADERS}
${QAMQP_DIR}/amqp_authenticator.cpp
${QAMQP_DIR}/amqp_channel.cpp
${QAMQP_DIR}/amqp_connection.cpp
${QAMQP_DIR}/amqp.cpp
${QAMQP_DIR}/amqp_exchange.cpp
${QAMQP_DIR}/amqp_frame.cpp
${QAMQP_DIR}/amqp_network.cpp
${QAMQP_DIR}/amqp_queue.cpp
)
set(test_client_SOURCES
${SRC_DIR}/main.cpp
${SRC_DIR}/QamqpApp.h
${SRC_DIR}/pubsub/EmitLog.h
${SRC_DIR}/pubsub/ReceiveLog.h
${SRC_DIR}/routing/EmitLogDirect.h
${SRC_DIR}/routing/ReceiveLogDirect.h
${SRC_DIR}/sendreceive/Send.h
${SRC_DIR}/sendreceive/Receive.h
${SRC_DIR}/workqueues/NewTask.h
${SRC_DIR}/workqueues/Worker.h
)
include_directories(${SRC_DIR})
link_directories(${QAMQP_BINARY_DIR})
add_library(qamqp SHARED ${libqamqp_SOURCES})
set_target_properties(qamqp PROPERTIES SOVERSION 0.2.0)
qt5_use_modules(qamqp Core Network)
add_executable(qamqp-test ${test_client_SOURCES})
target_link_libraries(qamqp-test qamqp)
qt5_use_modules(qamqp-test Core Network)
install(TARGETS qamqp-test qamqp
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
install(FILES ${libqamqp_HEADERS}
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/qamqp)