xref: /openbmc/dbus-sensors/meson.build (revision 3911b821)
1project(
2    'dbus-sensors',
3    'cpp',
4    default_options: [
5        'warning_level=3',
6        'werror=true',
7        'cpp_std=c++20'
8    ],
9    license: 'Apache-2.0',
10    version: '0.1',
11    meson_version: '>=0.57.0',
12)
13
14add_project_arguments(
15    '-DBOOST_SYSTEM_NO_DEPRECATED',
16    '-DBOOST_ERROR_CODE_HEADER_ONLY',
17    '-DBOOST_NO_RTTI',
18    '-DBOOST_NO_TYPEID',
19    '-DBOOST_ALL_NO_LIB',
20    '-DBOOST_ASIO_DISABLE_THREADS',
21    '-DBOOST_ALLOW_DEPRECATED_HEADERS',
22    language: 'cpp',
23)
24
25build_tests = get_option('tests')
26gpiodcxx = dependency(
27    'libgpiodcxx',
28    fallback: ['libgpiod', 'gpiodcxx_dep'],
29    default_options: ['bindings=cxx'],
30)
31
32# i2c-tools doesn't ship a pkg-config file for libi2c
33i2c = meson.get_compiler('cpp').find_library('i2c')
34
35sdbusplus = dependency(
36    'sdbusplus',
37    fallback: [
38        'sdbusplus',
39        'sdbusplus_dep'
40    ],
41)
42
43systemd = dependency('systemd')
44systemd_system_unit_dir = systemd.get_variable(
45    pkgconfig: 'systemdsystemunitdir',
46    pkgconfig_define: ['prefix', get_option('prefix')])
47threads = dependency('threads')
48
49thresholds_a = static_library(
50    'thresholds_a',
51    'src/Thresholds.cpp',
52    dependencies: [ sdbusplus ],
53    implicit_include_directories: false,
54    include_directories: 'include',
55)
56
57utils_a = static_library(
58    'utils_a',
59    ['src/Utils.cpp', 'src/SensorPaths.cpp'],
60    dependencies: [ sdbusplus ],
61    implicit_include_directories: false,
62    include_directories: 'include',
63)
64
65pwmsensor_a = static_library(
66    'pwmsensor_a',
67    'src/PwmSensor.cpp',
68    dependencies: [ sdbusplus ],
69    implicit_include_directories: false,
70    include_directories: 'include',
71)
72
73subdir('include')
74subdir('service_files')
75subdir('src')
76
77if not build_tests.disabled()
78    subdir('tests')
79endif
80