1project( 2 'phosphor-health-monitor', 3 'cpp', 4 version: '1.0', 5 default_options: [ 6 'cpp_std=c++23', 7 ], 8 meson_version: '>=1.1.1', 9) 10 11phosphor_logging_dep = dependency('phosphor-logging') 12phosphor_dbus_interfaces_dep = dependency('phosphor-dbus-interfaces') 13sdbusplus_dep = dependency('sdbusplus') 14sdeventplus_dep = dependency('sdeventplus') 15nlohmann_json_dep = dependency('nlohmann_json', include_type: 'system') 16base_deps = [ 17 phosphor_logging_dep, 18 phosphor_dbus_interfaces_dep, 19 sdbusplus_dep, 20 sdeventplus_dep, 21 nlohmann_json_dep 22] 23 24executable( 25 'health-monitor', 26 [ 27 'healthMonitor.cpp', 28 'health_metric_config.cpp', 29 ], 30 dependencies: [ 31 base_deps 32 ], 33 install: true, 34 install_dir: get_option('bindir') 35) 36 37install_data(sources : 'bmc_health_config.json', install_dir : '/etc/healthMon') 38 39conf_data = configuration_data() 40conf_data.set('HEALTH_CONFIG_FILE', '"/etc/healthMon/bmc_health_config.json"') 41conf_data.set('HEALTH_BUS_NAME', '"xyz.openbmc_project.HealthMon"') 42conf_data.set('HEALTH_SENSOR_PATH', '"/xyz/openbmc_project/sensors/utilization/"') 43conf_data.set('SENSOR_OBJPATH', '"/xyz/openbmc_project/sensors"') 44conf_data.set('INVENTORY_OBJPATH', '"/xyz/openbmc_project/inventory"') 45 46configure_file(output : 'config.h', 47 configuration : conf_data) 48 49systemd = dependency('systemd') 50conf_data = configuration_data() 51conf_data.set('bindir', get_option('prefix') / get_option('bindir')) 52configure_file( 53 input: 'phosphor-health-monitor.service.in', 54 output: 'phosphor-health-monitor.service', 55 configuration: conf_data, 56 install: true, 57 install_dir: systemd.get_variable('systemdsystemunitdir')) 58 59if get_option('tests').allowed() 60 subdir('test') 61endif 62