X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=homescreen%2Fmeson.build;h=9b39d5099aaa5883b428a91e9b60f7c593a2b1c7;hb=refs%2Fchanges%2F98%2F29598%2F1;hp=2402e6c1d48e1ef4fb219cedda778d3f349dbd66;hpb=5d4671ca8e09985471336eef7f6ecfaa79fd768e;p=apps%2Fhomescreen.git diff --git a/homescreen/meson.build b/homescreen/meson.build index 2402e6c..9b39d50 100644 --- a/homescreen/meson.build +++ b/homescreen/meson.build @@ -9,6 +9,10 @@ dep_qtappfw = [ dependency('qtappfw-applauncher') ] +grpcpp_reflection_dep = cpp.find_library('grpc++_reflection') +protoc = find_program('protoc') +grpc_cpp = find_program('grpc_cpp_plugin') + qt_defines = [] qpa_header_path = join_paths(qt5_dep.version(), 'QtGui') qpa_header = join_paths(qpa_header_path, 'qpa/qplatformnativeinterface.h') @@ -19,14 +23,41 @@ if cpp.has_header(qpa_header, dependencies : qt5_dep) message('Found QtGui QPA header in ' + qpa_header_path) endif +dep_scanner = dependency('wayland-scanner') prog_scanner = find_program('wayland-scanner') -agl_compositor_dep = dependency('agl-compositor-0.0.21-protocols') +agl_compositor_version = '0.0.22' +agl_compositor_dep = dependency('agl-compositor-' + agl_compositor_version + '-protocols') dir_agl_compositor_base = agl_compositor_dep.get_variable(pkgconfig: 'pkgdatadir') +protoc_gen = generator(protoc, \ + output : ['@BASENAME@.pb.cc', '@BASENAME@.pb.h'], + arguments : ['--proto_path=@CURRENT_SOURCE_DIR@/proto', + '--cpp_out=@BUILD_DIR@', + '@INPUT@']) + +generated_protoc_sources = protoc_gen.process('proto/agl_shell.proto') + +grpc_gen = generator(protoc, \ + output : ['@BASENAME@.grpc.pb.cc', '@BASENAME@.grpc.pb.h'], + arguments : ['--proto_path=@CURRENT_SOURCE_DIR@/proto', + '--grpc_out=@BUILD_DIR@', + '--plugin=protoc-gen-grpc=' + grpc_cpp.path(), + '@INPUT@']) +generated_grpc_sources = grpc_gen.process('proto/agl_shell.proto') + +grpc_deps = [ + dependency('protobuf'), + dependency('grpc'), + dependency('grpc++'), + grpcpp_reflection_dep, +] + + homescreen_dep = [ qt5_dep, dep_wayland_client, dep_qtappfw, + grpc_deps ] homescreen_resources = [ @@ -59,7 +90,7 @@ foreach proto: protocols output_file = '@0@-server-protocol.h'.format(base_file) else output_file = '@0@-protocol.c'.format(base_file) - if prog_scanner.version().version_compare('< 1.14.91') + if dep_scanner.version().version_compare('< 1.14.91') output_type = 'code' endif endif @@ -82,22 +113,24 @@ homescreen_src_headers = [ 'src/statusbarmodel.h', 'src/statusbarserver.h', 'src/homescreenhandler.h', - 'src/shell.h' + 'src/AglShellGrpcClient.h', ] moc_files = qt5.compile_moc(headers: homescreen_src_headers, dependencies: qt5_dep) homescreen_src = [ - 'src/shell.cpp', 'src/statusbarserver.cpp', 'src/statusbarmodel.cpp', 'src/applicationlauncher.cpp', 'src/mastervolume.cpp', 'src/homescreenhandler.cpp', + 'src/AglShellGrpcClient.cpp', 'src/main.cpp', agl_shell_client_protocol_h, - agl_shell_protocol_c + agl_shell_protocol_c, + generated_protoc_sources, + generated_grpc_sources ] executable('homescreen', homescreen_src, resource_files, moc_files,