@@ -114,15 +114,26 @@ set(LIGHTSTEP_LINK_LIBRARIES ${OPENTRACING_LIBRARY}
114
114
${PROTOBUF_LIBRARIES} )
115
115
116
116
if (WITH_GRPC )
117
- find_program (GRPC_CPP_PLUGIN grpc_cpp_plugin )
118
- if (NOT GRPC_CPP_PLUGIN )
119
- message (FATAL_ERROR "grpc_cpp_plugin not found!" )
117
+ find_package (gRPC CONFIG )
118
+ # First attempt to set up gRPC via cmake; but if cmake config files aren't
119
+ # available, fallback to pkg-config.
120
+ if (gRPC_FOUND )
121
+ set (GRPC_CPP_PLUGIN $< TARGET_FILE:gRPC::grpc_cpp_plugin> )
122
+ list (APPEND LIGHTSTEP_LINK_LIBRARIES gRPC::grpc++ )
123
+ include_directories (SYSTEM
124
+ $< TARGET_PROPERTY:gRPC::grpc++,INTERFACE_INCLUDE_DIRECTORIES> )
125
+ else ()
126
+ message ("Falling back to finding gRPC with pkg-config" )
127
+ find_program (GRPC_CPP_PLUGIN grpc_cpp_plugin )
128
+ if (NOT GRPC_CPP_PLUGIN )
129
+ message (FATAL_ERROR "grpc_cpp_plugin not found!" )
130
+ endif ()
131
+ find_package (PkgConfig REQUIRED )
132
+ pkg_search_module (GRPC REQUIRED grpc )
133
+ pkg_search_module (GRPCPP REQUIRED grpc++ )
134
+ list (APPEND LIGHTSTEP_LINK_LIBRARIES ${GRPCPP_LDFLAGS} ${GRPC_LDFLAGS} )
135
+ include_directories (SYSTEM ${GRPC_INCLUDE_DIRS} ${GRPCPP_INCLUDE_DIRS} )
120
136
endif ()
121
- find_package (PkgConfig REQUIRED )
122
- pkg_search_module (GRPC REQUIRED grpc )
123
- pkg_search_module (GRPCPP REQUIRED grpc++ )
124
- list (APPEND LIGHTSTEP_LINK_LIBRARIES ${GRPCPP_LDFLAGS} ${GRPC_LDFLAGS} )
125
- include_directories (SYSTEM ${GRPC_INCLUDE_DIRS} ${GRPCPP_INCLUDE_DIRS} )
126
137
endif ()
127
138
128
139
set (CMAKE_THREAD_PREFER_PTHREAD TRUE )
0 commit comments