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