Skip to content

Commit 7d8d7a6

Browse files
ThomasDevoogdtedsiper
authored andcommitted
build: use the system provided librdkafka if found
e.g. buildroot has logic to build librdkafka, so if pkg_check_modules can find a suitable version, then use that one if -DFLB_PREFER_SYSTEM_LIB_KAFKA=Yes. Signed-off-by: Thomas Devoogdt <[email protected]>
1 parent ccbd9a1 commit 7d8d7a6

File tree

5 files changed

+31
-17
lines changed

5 files changed

+31
-17
lines changed

CMakeLists.txt

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -206,6 +206,7 @@ option(FLB_PREFER_SYSTEM_LIBS "Prefer system libraries"
206206
option(FLB_PREFER_SYSTEM_LIB_BACKTRACE "Prefer the libbacktrace system library" ${FLB_PREFER_SYSTEM_LIBS})
207207
option(FLB_PREFER_SYSTEM_LIB_CARES "Prefer the libcares system library" ${FLB_PREFER_SYSTEM_LIBS})
208208
option(FLB_PREFER_SYSTEM_LIB_JEMALLOC "Prefer the libjemalloc system library" ${FLB_PREFER_SYSTEM_LIBS})
209+
option(FLB_PREFER_SYSTEM_LIB_KAFKA "Prefer the libkafka system library" ${FLB_PREFER_SYSTEM_LIBS})
209210
option(FLB_PREFER_SYSTEM_LIB_LUAJIT "Prefer the libluajit system library" ${FLB_PREFER_SYSTEM_LIBS})
210211
option(FLB_PREFER_SYSTEM_LIB_NGHTTP2 "Prefer the libnghttp2 system library" ${FLB_PREFER_SYSTEM_LIBS})
211212

@@ -992,17 +993,16 @@ if(FLB_BACKTRACE)
992993
endif()
993994

994995
if(FLB_IN_KAFKA OR FLB_OUT_KAFKA)
995-
FLB_OPTION(RDKAFKA_BUILD_STATIC On)
996-
FLB_OPTION(RDKAFKA_BUILD_EXAMPLES Off)
997-
FLB_OPTION(RDKAFKA_BUILD_TESTS Off)
998-
FLB_OPTION(ENABLE_LZ4_EXT Off)
999-
1000-
# disable Curl
1001-
if (FLB_SYSTEM_MACOS)
1002-
FLB_OPTION(WITH_CURL Off)
1003-
endif()
1004-
1005-
add_subdirectory(${FLB_PATH_LIB_RDKAFKA} EXCLUDE_FROM_ALL)
996+
if(FLB_PREFER_SYSTEM_LIB_KAFKA)
997+
find_package(PkgConfig)
998+
pkg_check_modules(KAFKA rdkafka>=2.3.0)
999+
endif()
1000+
if(KAFKA_FOUND)
1001+
include_directories(${KAFKA_INCLUDE_DIRS})
1002+
link_directories(${KAFKA_LIBRARY_DIRS})
1003+
else()
1004+
include(cmake/kafka.cmake)
1005+
endif()
10061006
endif()
10071007

10081008
# Onigmo (Regex Engine) options

cmake/headers.cmake

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -42,10 +42,6 @@ include_directories(
4242
${CMAKE_CURRENT_BINARY_DIR}/lib/monkey/include/monkey/
4343
)
4444

45-
if(FLB_IN_KAFKA OR FLB_OUT_KAFKA)
46-
include_directories(${FLB_PATH_ROOT_SOURCE}/${FLB_PATH_LIB_RDKAFKA}/src/)
47-
endif()
48-
4945
if(FLB_UTF8_ENCODER)
5046
include_directories(${FLB_PATH_ROOT_SOURCE}/${FLB_PATH_LIB_TUTF8E}/include)
5147
endif()

cmake/kafka.cmake

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# kafka cmake
2+
FLB_OPTION(RDKAFKA_BUILD_STATIC On)
3+
FLB_OPTION(RDKAFKA_BUILD_EXAMPLES Off)
4+
FLB_OPTION(RDKAFKA_BUILD_TESTS Off)
5+
FLB_OPTION(ENABLE_LZ4_EXT Off)
6+
7+
# disable Curl
8+
if (FLB_SYSTEM_MACOS)
9+
FLB_OPTION(WITH_CURL Off)
10+
endif()
11+
12+
include_directories(${FLB_PATH_ROOT_SOURCE}/${FLB_PATH_LIB_RDKAFKA}/src/)
13+
14+
add_subdirectory(${FLB_PATH_LIB_RDKAFKA} EXCLUDE_FROM_ALL)
15+
16+
set(KAFKA_LIBRARIES "rdkafka")

plugins/in_kafka/CMakeLists.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,6 @@ set(src
22
in_kafka.c
33
)
44

5-
FLB_PLUGIN(in_kafka "${src}" "rdkafka")
5+
FLB_PLUGIN(in_kafka "${src}" ${KAFKA_LIBRARIES})
6+
target_include_directories(flb-plugin-in_kafka PUBLIC ${KAFKA_INCLUDEDIR}/librdkafka)
67
target_link_libraries(flb-plugin-in_kafka -lpthread)

plugins/out_kafka/CMakeLists.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,6 @@ set(src
44
kafka_topic.c
55
kafka.c)
66

7-
FLB_PLUGIN(out_kafka "${src}" "rdkafka")
7+
FLB_PLUGIN(out_kafka "${src}" ${KAFKA_LIBRARIES})
8+
target_include_directories(flb-plugin-out_kafka PUBLIC ${KAFKA_INCLUDEDIR}/librdkafka)
89
target_link_libraries(flb-plugin-out_kafka -lpthread)

0 commit comments

Comments
 (0)