|
3 | 3 | # - RdKafka_LIBNAME : The name of the library, i.e. librdkafka.a, librdkafka.so, etc. |
4 | 4 | # - RdKafka_LIBRARY_DIR : The directory where the library is located. |
5 | 5 | # - RdKafka_LIBRARY_PATH : The full library path i.e. ${RdKafka_LIBRARY_DIR}/${RdKafka_LIBNAME} |
6 | | -# - RdKafka_DEPENDENCIES : Libs needed to link with RdKafka |
| 6 | +# - RdKafka::rdkafka : Imported library containing all above properties set. |
7 | 7 |
|
8 | 8 | if (CPPKAFKA_RDKAFKA_STATIC_LIB) |
9 | 9 | set(RDKAFKA_PREFIX ${CMAKE_STATIC_LIBRARY_PREFIX}) |
10 | 10 | set(RDKAFKA_SUFFIX ${CMAKE_STATIC_LIBRARY_SUFFIX}) |
| 11 | + set(RDKAFKA_LIBRARY_TYPE STATIC) |
11 | 12 | else() |
12 | 13 | set(RDKAFKA_PREFIX ${CMAKE_SHARED_LIBRARY_PREFIX}) |
13 | 14 | set(RDKAFKA_SUFFIX ${CMAKE_SHARED_LIBRARY_SUFFIX}) |
| 15 | + set(RDKAFKA_LIBRARY_TYPE SHARED) |
14 | 16 | endif() |
15 | 17 |
|
16 | 18 | set(RdKafka_LIBNAME ${RDKAFKA_PREFIX}rdkafka${RDKAFKA_SUFFIX}) |
@@ -60,13 +62,13 @@ try_compile(RdKafka_FOUND ${CMAKE_CURRENT_BINARY_DIR} |
60 | 62 | CMAKE_FLAGS "-DINCLUDE_DIRECTORIES=${RdKafka_INCLUDE_DIR}") |
61 | 63 |
|
62 | 64 | if (RdKafka_FOUND) |
63 | | - if (CPPKAFKA_RDKAFKA_STATIC_LIB) |
64 | | - set(RdKafka_DEPENDENCIES ${RdKafka_LIBNAME} pthread rt ssl crypto dl z) |
65 | | - else() |
66 | | - set(RdKafka_DEPENDENCIES ${RdKafka_LIBNAME} pthread) |
67 | | - endif() |
68 | | - include_directories(SYSTEM ${RdKafka_INCLUDE_DIR}) |
69 | | - link_directories(${RdKafka_LIBRARY_DIR}) |
| 65 | + add_library(RdKafka::rdkafka ${RDKAFKA_LIBRARY_TYPE} IMPORTED GLOBAL) |
| 66 | + set(RDKAFKA_DEPENDENCIES pthread rt ssl crypto dl z) |
| 67 | + set_target_properties(RdKafka::rdkafka PROPERTIES |
| 68 | + IMPORTED_NAME RdKafka |
| 69 | + IMPORTED_LOCATION "${RdKafka_LIBRARY_PATH}" |
| 70 | + INTERFACE_INCLUDE_DIRECTORIES "${RdKafka_INCLUDE_DIR}" |
| 71 | + INTERFACE_LINK_LIBRARIES "${RDKAFKA_DEPENDENCIES}") |
70 | 72 | message(STATUS "Found valid rdkafka version") |
71 | 73 | mark_as_advanced( |
72 | 74 | RDKAFKA_LIBRARY |
|
0 commit comments