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