libcamera/meson.build
Laurent Pinchart df587aa100 libcamera: Make libudev optional
libcamera depends on libudev for device enumeration. It is however
useful to allow building documentation without requiring the dependency
to be installed. Make the libudev dependency optional and compile the
udev-based device enumerator out when libudev is not present.

Note that while libcamera will compile without libudev, it will not be
able to enumerate devices. A sysfs-based device enumerator is planned as
a fallback but not implemented yet.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
2019-04-27 17:11:13 +03:00

58 lines
1.4 KiB
Meson

project('libcamera', 'c', 'cpp',
meson_version: '>= 0.40',
version : '0.1',
default_options: [
'werror=true',
'warning_level=2',
'cpp_std=c++11',
],
license : 'LGPL 2.1+')
# TODO: Extract this from project.version.
# Ideally the version at Documentation/conf.py should be
# generated from this too.
api_version = '0.1'
cc = meson.get_compiler('c')
config_h = configuration_data()
if cc.has_header_symbol('stdlib.h', 'secure_getenv', prefix: '#define _GNU_SOURCE')
config_h.set('HAVE_SECURE_GETENV', 1)
endif
common_arguments = [
'-Wno-unused-parameter',
'-include', 'config.h',
]
c_arguments = common_arguments
cpp_arguments = common_arguments
add_project_arguments(c_arguments, language: 'c')
add_project_arguments(cpp_arguments, language: 'cpp')
libcamera_includes = include_directories('include')
subdir('include')
subdir('src')
subdir('utils')
# The documentation and test components are optional and can be disabled
# through configuration values. They are enabled by default.
if get_option('documentation')
subdir('Documentation')
endif
if get_option('tests')
subdir('test')
endif
configure_file(output: 'config.h', configuration: config_h)
pkg_mod = import('pkgconfig')
pkg_mod.generate(libraries : libcamera,
version : '1.0',
name : 'libcamera',
filebase : 'camera',
description : 'Complex Camera Support Library')