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*