blob: d60f308a30b0629ba03408e4e45f54d33a5afb01 [file] [log] [blame]
John Wedigdd9478d2023-12-08 14:44:53 -08001project(
Patrick Williams24c61c72025-02-01 08:38:07 -05002 'host_gpio_monitor',
3 'cpp',
4 version: '0.1',
5 meson_version: '>=1.1.1',
6 default_options: ['warning_level=3', 'werror=true', 'cpp_std=c++23'],
John Wedigdd9478d2023-12-08 14:44:53 -08007)
8
Patrick Williams24c61c72025-02-01 08:38:07 -05009absls = ['flags', 'flags_internal', 'flags_parse']
John Wedig376d7812024-11-11 16:45:53 -080010libabsl_deps = []
11foreach absl : absls
Patrick Williams24c61c72025-02-01 08:38:07 -050012 libabsl_deps += dependency('absl_' + absl)
John Wedig376d7812024-11-11 16:45:53 -080013endforeach
14
John Wedigdd9478d2023-12-08 14:44:53 -080015executable(
Patrick Williams24c61c72025-02-01 08:38:07 -050016 'host_gpio_monitor',
17 'host_gpio_monitor.cpp',
18 implicit_include_directories: false,
John Wedig815c8872025-01-07 13:27:02 -080019 include_directories : include_directories('.'),
Patrick Williams24c61c72025-02-01 08:38:07 -050020 dependencies: [
21 dependency('stdplus'),
22 dependency('phosphor-logging'),
23 libabsl_deps,
24 ],
25 install: true,
26 install_dir: get_option('libexecdir'),
John Wedigdd9478d2023-12-08 14:44:53 -080027)
28
29systemd = dependency('systemd')
30systemunitdir = systemd.get_variable('systemdsystemunitdir')
31
32libexecdir = get_option('prefix') / get_option('libexecdir')
33
34configure_file(
Patrick Williams24c61c72025-02-01 08:38:07 -050035 configuration: {'BIN': libexecdir / 'host_gpio_monitor'},
36 input: 'host-gpio-monitor@.service.in',
37 output: 'host-gpio-monitor@.service',
38 install_mode: 'rw-r--r--',
39 install_dir: systemunitdir,
40)
John Wedig815c8872025-01-07 13:27:02 -080041
42# Set up config file with the dbus information that needs to be monitored.
43conf_data = configuration_data()
44conf_data.set_quoted(
45 'DBUS_SERVICE_NAME',
46 get_option('host_monitor_service_name')
47)
48conf_data.set_quoted('DBUS_OBJECT_PATH', get_option('host_monitor_object_path'))
49conf_data.set_quoted('DBUS_INTERFACE', get_option('host_monitor_interface'))
50conf_data.set_quoted('DBUS_PROPERTY_NAME', get_option('host_monitor_property'))
51conf_data.set_quoted(
52 'DBUS_PROPERTY_HOST_IN_RESET_VALUE',
53 get_option('host_monitor_host_in_reset_value')
54)
55conf_data.set_quoted(
56 'DBUS_PROPERTY_HOST_RUNNING_VALUE',
57 get_option('host_monitor_host_running_value')
58)
59configure_file(
60 output: 'host_gpio_monitor_conf.hpp',
61 configuration: conf_data
62)