summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLeonardo Hernández Hernández <leohdz172@protonmail.com>2022-05-09 14:52:03 -0500
committerLeonardo Hernández Hernández <leohdz172@protonmail.com>2022-05-09 16:24:36 -0500
commit5d8084daa7812931b53d65312b2cebf9a8453e49 (patch)
treea454f5369f973bbec2ed06b500082de3f8de1756
parent07d56c6d7ba0a35f83d4de4895c04e31edadbdb1 (diff)
add flag to print version and exit
-rw-r--r--Makefile2
-rw-r--r--config.mk3
-rw-r--r--dwl.c4
-rwxr-xr-xgenerate-version.sh13
4 files changed, 20 insertions, 2 deletions
diff --git a/Makefile b/Makefile
index 48a0aa7..c235633 100644
--- a/Makefile
+++ b/Makefile
@@ -1,6 +1,6 @@
include config.mk
-CFLAGS += -I. -DWLR_USE_UNSTABLE -std=c99 -pedantic
+CFLAGS += -I. -DWLR_USE_UNSTABLE -std=c99 -pedantic -DVERSION=\"$(VERSION)\"
WAYLAND_PROTOCOLS=$(shell pkg-config --variable=pkgdatadir wayland-protocols)
WAYLAND_SCANNER=$(shell pkg-config --variable=wayland_scanner wayland-scanner)
diff --git a/config.mk b/config.mk
index 960fc8a..37b4114 100644
--- a/config.mk
+++ b/config.mk
@@ -1,3 +1,6 @@
+_VERSION = 0.3.1
+VERSION = $(shell ./generate-version.sh $(_VERSION))
+
# paths
PREFIX = /usr/local
MANDIR = $(PREFIX)/share/man
diff --git a/dwl.c b/dwl.c
index 74b11a8..48eb1a3 100644
--- a/dwl.c
+++ b/dwl.c
@@ -2516,9 +2516,11 @@ main(int argc, char *argv[])
char *startup_cmd = NULL;
int c;
- while ((c = getopt(argc, argv, "s:h")) != -1) {
+ while ((c = getopt(argc, argv, "s:hv")) != -1) {
if (c == 's')
startup_cmd = optarg;
+ else if (c == 'v')
+ die("dwl " VERSION);
else
goto usage;
}
diff --git a/generate-version.sh b/generate-version.sh
new file mode 100755
index 0000000..cf408e1
--- /dev/null
+++ b/generate-version.sh
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+if git tag --contains HEAD | grep -q $1; then
+ echo $1
+else
+ branch="$(git rev-parse --abbrev-ref HEAD)"
+ commit="$(git rev-parse --short HEAD)"
+ if [ "${branch}" != "main" ]; then
+ echo $1-$branch-$commit
+ else
+ echo $1-$commit
+ fi
+fi