From: Debian Deep Learning Team <debian-ai@lists.debian.org>
Date: Sat, 25 Mar 2023 15:42:57 -0400
Subject: deb_soversion

Purpose: Add SOVERSION to shared object
Forward: https://github.com/facebookincubator/gloo/issues/116
---
 gloo/CMakeLists.txt      | 3 +++
 gloo/test/CMakeLists.txt | 2 +-
 2 files changed, 4 insertions(+), 1 deletion(-)

Index: gloo/gloo/CMakeLists.txt
===================================================================
--- gloo.orig/gloo/CMakeLists.txt
+++ gloo/gloo/CMakeLists.txt
@@ -139,17 +139,21 @@ set(GLOO_USE_LIBUV ${USE_LIBUV})
 configure_file(config.h.in config.h)
 
 add_library(gloo ${GLOO_STATIC_OR_SHARED} ${GLOO_SRCS})
+set_target_properties(gloo PROPERTIES VERSION ${GLOO_VERSION} SOVERSION ${GLOO_VERSION_MAJOR})
 if(USE_CUDA)
   if(GLOO_USE_CUDA_TOOLKIT)
     enable_language(CUDA)
     add_library(gloo_cuda ${GLOO_STATIC_OR_SHARED} ${GLOO_CUDA_SRCS})
+    set_target_properties(gloo_cuda PROPERTIES VERSION ${GLOO_VERSION} SOVERSION ${GLOO_VERSION_MAJOR})
   else()
     cuda_add_library(gloo_cuda ${GLOO_CUDA_SRCS} ${GLOO_STATIC_OR_SHARED})
+    set_target_properties(gloo_cuda PROPERTIES VERSION ${GLOO_VERSION} SOVERSION ${GLOO_VERSION_MAJOR})
   endif()
   target_link_libraries(gloo_cuda gloo ${gloo_cuda_DEPENDENCY_LIBS})
 endif()
 if(USE_ROCM)
   gloo_hip_add_library(gloo_hip ${GLOO_HIP_SRCS})
+  set_target_properties(gloo_hip PROPERTIES VERSION ${GLOO_VERSION} SOVERSION ${GLOO_VERSION_MAJOR})
   target_link_libraries(gloo_hip gloo)
 endif()
 if(USE_LIBUV)
Index: gloo/gloo/test/CMakeLists.txt
===================================================================
--- gloo.orig/gloo/test/CMakeLists.txt
+++ gloo/gloo/test/CMakeLists.txt
@@ -30,7 +30,7 @@ if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux"
 endif()
 
 add_executable(gloo_test ${GLOO_TEST_SRCS})
-target_link_libraries(gloo_test gloo gtest ${GLOO_TEST_LIBRARIES} OpenSSL::SSL OpenSSL::Crypto)
+target_link_libraries(gloo_test gloo gtest ${GLOO_TEST_LIBRARIES} OpenSSL::SSL OpenSSL::Crypto pthread)
 
 if(MSVC AND USE_LIBUV)
   add_custom_command(TARGET gloo_test POST_BUILD
