tenseleyflow/gitswitch / 3a0fb9f

Browse files

build: fall back to VERSION file when git describe fails

Authored by espadonne
SHA
3a0fb9f25422089b2262fe78e15e831886d0ba04
Parents
dafc91b
Tree
6348a73

2 changed files

StatusFile+-
M Makefile 7 2
A VERSION 1 0
Makefilemodified
@@ -5,8 +5,13 @@
55
 PROJECT_NAME = gitswitch-c
66
 TARGET = gitswitch
77
 
8
-# Version: use VERSION/COMMIT env vars if set (for tarball builds), else extract from git
9
-VERSION ?= $(shell git describe --tags --always 2>/dev/null | sed 's/^v//' || echo "unknown")
8
+# Version: use VERSION/COMMIT env vars if set (for tarball builds), else extract
9
+# from git, and fall back to the VERSION file shipped in source tarballs when
10
+# `git describe` produces nothing (e.g. GitHub release tarballs strip .git).
11
+VERSION ?= $(shell git describe --tags --always 2>/dev/null | sed 's/^v//')
12
+ifeq ($(strip $(VERSION)),)
13
+    VERSION := $(shell cat VERSION 2>/dev/null || echo unknown)
14
+endif
1015
 COMMIT ?= $(shell git rev-parse --short HEAD 2>/dev/null || echo "unknown")
1116
 VERSION_FLAGS = -DGITSWITCH_VERSION=\"$(VERSION)\" -DGITSWITCH_COMMIT=\"$(COMMIT)\"
1217
 
VERSIONadded
@@ -0,0 +1,1 @@
1
+1.3.1