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:
@@ -60,6 +60,7 @@ libcamera_sources = files([
|
||||
])
|
||||
|
||||
libcamera_sources += libcamera_public_headers
|
||||
libcamera_sources += libcamera_generated_ipa_headers
|
||||
libcamera_sources += libcamera_tracepoint_header
|
||||
|
||||
includes = [
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user