From e6722b86eef7c88358d4b4535d75ac3415c12004 Mon Sep 17 00:00:00 2001 From: Paul Elder Date: Sat, 5 Dec 2020 19:30:51 +0900 Subject: meson: ipa, proxy: Generate headers and proxy with mojo MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Run mojo from meson to generate the header, serializer, and proxy files for every pipeline's mojom data definition file. Signed-off-by: Paul Elder Reviewed-by: Laurent Pinchart Reviewed-by: Niklas Söderlund --- src/libcamera/proxy/meson.build | 18 ++++++++++++++++++ src/libcamera/proxy/worker/meson.build | 19 +++++++++++++++++-- 2 files changed, 35 insertions(+), 2 deletions(-) (limited to 'src/libcamera/proxy') diff --git a/src/libcamera/proxy/meson.build b/src/libcamera/proxy/meson.build index bd804750..5c4365e7 100644 --- a/src/libcamera/proxy/meson.build +++ b/src/libcamera/proxy/meson.build @@ -4,3 +4,21 @@ libcamera_sources += files([ 'ipa_proxy_linux.cpp', 'ipa_proxy_thread.cpp', ]) + +# generate {pipeline}_ipa_proxy.cpp +foreach mojom : ipa_mojoms + proxy = custom_target(mojom['name'] + '_proxy_cpp', + input : mojom['mojom'], + output : mojom['name'] + '_ipa_proxy.cpp', + depends : mojom_templates, + command : [ + mojom_generator, 'generate', + '-g', 'libcamera', + '--bytecode_path', mojom_templates_dir, + '--libcamera_generate_proxy_cpp', + '--libcamera_output_path=@OUTPUT@', + './' + '@INPUT@' + ]) + + libcamera_sources += proxy +endforeach diff --git a/src/libcamera/proxy/worker/meson.build b/src/libcamera/proxy/worker/meson.build index ac0310a7..0fd26fd8 100644 --- a/src/libcamera/proxy/worker/meson.build +++ b/src/libcamera/proxy/worker/meson.build @@ -6,8 +6,23 @@ ipa_proxy_sources = [ proxy_install_dir = join_paths(get_option('libexecdir'), 'libcamera') -foreach t : ipa_proxy_sources - proxy = executable(t[0], t[1], +# generate {pipeline}_ipa_proxy_worker.cpp +foreach mojom : ipa_mojoms + worker = custom_target(mojom['name'] + '_proxy_worker', + input : mojom['mojom'], + output : mojom['name'] + '_ipa_proxy_worker.cpp', + depends : mojom_templates, + command : [ + mojom_generator, 'generate', + '-g', 'libcamera', + '--bytecode_path', mojom_templates_dir, + '--libcamera_generate_proxy_worker', + '--libcamera_output_path=@OUTPUT@', + './' + '@INPUT@' + ]) + + proxy = executable(mojom['name'] + '_ipa_proxy', + [worker, libcamera_generated_ipa_headers], install : true, install_dir : proxy_install_dir, dependencies : libcamera_dep) -- cgit v1.2.1