From: A. Maitland Bottoms <bottoms@debian.org>
Description: debian armel thrift atomic
 Inspect the thrift shared library - if atomic symbols
 are there, we also neeed to link to libatomic.
 (Seems only required with Debian armel thrift)

--- a/cmake/Modules/FindTHRIFT.cmake
+++ b/cmake/Modules/FindTHRIFT.cmake
@@ -70,7 +70,7 @@
 
 # Set to found if we've made it this far
 if(THRIFT_INCLUDE_DIRS AND THRIFT_LIBRARIES AND PYTHON_THRIFT_FOUND)
-  set(THRIFT_FOUND TRUE CACHE BOOL "If Thift has been found")
+  set(THRIFT_FOUND TRUE CACHE BOOL "If Thrift has been found")
 endif(THRIFT_INCLUDE_DIRS AND THRIFT_LIBRARIES AND PYTHON_THRIFT_FOUND)
 
 
@@ -84,11 +84,19 @@
   THRIFT_BIN PYTHON_THRIFT_FOUND THRIFT_FOUND
 )
 
+# sometimes libthrift.so needs to be linked using -latomic
+execute_process(COMMAND readelf -s ${THRIFT_LIBRARIES}
+    OUTPUT_VARIABLE THRIFT_SYMBOLS)
+if(THRIFT_SYMBOLS MATCHES atomic)
+  message(STATUS "  Got Thrift atomic reference")
+  set(THRIFT_ATOMIC " -latomic")
+endif()
+
 if (THRIFT_FOUND AND NOT TARGET Thrift::thrift)
   add_library(Thrift::thrift INTERFACE IMPORTED)
   set_target_properties(Thrift::thrift PROPERTIES
     INTERFACE_INCLUDE_DIRECTORIES "${THRIFT_INCLUDE_DIRS}"
-    INTERFACE_LINK_LIBRARIES "${THRIFT_LIBRARIES}"
+    INTERFACE_LINK_LIBRARIES "${THRIFT_LIBRARIES}${THRIFT_ATOMIC}"
     )
 endif()
 
