blob: 240ff40efd0b93325b9c6576d69a64246492852f [file] [log] [blame]
Vijay Khemkae2795302020-07-15 17:28:45 -07001project(
2 'phosphor-health-monitor',
3 'cpp',
4 version: '1.0',
5 default_options: [
Patrick Williams56690152021-09-02 16:06:20 -05006 'cpp_std=c++20',
Vijay Khemkae2795302020-07-15 17:28:45 -07007 ],
Patrick Williams56690152021-09-02 16:06:20 -05008 meson_version: '>=0.57.0',
Vijay Khemkae2795302020-07-15 17:28:45 -07009)
10
Patrick Williams19527c72021-09-02 16:05:11 -050011cpp = meson.get_compiler('cpp')
12
13if cpp.has_header('nlohmann/json.hpp')
14 nlohmann_json = declare_dependency()
15else
16 subproject('nlohmann-json')
17 nlohmann_json = declare_dependency(
18 include_directories: [
19 'subprojects/nlohmann-json/single_include',
20 'subprojects/nlohmann-json/single_include/nlohmann',
21 ]
22 )
23endif
24
Vijay Khemkae2795302020-07-15 17:28:45 -070025executable(
26 'health-monitor',
27 [
28 'healthMonitor.cpp',
29 ],
30 dependencies: [
Patrick Williams19527c72021-09-02 16:05:11 -050031 dependency(
32 'phosphor-dbus-interfaces',
33 fallback: [
34 'phosphor-dbus-interfaces',
35 'phosphor_dbus_interfaces_dep',
36 ],
37 ),
38 dependency(
39 'phosphor-logging',
40 fallback: [ 'phosphor-logging', 'phosphor_logging_dep' ],
41 ),
42 dependency(
43 'sdbusplus',
44 fallback: [ 'sdbusplus', 'sdbusplus_dep' ],
45 ),
46 dependency(
47 'sdeventplus',
48 fallback: [ 'sdeventplus', 'sdeventplus_dep' ],
49 ),
50 nlohmann_json,
Vijay Khemkae2795302020-07-15 17:28:45 -070051 ],
52 install: true,
53 install_dir: get_option('bindir')
54)
55
56install_data(sources : 'bmc_health_config.json', install_dir : '/etc/healthMon')
57
58conf_data = configuration_data()
59conf_data.set('HEALTH_CONFIG_FILE', '"/etc/healthMon/bmc_health_config.json"')
60conf_data.set('HEALTH_BUS_NAME', '"xyz.openbmc_project.HealthMon"')
61conf_data.set('HEALTH_SENSOR_PATH', '"/xyz/openbmc_project/sensors/utilization/"')
Vijay Khemka1d0d0122020-09-29 12:17:43 -070062conf_data.set('SENSOR_OBJPATH', '"/xyz/openbmc_project/sensors"')
Vijay Khemkae2795302020-07-15 17:28:45 -070063
64configure_file(output : 'config.h',
65 configuration : conf_data)
66
67systemd = dependency('systemd')
68conf_data = configuration_data()
69conf_data.set('bindir', get_option('prefix') / get_option('bindir'))
70configure_file(
71 input: 'phosphor-health-monitor.service.in',
72 output: 'phosphor-health-monitor.service',
73 configuration: conf_data,
74 install: true,
75 install_dir: systemd.get_pkgconfig_variable('systemdsystemunitdir'))