Added --help option
authorJoel Holdsworth <joel@airwebreathe.org.uk>
Sat, 13 Oct 2012 00:15:47 +0000 (01:15 +0100)
committerUwe Hermann <uwe@hermann-uwe.de>
Sat, 13 Oct 2012 13:02:59 +0000 (15:02 +0200)
CMakeLists.txt
config.h.in
main.cpp

index d1f122c416fb52116864329cfe97f218e5677259..0d3464b78fb51493987539b76e5aac5eb9905a01 100644 (file)
@@ -59,6 +59,7 @@ find_package(Boost 1.46 COMPONENTS unit_test_framework REQUIRED)
 #-------------------------------------------------------------------------------
 
 set(PV_TITLE PulseView)
+set(PV_DESCRIPTION "A GUI for sigrok")
 
 set(PV_VERSION_MAJOR 0)
 set(PV_VERSION_MINOR 1)
index 6caa2303f26ae78230c83d2cfd1d00d0e12fd6f3..8f49bbf7187ab10c1ac5648f0d82c3d1bac7913e 100644 (file)
@@ -22,6 +22,8 @@
 
 /* Application Details */
 #define PV_TITLE "@PV_TITLE@"
+#define PV_DESCRIPTION "@PV_DESCRIPTION@"
+#define PV_BIN_NAME "@PROJECT_NAME@"
 
 /* Pulseview version information */
 #define PV_VERSION_MAJOR @PV_VERSION_MAJOR@
index a94f64c67b07b60b45cf2b96b5cb1fc264fbf8c6..b7ba5d8994e79c3d5fea053a2d59802ee378d16c 100644 (file)
--- a/main.cpp
+++ b/main.cpp
@@ -33,6 +33,18 @@ extern "C" {
 
 #include "config.h"
 
+void usage()
+{
+       fprintf(stderr,
+               "Usage:\n"
+               "  %s — %s\n"
+               "\n"
+               "Help Options:\n"
+               "  -V, --version                   Show release version\n"
+               "  -h, -?, --help                  Show help option\n"
+               "\n", PV_BIN_NAME, PV_DESCRIPTION);
+}
+
 int main(int argc, char *argv[])
 {
        QApplication a(argc, argv);
@@ -46,10 +58,12 @@ int main(int argc, char *argv[])
        while (1) {
                static const struct option long_options[] = {
                        {"version", no_argument, 0,  'V'},
+                       {"help", no_argument, 0,  'h'},
                        {0, 0, 0, 0}
                };
 
-               const char c = getopt_long(argc, argv, "V", long_options, NULL);
+               const char c = getopt_long(argc, argv,
+                       "Vh?", long_options, NULL);
                if (c == -1)
                        break;
 
@@ -58,6 +72,11 @@ int main(int argc, char *argv[])
                        // Print version info
                        fprintf(stderr, "%s %s\n", PV_TITLE, PV_VERSION_STRING);
                        return 0;
+
+               case 'h':
+               case '?':
+                       usage();
+                       return 0;
                }
        }