monitor: add cli11 argument parsing
Replace our custom argument parser with one from CLIUtils.
This results in a number of minor behavioral differences.
- The -? option is no longer recognized as an alias for -h/--help.
- The original parser returned EXIT_FAILURE in all cases, but CLIUtils
uses different non-zero error codes in different situations.
- Minor changes to help text descriptions:
----new----
Usage: build/phosphor-unit-failure-monitor.new [OPTIONS]
Options:
-h,--help Print this help message and exit
-s,--source TEXT REQUIRED
-t,--target TEXT REQUIRED
-a,--action ENUM:value in {start->0,stop->1} OR {0,1} REQUIRED
----old----
Usage: build/phosphor-unit-failure-monitor [options]
Options:
--help Print this menu
--source=<source> The source unit to monitor
--target=<target> The target unit to start or stop
--action=<action> Target unit action - start or stop
- The original parser displays the full help text on error, CLIUtils
does not:
----new----
$ phosphor-unit-failure-monitor
--source is required
Run with --help for more information.
----old----
$ phosphor-unit-failure-monitor
ERROR: Source not specified
Usage: build/phosphor-unit-failure-monitor [options]
Options:
--help Print this menu
--source=<source> The source unit to monitor
--target=<target> The target unit to start or stop
--action=<action> Target unit action - start or stop
Change-Id: I2417d9c857c6d8fc04807fe4729d2fa154e746a3
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
diff --git a/meson.build b/meson.build
index 209c49f..a7f3a4f 100644
--- a/meson.build
+++ b/meson.build
@@ -12,6 +12,13 @@
version: '1.0',
)
+cxx = meson.get_compiler('cpp')
+
+if cxx.has_header('CLI/CLI.hpp')
+ cli11_dep = declare_dependency()
+else
+ cli11_dep = dependency('cli11')
+endif
phosphor_logging = dependency('phosphor-logging')
phosphor_dbus_interfaces = dependency('phosphor-dbus-interfaces')
sdbusplus = dependency('sdbusplus')
@@ -104,11 +111,11 @@
executable(
'phosphor-unit-failure-monitor',
[
- 'fail-monitor/argument.cpp',
'fail-monitor/main.cpp',
'fail-monitor/monitor.cpp',
],
dependencies: [
+ cli11_dep,
phosphor_logging,
],
install: true