GPIO Monitor with multiple lines and libgpiod
Added a new GPIO monitor (phosphor-multi-gpio-monitor) which monitors
multiple gpio lines based on their line name or offset. GPIO details
need to be defined in a JSON file and needs to be passed to this daemon.
This uses libgpiod for accessing gpio lines and also uses CLI11 for
parsing input parameter.
Signed-off-by: Vijay Khemka <vijaykhemka@fb.com>
Change-Id: I843e6df8c1159888f2ca628d1f69c1d2294d29d6
diff --git a/meson.build b/meson.build
index 0f4f937..0f94b29 100644
--- a/meson.build
+++ b/meson.build
@@ -15,11 +15,16 @@
cppfs = meson.get_compiler('cpp').find_library('stdc++fs')
libevdev = dependency('libevdev')
libsystemd = dependency('libsystemd')
+libgpiod = dependency('libgpiod')
phosphor_dbus_interfaces = dependency('phosphor-dbus-interfaces')
phosphor_logging = dependency('phosphor-logging')
sdbusplus = dependency('sdbusplus')
systemd = dependency('systemd')
+boost_args = ['-DBOOST_ASIO_DISABLE_THREADS',
+ '-DBOOST_ERROR_CODE_HEADER_ONLY',
+ '-DBOOST_SYSTEM_NO_DEPRECATED']
+
systemd_system_unit_dir = systemd.get_pkgconfig_variable(
'systemdsystemunitdir',
define_variable: ['prefix', get_option('prefix')])
@@ -80,6 +85,19 @@
],
)
+executable(
+ 'phosphor-multi-gpio-monitor',
+ 'gpioMonMain.cpp',
+ 'gpioMon.cpp',
+ dependencies: [
+ phosphor_logging,
+ sdbusplus,
+ libgpiod,
+ ],
+ cpp_args: boost_args,
+ install: true,
+)
+
subdir('gpio-util')
subdir('presence')
subdir('test')