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