project('random-sensor-protobuf', 'cpp', default_options: ['cpp_std=c++20']) protobuf_dep = dependency('protobuf') grpc_dep = dependency('grpc++', required: true) proto_files = files('../sensor.proto') protobuf_gen = custom_target( 'generate_protobuf', input : proto_files, output : ['sensor.pb.cc', 'sensor.pb.h', 'sensor.grpc.pb.cc', 'sensor.grpc.pb.h'], command : [ 'protoc', '--proto_path=../../', '--cpp_out', '.', '--grpc_out', '.', '--plugin=protoc-gen-grpc=/usr/bin/grpc_cpp_plugin', '@INPUT@' ], ) executable('random-sensor-protobuf', ['random-sensor.cpp', protobuf_gen], dependencies: [protobuf_dep, grpc_dep] )