diff options
author | Dave Reisner <dreisner@archlinux.org> | 2013-03-14 19:56:18 -0400 |
---|---|---|
committer | Dave Reisner <dreisner@archlinux.org> | 2013-04-10 10:12:43 -0400 |
commit | 30cd5880addf928908817f5e433ea993c83db912 (patch) | |
tree | 5587789d55132e41ee71f841b7cc8df824e41ad2 | |
parent | 230a127bc8fdf638a0ecccecf43cfed425f30468 (diff) | |
download | mirror-ponymix-30cd5880addf928908817f5e433ea993c83db912.tar.gz mirror-ponymix-30cd5880addf928908817f5e433ea993c83db912.tar.bz2 mirror-ponymix-30cd5880addf928908817f5e433ea993c83db912.zip |
add version function, wire it up from the makefile
-rw-r--r-- | Makefile | 10 | ||||
-rw-r--r-- | bash-completion | 2 | ||||
-rw-r--r-- | ponymix.cc | 14 | ||||
-rw-r--r-- | zsh-completion | 2 |
4 files changed, 23 insertions, 5 deletions
@@ -1,6 +1,13 @@ +V=1 +VDEVEL=$(shell test -d .git && git describe 2>/dev/null) + +ifneq "$(VDEVEL)" "" +V=$(VDEVEL) +endif + CXX := $(CXX) -std=c++11 -base_CXXFLAGS = -Wall -Wextra -pedantic -O2 -g +base_CXXFLAGS = -Wall -Wextra -pedantic -O2 -g -DPONYMIX_VERSION=\"$(V)\" base_LIBS = -lm libpulse_CXXFLAGS = $(shell pkg-config --cflags libpulse) @@ -35,6 +42,5 @@ install: ponymix clean: $(RM) ponymix pulse.o -V=$(shell if test -d .git; then git describe; fi) dist: git archive --format=tar --prefix=ponymix-$(V)/ HEAD | gzip -9 > ponymix-$(V).tar.gz diff --git a/bash-completion b/bash-completion index fc71557..ead700b 100644 --- a/bash-completion +++ b/bash-completion @@ -10,7 +10,7 @@ in_array() { _ponymix() { local flags='-h --help -c --card -d --device -t --devtype -N --notify --source --input --sink --output - --sink-input --source-output' + --sink-input --source-output -V --version' local types='sink sink-input source source-output' local verbs=(help defaults set-default list list-short list-cards list-cards-short get-volume set-volume @@ -473,10 +473,16 @@ static const std::pair<const string, const Command>& string_to_command( return *match; } +static void version() { + fputs("ponymix v" PONYMIX_VERSION "\n", stdout); + exit(EXIT_SUCCESS); +} + static void usage() { printf("usage: %s [options] <command>...\n", program_invocation_short_name); fputs("\nOptions:\n" - " -h, --help display this help and exit\n\n" + " -h, --help display this help and exit\n" + " -V, --version display program version and exit\n\n" " -c, --card CARD target card (index or name)\n" " -d, --device DEVICE target device (index or name)\n" @@ -559,6 +565,7 @@ bool parse_options(int argc, char** argv) { { "help", no_argument, 0, 'h' }, { "notify", no_argument, 0, 'N' }, { "type", required_argument, 0, 't' }, + { "version", no_argument, 0, 'V' }, { "sink", no_argument, 0, 0x100 }, { "output", no_argument, 0, 0x101 }, { "source", no_argument, 0, 0x102 }, @@ -569,7 +576,7 @@ bool parse_options(int argc, char** argv) { }; for (;;) { - int opt = getopt_long(argc, argv, "c:d:hNt:", opts, nullptr); + int opt = getopt_long(argc, argv, "c:d:hNt:V", opts, nullptr); if (opt == -1) break; @@ -590,6 +597,9 @@ bool parse_options(int argc, char** argv) { opt_devtype = string_to_devtype_or_die(optarg); opt_listrestrict = true; break; + case 'V': + version(); + break; case 0x100: case 0x101: opt_devtype = DEVTYPE_SINK; diff --git a/zsh-completion b/zsh-completion index 4a08a59..c16fbd6 100644 --- a/zsh-completion +++ b/zsh-completion @@ -107,6 +107,8 @@ else '(-c --card -d --device)'{-d,--device}'[Select Device]:devices:_devices' \ - '(help)' \ {-h,--help}'[display this help and exit]' \ + - '(version)' \ + {-V,--version}'[display program version and exit]' \ - '(sink)' \ '--sink[alias to type sink]' \ '--output[alias to type sink]' \ |