Skip to content

Commit 60e849e

Browse files
committed
build: Link system libzstd when enabling in_systemd plugin
This is because RHEL10 or other distributions which use zstd compression inside of systemd, the symbols could be collided and we need to unify the using zstd symbols. This is just for changing the way to linking libzstd libraries. No need to change for building rules in packaging. Signed-off-by: Hiroshi Hatake <hiroshi@chronosphere.io>
1 parent fb24892 commit 60e849e

File tree

1 file changed

+16
-12
lines changed

1 file changed

+16
-12
lines changed

CMakeLists.txt

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -577,18 +577,6 @@ add_subdirectory(${FLB_PATH_LIB_MPACK} EXCLUDE_FROM_ALL)
577577
# Miniz (zip)
578578
add_subdirectory(${FLB_PATH_LIB_MINIZ} EXCLUDE_FROM_ALL)
579579

580-
# Zstd (zstd)
581-
if(FLB_PREFER_SYSTEM_LIB_ZSTD)
582-
find_package(PkgConfig)
583-
pkg_check_modules(LIBZSTD libzstd>=1.4.8)
584-
endif()
585-
if(LIBZSTD_FOUND)
586-
include_directories(${LIBZSTD_INCLUDE_DIRS})
587-
link_directories(${LIBZSTD_LIBRARY_DIRS})
588-
else()
589-
include(cmake/zstd.cmake)
590-
endif()
591-
592580
# ring buffer library
593581
add_subdirectory(${FLB_PATH_LIB_RING_BUFFER} EXCLUDE_FROM_ALL)
594582

@@ -886,6 +874,22 @@ else()
886874
FLB_OPTION(FLB_IN_SYSTEMD OFF)
887875
endif()
888876

877+
# Zstd (zstd)
878+
if(FLB_PREFER_SYSTEM_LIB_ZSTD OR (FLB_SYSTEM_LINUX AND FLB_IN_SYSTEMD))
879+
find_package(PkgConfig)
880+
pkg_check_modules(LIBZSTD libzstd>=1.4.8 QUIET)
881+
if (NOT LIBZSTD_FOUND)
882+
pkg_check_modules(LIBZSTD zstd>=1.4.8 QUIET)
883+
endif()
884+
endif()
885+
if(LIBZSTD_FOUND)
886+
message(STATUS "Using system libzstd: ${LIBZSTD_VERSION}")
887+
include_directories(${LIBZSTD_INCLUDE_DIRS})
888+
link_directories(${LIBZSTD_LIBRARY_DIRS})
889+
else()
890+
include(cmake/zstd.cmake)
891+
endif()
892+
889893
# Valgrind support
890894
check_c_source_compiles("
891895
#include <valgrind/valgrind.h>

0 commit comments

Comments
 (0)