summaryrefslogtreecommitdiffstats
path: root/radio/meson.build
diff options
context:
space:
mode:
Diffstat (limited to 'radio/meson.build')
-rw-r--r--radio/meson.build43
1 files changed, 39 insertions, 4 deletions
diff --git a/radio/meson.build b/radio/meson.build
index c8218a3..7ae1bac 100644
--- a/radio/meson.build
+++ b/radio/meson.build
@@ -1,17 +1,52 @@
+cpp = meson.get_compiler('cpp')
+grpcpp_reflection_dep = cpp.find_library('grpc++_reflection')
+
qt5_dep = dependency('qt5', modules: ['Qml'])
+radio_dep = [
+ qt5_dep,
+ dependency('protobuf'),
+ dependency('grpc'),
+ dependency('grpc++'),
+ grpcpp_reflection_dep,
+]
+
+protoc = find_program('protoc')
+grpc_cpp = find_program('grpc_cpp_plugin')
+
+protoc_gen = generator(protoc, \
+ output : ['@BASENAME@.pb.cc', '@BASENAME@.pb.h'],
+ arguments : ['--proto_path=@CURRENT_SOURCE_DIR@/protos',
+ '--cpp_out=@BUILD_DIR@',
+ '@INPUT@'])
+generated_protoc_sources = protoc_gen.process('protos/radio.proto')
-moc_files = qt5.compile_moc(headers: 'radio.h',
+grpc_gen = generator(protoc, \
+ output : ['@BASENAME@.grpc.pb.cc', '@BASENAME@.grpc.pb.h'],
+ arguments : ['--proto_path=@CURRENT_SOURCE_DIR@/protos',
+ '--grpc_out=@BUILD_DIR@',
+ '--plugin=protoc-gen-grpc=' + grpc_cpp.path(),
+ '@INPUT@'])
+generated_grpc_sources = grpc_gen.process('protos/radio.proto')
+
+moc_files = qt5.compile_moc(headers: ['RadioClient.h', 'RadioGrpcClient.h'],
dependencies: qt5_dep)
-src = ['radio.cpp', moc_files]
+src = [
+ 'RadioClient.cpp',
+ 'RadioGrpcClient.cpp',
+ generated_protoc_sources,
+ generated_grpc_sources,
+ moc_files
+]
+
lib = shared_library('qtappfw-radio',
sources: src,
version: '1.0.0',
soversion: '0',
- dependencies: qt5_dep,
+ dependencies: radio_dep,
install: true)
-install_headers('radio.h')
+install_headers('RadioClient.h')
pkg_mod = import('pkgconfig')
pkg_mod.generate(libraries : lib,