summaryrefslogtreecommitdiff
path: root/meson.build
diff options
context:
space:
mode:
Diffstat (limited to 'meson.build')
-rw-r--r--meson.build62
1 files changed, 62 insertions, 0 deletions
diff --git a/meson.build b/meson.build
new file mode 100644
index 0000000..847c660
--- /dev/null
+++ b/meson.build
@@ -0,0 +1,62 @@
+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)