Merge pull request #32237 from tchaikov/wip-cmake-rdkafka

cmake: check version of librdkafka

Reviewed-by: Yuval Lifshitz <yuvalif@yahoo.com>
This commit is contained in:
Kefu Chai 2019-12-17 16:29:00 +08:00 committed by GitHub
commit 1886e5d158
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 26 additions and 12 deletions

View File

@ -1,19 +1,33 @@
find_package(PkgConfig QUIET)
pkg_search_module(PC_rdkafka
rdkafka)
find_path(rdkafka_INCLUDE_DIR
NAMES librdkafka/rdkafka.h)
NAMES librdkafka/rdkafka.h
PATHS ${PC_rdkafka_INCLUDE_DIRS})
find_library(rdkafka_LIBRARY
NAMES rdkafka)
NAMES rdkafka
PATHS ${PC_rdkafka_LIBRARY_DIRS})
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(RDKafka
REQUIRED_VARS rdkafka_INCLUDE_DIR rdkafka_LIBRARY
VERSION_VAR PC_rdkafka_VERSION)
find_package_handle_standard_args(RDKafka DEFAULT_MSG
rdkafka_INCLUDE_DIR
rdkafka_LIBRARY)
if(RDKafka_FOUND)
set(RDKafka_VERSION ${PC_rdkafka_VERSION})
string(REPLACE "." ";" version_list ${PC_rdkafka_VERSION})
list(GET version_list 0 RDKafka_VERSION_MAJOR)
list(GET version_list 1 RDKafka_VERSION_MINOR)
list(GET version_list 2 RDKafka_VERSION_PATCH)
if(RDKafka_FOUND AND NOT (TARGET RDKafka::RDKafka))
if(NOT TARGET RDKafka::RDKafka)
add_library(RDKafka::RDKafka UNKNOWN IMPORTED)
set_target_properties(RDKafka::RDKafka PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES "${rdkafka_INCLUDE_DIR}"
IMPORTED_LINK_INTERFACE_LANGUAGES "C"
IMPORTED_LOCATION "${rdkafka_LIBRARY}")
endif()
endif()

View File

@ -214,7 +214,7 @@ if(WITH_RADOSGW_AMQP_ENDPOINT)
find_package(RabbitMQ REQUIRED)
endif()
if(WITH_RADOSGW_KAFKA_ENDPOINT)
find_package(RDKafka REQUIRED)
find_package(RDKafka 0.9.2 REQUIRED)
endif()
target_link_libraries(rgw_a