libcamera/meson.build
Laurent Pinchart 8a92e6fc72 meson: Rename 'tests' option to 'test'
The 'tests' option enables compilation of tests. On Gentoo and Chrome
OS, the corresponding package USE flag is named 'test'. Rename the
option to 'test' to bring it in line.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Jacopo Mondi <jacopo@jmondi.org>
2019-08-22 19:35:54 +03:00

87 lines
2.6 KiB
Meson

project('libcamera', 'c', 'cpp',
meson_version : '>= 0.40',
version : '0.0.0',
default_options : [
'werror=true',
'warning_level=2',
'cpp_std=c++11',
],
license : 'LGPL 2.1+')
# Generate version information. The libcamera_git_version variable contains the
# full version with git patch count and SHA1 (e.g. 1.2.3+211-c94a24f4), while
# the libcamera_version variable contains the major.minor.patch (e.g. 1.2.3)
# only. If the source tree isn't under git control, or if it matches the last
# git version tag, the build metadata (e.g. +211-c94a24f4) is omitted from
# libcamera_git_version.
libcamera_git_version = run_command('utils/gen-version.sh',
meson.build_root()).stdout().strip()
if libcamera_git_version == ''
libcamera_git_version = meson.project_version()
endif
libcamera_version = libcamera_git_version.split('+')[0]
# Configure the build environment.
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
if cc.get_id() == 'clang'
# Turn _FORTIFY_SOURCE by default on optimised builds (as it requires -O1
# or higher). This is needed on clang only as gcc enables it by default.
if get_option('optimization') != '0'
common_arguments += [
'-D_FORTIFY_SOURCE=2',
]
endif
# Use libc++ by default if available instead of libstdc++ when compiling
# with clang.
if cc.find_library('libc++', required: false).found()
cpp_arguments += [
'-stdlib=libc++',
]
endif
endif
add_project_arguments(c_arguments, language : 'c')
add_project_arguments(cpp_arguments, language : 'cpp')
add_project_link_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('test')
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')