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