From b4fdf1773bcc4ffe026955bf6f06d6c70289713c Mon Sep 17 00:00:00 2001
From: Erwan Jahier <erwan.jahier@univ-grenoble-alpes.fr>
Date: Fri, 5 Apr 2019 10:25:00 +0200
Subject: [PATCH] Build: track the Makefile.version so that src/lutlsVersion.ml
 can be regenerated each time

---
 Makefile.dev         |  4 ++++
 Makefile.version     | 15 +++++++++++++++
 doc/version.tex      |  4 ----
 src/lutilsVersion.ml |  2 --
 4 files changed, 19 insertions(+), 6 deletions(-)
 create mode 100644 Makefile.version
 delete mode 100644 doc/version.tex
 delete mode 100644 src/lutilsVersion.ml

diff --git a/Makefile.dev b/Makefile.dev
index 0efdc12..cb0366a 100644
--- a/Makefile.dev
+++ b/Makefile.dev
@@ -32,7 +32,11 @@ update_version:
 	rm -f src/lutilsVersion.ml
 	make src/lutilsVersion.ml
 	cp _oasis _oasis.save
+ifneq (,$(findstring -,$(VERSION)))
+	echo "won't update _oasis"
+else
 	cat _oasis.save | sed "s/^Version:.*/Version:     $(VERSION)/" > _oasis
+endif
 	rm -f committed
 	make clean && make
 
diff --git a/Makefile.version b/Makefile.version
new file mode 100644
index 0000000..f3e2c02
--- /dev/null
+++ b/Makefile.version
@@ -0,0 +1,15 @@
+
+SHA:=$(shell git log -1 --pretty=format:"%h")
+
+# Both work. Which one is the best?
+VERSION=$(shell ./node_modules/.bin/git-latest-semver-tag)
+VERSION=$(shell git describe --tags)
+
+del_version:
+	rm -f src/lutilsVersion.ml
+
+gen_version: del_version src/lutilsVersion.ml 
+
+src/lutilsVersion.ml:
+	echo "let str=\"$(VERSION)\"" > src/lutilsVersion.ml ; \
+	echo "let sha=\"$(SHA)\"" >> src/lutilsVersion.ml 
diff --git a/doc/version.tex b/doc/version.tex
deleted file mode 100644
index 8add3d8..0000000
--- a/doc/version.tex
+++ /dev/null
@@ -1,4 +0,0 @@
-\newcommand{\version}{1.48.4}
-\newcommand{\sha}{d90fc9d}
-\newcommand{\versionname}{none}
-\newcommand{\versiondate}{28-01-19}
diff --git a/src/lutilsVersion.ml b/src/lutilsVersion.ml
deleted file mode 100644
index 2ac792b..0000000
--- a/src/lutilsVersion.ml
+++ /dev/null
@@ -1,2 +0,0 @@
-let str="1.48.4"
-let sha="d90fc9d"
-- 
GitLab