libcamera/meson_options.txt
Javier Martinez Canillas 0a8ac1ee06 meson: Only build pipeline handlers needed in the host architecture
By default all pipeline handlers are built, regardless on whether these
are needed in the host architecture or not. It makes more sense to build
only the pipeline handlers that will be used for the given architecture.

Let's do that by default now, but still allow to build the other
pipeline handlers if needed, by using the `pipelines` meson option. For
example, on a x86-64 platform:

  $ meson build
  ...
    Configuration
    Enabled pipelines        : ipu3
                               uvcvideo
    Enabled IPA modules      : ipu3
  ...

  $ meson build -Dpipelines="ipu3,raspberrypi,rkisp1" -Dtest=true
  ...
    Configuration
    Enabled pipelines        : ipu3
                               raspberrypi
                               rkisp1
                               vimc
    Enabled IPA modules      : ipu3
                               raspberrypi
                               rkisp1
                               vimc
  ...

Suggested-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>
Reviewed-by: Umang Jain <umang.jain@ideasonboard.com>
Reviewed-by: Paul Elder <paul.elder@ideasonboard.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2022-12-24 17:50:28 +02:00

76 lines
2.1 KiB
Meson

# SPDX-License-Identifier: CC0-1.0
option('android',
type : 'feature',
value : 'disabled',
description : 'Compile libcamera with Android Camera3 HAL interface')
option('android_platform',
type : 'combo',
choices : ['cros', 'generic'],
value : 'generic',
description : 'Select the Android platform to compile for')
option('cam',
type : 'feature',
value : 'auto',
description : 'Compile the cam test application')
option('documentation',
type : 'feature',
description : 'Generate the project documentation')
option('gstreamer',
type : 'feature',
value : 'auto',
description : 'Compile libcamera GStreamer plugin')
option('ipas',
type : 'array',
choices : ['ipu3', 'raspberrypi', 'rkisp1', 'vimc'],
description : 'Select which IPA modules to build')
option('lc-compliance',
type : 'feature',
value : 'auto',
description : 'Compile the lc-compliance test application')
option('pipelines',
type : 'array',
value : ['auto'],
choices : [
'auto',
'imx8-isi',
'ipu3',
'raspberrypi',
'rkisp1',
'simple',
'uvcvideo',
'vimc'
],
description : 'Select which pipeline handlers to build. If it this set to auto, all the pipelines applicable to the target architecture will be built.')
option('qcam',
type : 'feature',
value : 'auto',
description : 'Compile the qcam test application')
option('test',
type : 'boolean',
value : false,
description: 'Compile and include the tests')
option('tracing',
type : 'feature',
value : 'auto',
description: 'Enable tracing (based on lttng)')
option('v4l2',
type : 'boolean',
value : false,
description : 'Compile the V4L2 compatibility layer')
option('pycamera',
type : 'feature',
value : 'disabled',
description : 'Enable libcamera Python bindings (experimental)')