py: Set PYTHONPATH in devenv

If the python bindings are built, then set the `PYTHONPATH` environmental
variable in the meson devenv accordingly to make it easy to use.

  $ meson devenv -C build
  [libcamera] $ echo $PYTHONPATH
  /libcamera/build/src/py
  [libcamera] $ python
  Python 3.13.3 (main, Apr  9 2025, 07:44:25) [GCC 14.2.1 20250207] on linux
  Type "help", "copyright", "credits" or "license" for more information.
  >>> import libcamera
  >>> cm = libcamera.CameraManager.singleton()
  [...]
  [129:52:33.293860558] [4133380]  INFO Camera camera_manager.cpp:326 libcamera v0.5.0+169-7dbe74b5-dirty (2025-05-01)
  [...]

Signed-off-by: Barnabás Pőcze <barnabas.pocze@ideasonboard.com>
Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Reviewed-by: Paul Elder <paul.elder@ideasonboard.com>
This commit is contained in:
Barnabás Pőcze 2025-05-01 15:35:57 +02:00
parent fabfdd8559
commit 54aeb0447c
2 changed files with 12 additions and 16 deletions

View file

@ -1,21 +1,5 @@
# SPDX-License-Identifier: CC0-1.0 # SPDX-License-Identifier: CC0-1.0
py3_dep = dependency('python3', required : get_option('pycamera'))
if not py3_dep.found()
pycamera_enabled = false
subdir_done()
endif
pybind11_dep = dependency('pybind11', required : get_option('pycamera'))
if not pybind11_dep.found()
pycamera_enabled = false
subdir_done()
endif
pycamera_enabled = true
pycamera_sources = files([ pycamera_sources = files([
'py_camera_manager.cpp', 'py_camera_manager.cpp',
'py_color_space.cpp', 'py_color_space.cpp',

View file

@ -1,3 +1,15 @@
# SPDX-License-Identifier: CC0-1.0 # SPDX-License-Identifier: CC0-1.0
py3_dep = dependency('python3', required : get_option('pycamera'))
pybind11_dep = dependency('pybind11', required : get_option('pycamera'))
pycamera_enabled = py3_dep.found() and pybind11_dep.found()
if not pycamera_enabled
subdir_done()
endif
subdir('libcamera') subdir('libcamera')
pycamera_devenv = environment()
pycamera_devenv.prepend('PYTHONPATH', meson.current_build_dir())
meson.add_devenv(pycamera_devenv)