meson: ipa, proxy: Generate headers and proxy with mojo

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 <paul.elder@ideasonboard.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>
This commit is contained in:
Paul Elder
2020-12-05 19:30:51 +09:00
parent 4000ed4d8d
commit e6722b86ee
6 changed files with 172 additions and 2 deletions
+1
View File
@@ -60,6 +60,7 @@ libcamera_sources = files([
])
libcamera_sources += libcamera_public_headers
libcamera_sources += libcamera_generated_ipa_headers
libcamera_sources += libcamera_tracepoint_header
includes = [
+18
View File
@@ -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
+17 -2
View File
@@ -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)