-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathCMakeLists.txt
55 lines (47 loc) · 1.66 KB
/
CMakeLists.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
cmake_minimum_required(VERSION 3.13)
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED on)
message(STATUS "Using gRPC via add_subdirectory (FetchContent).")
include(FetchContent)
FetchContent_Declare(
grpc
GIT_REPOSITORY https://github.com/grpc/grpc.git
GIT_TAG v1.29.1)
FetchContent_MakeAvailable(grpc)
# Since FetchContent uses add_subdirectory under the hood, we can use
# the grpc targets directly from this build.
set(_PROTOBUF_LIBPROTOBUF libprotobuf)
set(_REFLECTION grpc++_reflection)
set(_GRPC_GRPCPP grpc++)
set(hw_proto_srcs
"google/api/annotations.pb.cc"
"google/api/http.pb.cc"
"proto/clarifai/api/resources.pb.cc"
"proto/clarifai/api/service.pb.cc"
"proto/clarifai/api/service.grpc.pb.cc"
"proto/clarifai/api/status/status.pb.cc"
"proto/clarifai/api/status/status_code.pb.cc"
"proto/clarifai/api/utils/extensions.pb.cc"
"proto/clarifai/auth/scope/scope.pb.cc"
"proto/clarifai/auth/types/types.pb.cc"
"proto/clarifai/auth/util/extension.pb.cc"
)
include_directories("${CMAKE_CURRENT_BINARY_DIR}")
add_library(ClarifaiGrpc
${hw_proto_srcs})
target_include_directories(ClarifaiGrpc PUBLIC ".")
target_link_libraries(ClarifaiGrpc
${_REFLECTION}
${_GRPC_GRPCPP}
${_PROTOBUF_LIBPROTOBUF})
enable_testing()
foreach(_target
integration_tests)
add_executable(${_target} "tests/${_target}.cc" ${hw_proto_srcs})
add_test(${_target} ${_target})
target_include_directories(${_target} PUBLIC ".")
target_link_libraries(${_target}
${_REFLECTION}
${_GRPC_GRPCPP}
${_PROTOBUF_LIBPROTOBUF})
endforeach()