link-grpc
authorLLVM Packaging Team <pkg-llvm-team@lists.alioth.debian.org>
Sun, 1 Jan 2023 14:42:15 +0000 (14:42 +0000)
committerSylvestre Ledru <sylvestre@debian.org>
Sun, 1 Jan 2023 14:42:15 +0000 (14:42 +0000)
===================================================================

Gbp-Pq: Name link-grpc.diff

llvm/cmake/modules/FindGRPC.cmake

index e058f544cb290b1566f632fd9983d81ac13254b0..6a62616fba7892d072ae7ffcbe5b754f93c2048e 100644 (file)
@@ -73,10 +73,29 @@ else()
       endif()
     endif()
   endif()
+
+  find_library(GPR_LIBRARY gpr $GRPC_OPTS REQUIRED)
+  add_library(gpr UNKNOWN IMPORTED GLOBAL)
+  message(STATUS "Using gpr: " ${GPR_LIBRARY})
+  set_target_properties(gpr PROPERTIES IMPORTED_LOCATION ${GPR_LIBRARY})
+
   find_library(GRPC_LIBRARY grpc++ $GRPC_OPTS REQUIRED)
   add_library(grpc++ UNKNOWN IMPORTED GLOBAL)
   message(STATUS "Using grpc++: " ${GRPC_LIBRARY})
   set_target_properties(grpc++ PROPERTIES IMPORTED_LOCATION ${GRPC_LIBRARY})
+
+  find_library(GRPC2_LIBRARY grpc $GRPC_OPTS REQUIRED)
+  add_library(grpc UNKNOWN IMPORTED GLOBAL)
+  message(STATUS "Using grpc: " ${GRPC2_LIBRARY})
+  set_target_properties(grpc PROPERTIES IMPORTED_LOCATION ${GRPC2_LIBRARY})
+
+  find_library(ABSL_SYNCHRONIZATION_LIBRARY absl_synchronization $GRPC_OPTS REQUIRED)
+  if (ABSL_SYNCHRONIZATION_LIBRARY)
+    add_library(absl_synchronization UNKNOWN IMPORTED GLOBAL)
+    message(STATUS "Using absl_synchronization: " ${ABSL_SYNCHRONIZATION_LIBRARY})
+    set_target_properties(absl_synchronization PROPERTIES IMPORTED_LOCATION ${ABSL_SYNCHRONIZATION_LIBRARY})
+  endif()
+
   if (ENABLE_GRPC_REFLECTION)
     find_library(GRPC_REFLECTION_LIBRARY grpc++_reflection $GRPC_OPTS REQUIRED)
     add_library(grpc++_reflection UNKNOWN IMPORTED GLOBAL)
@@ -121,9 +140,15 @@ function(generate_protos LibraryName ProtoFile)
         ARGS ${Flags} "${ProtoSourceAbsolutePath}"
         DEPENDS "${ProtoSourceAbsolutePath}")
 
+  set(LINKED_GRPC_LIBRARIES protobuf gpr grpc grpc++)
+
+  if (ABSL_SYNCHRONIZATION_LIBRARY)
+    list(APPEND LINKED_GRPC_LIBRARIES absl_synchronization)
+  endif()
+
   add_clang_library(${LibraryName} ${GeneratedProtoSource}
     PARTIAL_SOURCES_INTENDED
-    LINK_LIBS PUBLIC grpc++ protobuf)
+    LINK_LIBS PUBLIC ${LINKED_GRPC_LIBRARIES})
 
   # Ensure dependency headers are generated before dependent protos are built.
   # DEPENDS arg is a list of "Foo.proto". While they're logically relative to