1project( 2 'power-control', 3 'cpp', 4 default_options: [ 5 'warning_level=3', 6 'cpp_std=c++20' 7 ], 8 license: 'Apache-2.0', 9 version: '0.1', 10 meson_version: '>=0.57.0', 11) 12 13add_project_arguments( 14 '-Wno-psabi', 15 '-DBOOST_SYSTEM_NO_DEPRECATED', 16 '-DBOOST_ERROR_CODE_HEADER_ONLY', 17 '-DBOOST_NO_RTTI', 18 '-DBOOST_NO_TYPEID', 19 '-DBOOST_ALL_NO_LIB', 20 '-DBOOST_ASIO_DISABLE_THREADS', 21 language: 'cpp', 22) 23 24cpp_args = [] 25 26if get_option('chassis-system-reset').enabled() 27 cpp_args += '-DCHASSIS_SYSTEM_RESET' 28endif 29if get_option('use-plt-rst').enabled() 30 cpp_args += '-DUSE_PLT_RST' 31endif 32if get_option('use-acboot').enabled() 33 cpp_args += '-DUSE_ACBOOT' 34endif 35 36deps = [ 37 dependency('libgpiodcxx', default_options: ['bindings=cxx']), 38 dependency('systemd'), 39 dependency('sdbusplus'), 40 dependency('phosphor-logging'), 41 dependency('nlohmann_json'), 42] 43 44executable( 45 'power-control', 46 'src/power_control.cpp', 47 include_directories: include_directories('src'), 48 cpp_args: cpp_args, 49 dependencies: deps, 50 install: true, 51 install_dir: get_option('bindir')) 52 53systemd = dependency('systemd') 54if systemd.found() 55 install_data( 56 'service_files/chassis-system-reset.service', 57 'service_files/chassis-system-reset.target', 58 'service_files/xyz.openbmc_project.Chassis.Control.Power@.service', 59 install_dir: systemd.get_variable(pkgconfig: 'systemdsystemunitdir')) 60endif 61 62install_data( 63 'config/power-config-host0.json', 64 install_dir: '/usr/share/x86-power-control/') 65