project( 'buildhelper', 'cpp', version : '0.1', default_options : [ 'warning_level=3', 'cpp_std=c++17', ], ) protobuf_dep = dependency( 'protobuf-lite', fallback: ['protobuf', 'protobuf_lite_dep'], ) protoc = find_program('protoc', native: true) protoc_gen = generator( protoc, output: ['@BASENAME@.pb.cc', '@BASENAME@.pb.h'], depfile: '@BASENAME@.deps', arguments: ['-I@SOURCE_ROOT@/apis/remote-apis', '-I@SOURCE_ROOT@/apis/googleapis', '--cpp_out=@BUILD_DIR@', '--dependency_out=@DEPFILE@', '@INPUT@'], ) google_apis = protoc_gen.process( [ 'apis/googleapis/google/api/annotations.proto', 'apis/googleapis/google/api/client.proto', 'apis/googleapis/google/api/http.proto', 'apis/googleapis/google/api/launch_stage.proto', 'apis/googleapis/google/longrunning/operations.proto', 'apis/googleapis/google/rpc/status.proto', ], preserve_path_from: meson.project_source_root() + '/apis/googleapis', ) remote_apis = protoc_gen.process( [ 'apis/remote-apis/build/bazel/semver/semver.proto', 'apis/remote-apis/build/bazel/remote/execution/v2/remote_execution.proto', ], preserve_path_from: meson.project_source_root() + '/apis/remote-apis', ) libapis = static_library('apis', [google_apis, remote_apis]) executable('buildhelper', 'src/args.cc', 'src/buffer.cc', 'src/logger_base.cc', 'src/logger_file.cc', 'src/logger_null.cc', 'src/logger_stdio.cc', 'src/logger_syslog.cc', 'src/looper_poll.cc', 'src/main.cc', 'src/net.cc', 'src/ro_buffer.cc', 'src/server.cc', 'src/unique_fd.cc', link_with: libapis, install : true)