blob: 3f7ea4795ff537c404b06ae0283108dbcbe90879 [file] [log] [blame]
#Only edit file in g3
includes = include_directories('.')
protoc = find_program('protoc')
grpc_plugin = find_program('grpc_cpp_plugin')
proto_gen = generator(protoc,
output : [
'@BASENAME@.pb.cc',
'@BASENAME@.pb.h',
],
arguments : [
'--proto_path=@CURRENT_SOURCE_DIR@',
'--grpc_out=@BUILD_DIR@',
'--cpp_out=@BUILD_DIR@',
'--plugin=protoc-gen-grpc='+grpc_plugin.path(),
'@INPUT@'])
grpc_gen = generator(protoc,
output : [
'@BASENAME@.grpc.pb.cc',
'@BASENAME@.grpc.pb.h',
],
arguments : [
'--proto_path=@CURRENT_SOURCE_DIR@',
'--grpc_out=@BUILD_DIR@',
'--cpp_out=@BUILD_DIR@',
'--plugin=protoc-gen-grpc='+grpc_plugin.path(),
'@INPUT@'])
protobuf_generated = [
proto_gen.process(
[
'safepower_agent.proto',
'safepower_agent_config.proto',
'state_persistence.proto',
],
preserve_path_from : meson.current_source_dir()),
grpc_gen.process(
[
'safepower_agent.proto',
],
preserve_path_from : meson.current_source_dir())
]
cpp_compiler = meson.get_compiler('cpp')
grpc_deps = dependency('grpc', required: false)
if not grpc_deps.found()
grpc_deps = cpp_compiler.find_library('grpc')
endif
grpcpp_deps = dependency('grpc++', required: false)
if not grpcpp_deps.found()
grpcpp_deps = cpp_compiler.find_library('grpc++')
endif
gpr_deps = dependency('gpr', required: false)
if not gpr_deps.found()
gpr_deps = cpp_compiler.find_library('gpr')
endif
gpowerd_proto_deps = [
gpr_deps,
grpc_deps,
grpcpp_deps,
dependency('protobuf'),
cpp_compiler.find_library('grpc++_reflection'),
]
libgpowerd_proto = library(
'gpowerd_proto',
protobuf_generated,
implicit_include_directories: false,
dependencies: gpowerd_proto_deps,
)
gpowerd_proto = declare_dependency(
sources: [protobuf_generated],
dependencies: gpowerd_proto_deps,
link_with: [libgpowerd_proto],
)