Skip to content

Commit eb9f9bd

Browse files
cosmo0920edsiper
authored andcommitted
build: Address fallbacking issue of finding libzstd
Signed-off-by: Hiroshi Hatake <hiroshi@chronosphere.io>
1 parent 5a96ef5 commit eb9f9bd

1 file changed

Lines changed: 22 additions & 2 deletions

File tree

CMakeLists.txt

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -602,8 +602,28 @@ if(FLB_PREFER_SYSTEM_LIB_ZSTD)
602602
find_package(ZSTD 1.4.8 QUIET)
603603
if(ZSTD_FOUND)
604604
set(LIBZSTD_FOUND TRUE)
605-
set(LIBZSTD_LIBRARIES BUNDLED::ZSTD)
606-
else()
605+
# Use the target provided by find_package(ZSTD)
606+
# Modern FindZSTD provides ZSTD::libzstd_static or ZSTD::libzstd_shared
607+
if(TARGET ZSTD::libzstd_static)
608+
set(LIBZSTD_LIBRARIES ZSTD::libzstd_static)
609+
elseif(TARGET ZSTD::libzstd_shared)
610+
set(LIBZSTD_LIBRARIES ZSTD::libzstd_shared)
611+
elseif(TARGET ZSTD::ZSTD)
612+
set(LIBZSTD_LIBRARIES ZSTD::ZSTD)
613+
else()
614+
# Fallback: create a wrapper if no target is provided
615+
add_library(BUNDLED::ZSTD INTERFACE IMPORTED)
616+
if(ZSTD_LIBRARIES)
617+
set_property(TARGET BUNDLED::ZSTD PROPERTY
618+
INTERFACE_LINK_LIBRARIES "${ZSTD_LIBRARIES}")
619+
endif()
620+
if(ZSTD_INCLUDE_DIRS)
621+
set_property(TARGET BUNDLED::ZSTD PROPERTY
622+
INTERFACE_INCLUDE_DIRECTORIES "${ZSTD_INCLUDE_DIRS}")
623+
endif()
624+
set(LIBZSTD_LIBRARIES BUNDLED::ZSTD)
625+
endif()
626+
else()
607627
find_package(PkgConfig)
608628
pkg_check_modules(LIBZSTD libzstd>=1.4.8)
609629
if(LIBZSTD_FOUND)

0 commit comments

Comments
 (0)