blob: 726ca8742f8639fc0e00d9d572c5b4dbc495b337 (
plain) (
blame)
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
|
# -*- mode: cmake; -*-
#
# The proto generation happens outside of CMake and the path to the
# generated files is passed in via the environment variable
# $NIX_PROTO_SRCS.
#
# This configuration defines a library target that compiles these
# sources and makes the headers available.
add_library(nixproto SHARED)
set_property(TARGET nixproto PROPERTY CXX_STANDARD 17)
set(HEADER_FILES
$ENV{NIX_PROTO_SRCS}/libproto/worker.grpc.pb.h
$ENV{NIX_PROTO_SRCS}/libproto/worker.pb.h
)
target_sources(nixproto
PUBLIC
${HEADER_FILES}
PRIVATE
$ENV{NIX_PROTO_SRCS}/libproto/worker.grpc.pb.cc
$ENV{NIX_PROTO_SRCS}/libproto/worker.pb.cc
)
target_link_libraries(nixproto
gRPC::grpc++_reflection
protobuf::libprotobuf
)
target_include_directories(nixproto
INTERFACE $ENV{NIX_PROTO_SRCS}
)
INSTALL(FILES ${HEADER_FILES} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/nix/libproto)
INSTALL(TARGETS nixproto DESTINATION ${CMAKE_INSTALL_LIBDIR})
|