File fix_lz4_linkage.patch of Package flann

From c9572a40574c18a79e50b6a8c0043a8cafed6e69 Mon Sep 17 00:00:00 2001
From: Maarten de Vries <maarten@de-vri.es>
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)
openSUSE Build Service is sponsored by