summaryrefslogtreecommitdiff
path: root/meson.build
blob: a3b0bc82007296b17e53b0e343801455b5d06843 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
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

# Use libc++ by default if available instead of libstdc++ when compiling with
# clang.
if cc.get_id() == 'clang' and cc.find_library('libc++', required: false).found()
    cpp_arguments += [
        '-stdlib=libc++',
    ]
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('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')