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 'health_metric_config.cpp', 28 'health_metric.cpp', 29 'health_utils.cpp', 30 'health_metric_collection.cpp', 31 'health_monitor.cpp', 32 ], 33 dependencies: [ 34 base_deps 35 ], 36 install: true, 37 install_dir: get_option('bindir') 38) 39 40install_data(sources : 'bmc_health_config.json', install_dir : '/etc/healthMon') 41 42conf_data = configuration_data() 43conf_data.set('HEALTH_CONFIG_FILE', '"/etc/healthMon/bmc_health_config.json"') 44conf_data.set('HEALTH_BUS_NAME', '"xyz.openbmc_project.HealthMon"') 45conf_data.set('HEALTH_SENSOR_PATH', '"/xyz/openbmc_project/sensors/utilization/"') 46conf_data.set('SENSOR_OBJPATH', '"/xyz/openbmc_project/sensors"') 47conf_data.set('INVENTORY_OBJPATH', '"/xyz/openbmc_project/inventory"') 48 49configure_file(output : 'config.h', 50 configuration : conf_data) 51 52systemd = dependency('systemd') 53conf_data = configuration_data() 54conf_data.set('bindir', get_option('prefix') / get_option('bindir')) 55configure_file( 56 input: 'phosphor-health-monitor.service.in', 57 output: 'phosphor-health-monitor.service', 58 configuration: conf_data, 59 install: true, 60 install_dir: systemd.get_variable('systemdsystemunitdir')) 61 62if get_option('tests').allowed() 63 subdir('test') 64endif 65