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 40conf_data = configuration_data() 41conf_data.set('HEALTH_CONFIG_FILE', '"/etc/healthMon/bmc_health_config.json"') 42conf_data.set('MONITOR_COLLECTION_INTERVAL', get_option('monitor-collection-interval')) 43 44configure_file(output : 'config.h', 45 configuration : conf_data) 46 47systemd = dependency('systemd') 48conf_data = configuration_data() 49conf_data.set('bindir', get_option('prefix') / get_option('bindir')) 50configure_file( 51 input: 'phosphor-health-monitor.service.in', 52 output: 'phosphor-health-monitor.service', 53 configuration: conf_data, 54 install: true, 55 install_dir: systemd.get_variable('systemdsystemunitdir')) 56 57if get_option('tests').allowed() 58 subdir('test') 59endif 60