xref: /openbmc/s2600wf-misc/callback-manager/meson.build (revision 2ac1af7085679fbb90c0ba26dab0df8286165c16)
1project(
2    'callback-manager',
3    'cpp',
4    version: '1.1.1',
5    meson_version: '>=1.1.1',
6    default_options: ['cpp_std=c++23'],
7)
8
9# Compiler flags
10cpp_args = [
11    '-Werror',
12    '-Wall',
13    '-Wextra',
14    '-Wshadow',
15    '-Wnon-virtual-dtor',
16    '-Wold-style-cast',
17    '-Wcast-align',
18    '-Wunused',
19    '-Woverloaded-virtual',
20    '-Wpedantic',
21    '-Wconversion',
22    '-Wmisleading-indentation',
23    '-Wduplicated-cond',
24    '-Wduplicated-branches',
25    '-Wlogical-op',
26    '-Wnull-dereference',
27    '-Wuseless-cast',
28    '-Wdouble-promotion',
29    '-Wformat=2',
30    '-fno-rtti',
31]
32
33# Definitions
34add_project_arguments(
35    '-DBOOST_ERROR_CODE_HEADER_ONLY',
36    '-DBOOST_SYSTEM_NO_DEPRECATED',
37    '-DBOOST_ALL_NO_LIB',
38    '-DBOOST_NO_RTTI',
39    '-DBOOST_NO_TYPEID',
40    '-DBOOST_ASIO_DISABLE_THREADS',
41    language: 'cpp',
42)
43
44# Include directories
45inc = include_directories('include')
46
47boost = dependency('boost', version: '1.86.0', required: false)
48sdbusplus = dependency('sdbusplus', required: true)
49
50executable(
51    'callback-manager',
52    'src/callback_manager.cpp',
53    include_directories: inc,
54    cpp_args: cpp_args,
55    dependencies: [boost, sdbusplus],
56)
57
58# Systemd service files
59systemd_system_unit_dir = dependency('systemd').get_variable(
60    'systemdsystemunitdir',
61)
62
63install_data(
64    'service_files/callback-manager.service',
65    install_dir: systemd_system_unit_dir,
66)
67