Skip to content

Commit 032454e

Browse files
committed
build: Tweak linker flags for zstd
Signed-off-by: Hiroshi Hatake <[email protected]>
1 parent 8546892 commit 032454e

File tree

1 file changed

+24
-6
lines changed

1 file changed

+24
-6
lines changed

CMakeLists.txt

Lines changed: 24 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -579,14 +579,32 @@ add_subdirectory(${FLB_PATH_LIB_MINIZ} EXCLUDE_FROM_ALL)
579579

580580
# Zstd (zstd)
581581
if(FLB_PREFER_SYSTEM_LIB_ZSTD)
582-
find_package(PkgConfig)
583-
pkg_check_modules(LIBZSTD libzstd>=1.4.8)
582+
find_package(ZSTD 1.4.8 QUIET)
583+
if(ZSTD_FOUND)
584+
set(LIBZSTD_FOUND TRUE)
585+
set(LIBZSTD_LIBRARIES ZSTD::ZSTD)
586+
else()
587+
find_package(PkgConfig)
588+
pkg_check_modules(LIBZSTD libzstd>=1.4.8)
589+
if(LIBZSTD_FOUND)
590+
include_directories(${LIBZSTD_INCLUDE_DIRS})
591+
link_directories(${LIBZSTD_LIBRARY_DIRS})
592+
add_library(ZSTD::ZSTD INTERFACE IMPORTED)
593+
set_property(TARGET ZSTD::ZSTD PROPERTY
594+
INTERFACE_LINK_LIBRARIES "${LIBZSTD_LIBRARIES}")
595+
set(LIBZSTD_LIBRARIES ZSTD::ZSTD)
596+
endif()
597+
endif()
584598
endif()
585-
if(LIBZSTD_FOUND)
586-
include_directories(${LIBZSTD_INCLUDE_DIRS})
587-
link_directories(${LIBZSTD_LIBRARY_DIRS})
588-
else()
599+
600+
if(NOT LIBZSTD_FOUND)
589601
include(cmake/zstd.cmake)
602+
603+
if(NOT MSVC)
604+
target_compile_options(libzstd_static PRIVATE -fvisibility=hidden)
605+
endif()
606+
607+
set(LIBZSTD_LIBRARIES libzstd_static)
590608
endif()
591609

592610
# ring buffer library

0 commit comments

Comments
 (0)