ceph/cmake/modules/FindRabbitMQ.cmake
Kefu Chai 95401d8c2f cmake: find_package(RabbitMQ) instead of just checking its header
rabbitmq-c is not a header-only library. so we need to ensure that the
library is also around before linking against it. in this change:

* move the detection down to where librabbitmq is used
* add FindRabbitMQ.cmake for find_package(RabbitMQ)
* s/rabbitmq/RabbitMQ::RabbitMQ/ as the latter is an alias library
target, which has more information attached to it.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2019-02-21 19:00:24 +08:00

20 lines
551 B
CMake

find_path(rabbitmq_INCLUDE_DIR
NAMES amqp.h)
find_library(rabbitmq_LIBRARY
NAMES rabbitmq)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(RabbitMQ DEFAULT_MSG
rabbitmq_INCLUDE_DIR
rabbitmq_LIBRARY)
if(RabbitMQ_FOUND AND NOT (TARGET RabbitMQ::RabbitMQ))
add_library(RabbitMQ::RabbitMQ UNKNOWN IMPORTED)
set_target_properties(RabbitMQ::RabbitMQ PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES "${rabbitmq_INCLUDE_DIR}"
IMPORTED_LINK_INTERFACE_LANGUAGES "C"
IMPORTED_LOCATION "${rabbitmq_LIBRARY}")
endif()