From c9572a40574c18a79e50b6a8c0043a8cafed6e69 Mon Sep 17 00:00:00 2001 From: Maarten de Vries Date: Mon, 18 Oct 2021 10:56:42 +0200 Subject: [PATCH] Ensure LZ4 is added to the interface link libraries of shared libraries. --- src/cpp/CMakeLists.txt | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/cpp/CMakeLists.txt b/src/cpp/CMakeLists.txt index 10135703..a75059f9 100644 --- a/src/cpp/CMakeLists.txt +++ b/src/cpp/CMakeLists.txt @@ -9,7 +9,7 @@ file(GLOB_RECURSE CPP_SOURCES flann_cpp.cpp) file(GLOB_RECURSE CU_SOURCES *.cu) add_library(flann_cpp_s STATIC ${CPP_SOURCES}) -target_link_libraries(flann_cpp_s ${LZ4_LINK_LIBRARIES}) +target_link_libraries(flann_cpp_s PUBLIC ${LZ4_LINK_LIBRARIES}) if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_CLANG) set_target_properties(flann_cpp_s PROPERTIES COMPILE_FLAGS -fPIC) endif() @@ -33,6 +33,7 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Linux" AND CMAKE_COMPILER_IS_GNUCC) add_library(flann_cpp SHARED dummy.c) set_target_properties(flann_cpp PROPERTIES LINKER_LANGUAGE CXX) target_link_libraries(flann_cpp -Wl,-whole-archive flann_cpp_s -Wl,-no-whole-archive) + target_link_libraries(flann_cpp PUBLIC ${LZ4_LINK_LIBRARIES}) if (BUILD_CUDA_LIB) cuda_add_library(flann_cuda SHARED dummy.c) @@ -42,7 +43,7 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Linux" AND CMAKE_COMPILER_IS_GNUCC) endif() else() add_library(flann_cpp SHARED ${CPP_SOURCES}) - target_link_libraries(flann_cpp ${LZ4_LINK_LIBRARIES}) + target_link_libraries(flann_cpp PUBLIC ${LZ4_LINK_LIBRARIES}) # export lz4 headers, so that MSVC to creates flann_cpp.lib set_target_properties(flann_cpp PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS YES) if (BUILD_CUDA_LIB) @@ -90,9 +91,10 @@ if (BUILD_C_BINDINGS) add_library(flann SHARED dummy.c) set_target_properties(flann PROPERTIES LINKER_LANGUAGE CXX) target_link_libraries(flann -Wl,-whole-archive flann_s -Wl,-no-whole-archive) + target_link_libraries(flann PUBLIC ${LZ4_LINK_LIBRARIES}) else() add_library(flann SHARED ${C_SOURCES}) - target_link_libraries(flann ${LZ4_LINK_LIBRARIES}) + target_link_libraries(flann PUBLIC ${LZ4_LINK_LIBRARIES}) if(MINGW AND OPENMP_FOUND) target_link_libraries(flann gomp)