Add patch to link against atomic (for armel)
authorJochen Sprickerhof <git@jochen.sprickerhof.de>
Sat, 1 Feb 2020 23:34:42 +0000 (00:34 +0100)
committerJochen Sprickerhof <git@jochen.sprickerhof.de>
Sat, 1 Feb 2020 23:34:42 +0000 (00:34 +0100)
debian/patches/0002-Link-against-atomic-if-needed-found-on-armel.patch [new file with mode: 0644]
debian/patches/series

diff --git a/debian/patches/0002-Link-against-atomic-if-needed-found-on-armel.patch b/debian/patches/0002-Link-against-atomic-if-needed-found-on-armel.patch
new file mode 100644 (file)
index 0000000..ba23cde
--- /dev/null
@@ -0,0 +1,47 @@
+From: Jochen Sprickerhof <git@jochen.sprickerhof.de>
+Date: Sun, 2 Feb 2020 00:22:36 +0100
+Subject: Link against atomic if needed (found on armel)
+
+---
+ CMakeLists.txt          | 14 ++++++++++++++
+ cmake/pcl_targets.cmake |  2 +-
+ 2 files changed, 15 insertions(+), 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 93a6448..5df1051 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -82,6 +82,20 @@ elseif(MSVC)
+   set(CMAKE_COMPILER_IS_MSVC 1)
+ endif()
++# https://github.com/fish-shell/fish-shell/issues/5865
++include(CheckCXXSourceCompiles)
++CHECK_CXX_SOURCE_COMPILES("
++#include <atomic>
++struct big { int foo[64]; };
++std::atomic<big> x;
++int main() {
++   return x.load().foo[13];
++}"
++LIBATOMIC_NOT_NEEDED)
++IF (NOT LIBATOMIC_NOT_NEEDED)
++    SET(ATOMIC_LIBRARY "atomic")
++ENDIF()
++
+ # Create a variable with expected default CXX flags
+ # This will be used further down the road to check if the user explicitly provided CXX flags
+ if(CMAKE_COMPILER_IS_MSVC)
+diff --git a/cmake/pcl_targets.cmake b/cmake/pcl_targets.cmake
+index a50d0d0..e829f09 100644
+--- a/cmake/pcl_targets.cmake
++++ b/cmake/pcl_targets.cmake
+@@ -225,7 +225,7 @@ function(PCL_ADD_LIBRARY _name)
+   # must link explicitly against boost.
+   target_link_libraries(${_name} ${Boost_LIBRARIES} Threads::Threads)
+   if((UNIX AND NOT ANDROID) OR MINGW)
+-    target_link_libraries(${_name} m)
++    target_link_libraries(${_name} m ${ATOMIC_LIBRARY})
+   endif()
+   if(MINGW)
index 1ae14fe829f089d22b4a94cbc2b029c4e12ebfd6..9a4763e1043dac04c605b6562a8eaea0e2a735ef 100644 (file)
@@ -1 +1,2 @@
 0001-Fix-PCL_ROOT-path.patch
+0002-Link-against-atomic-if-needed-found-on-armel.patch