Add libcamera Python bindings. pybind11 is used to generate the C++ <-> Python layer. We use pybind11 'smart_holder' version to avoid issues with private destructors and shared_ptr. There is also an alternative solution here: https://github.com/pybind/pybind11/pull/2067 Only a subset of libcamera classes are exposed. Implementing and testing the wrapper classes is challenging, and as such only classes that I have needed have been added so far. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
42 lines
1.2 KiB
Meson
42 lines
1.2 KiB
Meson
# SPDX-License-Identifier: CC0-1.0
|
|
|
|
# Cache system paths
|
|
libcamera_datadir = get_option('datadir') / 'libcamera'
|
|
libcamera_libdir = get_option('libdir') / 'libcamera'
|
|
libcamera_sysconfdir = get_option('sysconfdir') / 'libcamera'
|
|
|
|
config_h.set('LIBCAMERA_DATA_DIR', '"' + get_option('prefix') / libcamera_datadir + '"')
|
|
config_h.set('LIBCAMERA_SYSCONF_DIR', '"' + get_option('prefix') / libcamera_sysconfdir + '"')
|
|
|
|
summary({
|
|
'LIBCAMERA_DATA_DIR' : config_h.get('LIBCAMERA_DATA_DIR'),
|
|
'LIBCAMERA_SYSCONF_DIR' : config_h.get('LIBCAMERA_SYSCONF_DIR'),
|
|
}, section : 'Paths')
|
|
|
|
# Module Signing
|
|
openssl = find_program('openssl', required : true)
|
|
if openssl.found()
|
|
ipa_priv_key = custom_target('ipa-priv-key',
|
|
output : ['ipa-priv-key.pem'],
|
|
command : [gen_ipa_priv_key, '@OUTPUT@'])
|
|
config_h.set('HAVE_IPA_PUBKEY', 1)
|
|
ipa_sign_module = true
|
|
else
|
|
ipa_sign_module = false
|
|
endif
|
|
|
|
# libcamera must be built first as a dependency to the other components.
|
|
subdir('libcamera')
|
|
|
|
subdir('android')
|
|
subdir('ipa')
|
|
|
|
subdir('lc-compliance')
|
|
|
|
subdir('cam')
|
|
subdir('qcam')
|
|
|
|
subdir('gstreamer')
|
|
subdir('py')
|
|
subdir('v4l2')
|