1*# Compiler flags 2*cpp_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 26*boost_dep = dependency('boost', required: true) 27* 28*# Definitions 29*add_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 40*inc = include_directories('include') 41* 42*# Executable 43* 44* 45*boost = dependency('boost', version: '1.73.0', required: false) 46*sdbusplus = dependency('sdbusplus', required: false) 47* 48*executable( 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* 57*systemd_dep = dependency('systemd', required: true) 58*incdir = include_directories('include') 59*executable( 60* 'callback-manager', 61* 'src/callback_manager.cpp', 62* include_directories: incdir, 63* dependencies: [boost, sdbusplus, systemd_dep], 64*) 65*# Systemd service files 66*systemd_system_unit_dir = systemd_dep.get_pkgconfig_variable( 67* 'systemdsystemunitdir', 68*) 69* 70*install_data( 71* 'service_files/callback-manager.service', 72* install_dir: systemd_system_unit_dir, 73*) 74*