Get version from git description
authorRicardo Mones <ricardo@mones.org>
Mon, 3 Sep 2018 21:54:20 +0000 (23:54 +0200)
committerRicardo Mones <ricardo@mones.org>
Mon, 3 Sep 2018 21:54:20 +0000 (23:54 +0200)
.gitignore
configure.ac

index edf3c1119cfecc5d84625853310d3bdeff9c23d2..e7f55cd35f014c588e336a4e0be6eb7453c77f4b 100644 (file)
@@ -19,3 +19,4 @@ src/maildir_la-plugin.lo
 src/maildir_la-plugin.o
 src/maildir_la-uiddb.lo
 src/maildir_la-uiddb.o
+version
index 9acb20efa7c58ea8c322076b9a16e231119ec7f1..7da3e1750e2b9fab3138944e434cf055979aa505 100644 (file)
@@ -5,30 +5,35 @@ AM_MAINTAINER_MODE
 PACKAGE=maildir
 
 dnl plugin version
-MAJOR_VERSION=0
-MINOR_VERSION=24
-MICRO_VERSION=4
-EXTRA_VERSION=18
+if test \( -d .git \); then
+    AC_CHECK_PROG([GIT], [git], [yes], [no], [$PATH])
+    if test \( "$GIT" = "no" \); then
+        AC_MSG_ERROR([*** git not found. See http://git-scm.com/])
+    else
+        GIT_VERSION=`git describe --abbrev=6 --dirty --always`
+        echo "echo ${GIT_VERSION}" > ./version
+    fi
+else
+    GIT_VERSION=`sh -c ". $srcdir/version"`
+fi
+
+if test \( -z "$GIT_VERSION" \); then
+        AC_MSG_ERROR([*** could not determine program version])
+fi
+
+MAJOR_VERSION=${GIT_VERSION%%.*}
+MINOR_VERSION=${GIT_VERSION#*.}
+MINOR_VERSION=${MINOR_VERSION%%.*}
+MICRO_VERSION=${GIT_VERSION##*.}
+MICRO_VERSION=${MICRO_VERSION%%-*}
+EXTRA_VERSION=${GIT_VERSION#*-}
+EXTRA_VERSION=${EXTRA_VERSION%%-*}
 
 CFLAGS="$CFLAGS -Wall"
 if test $USE_MAINTAINER_MODE = yes; then
        CFLAGS="$CFLAGS -DGTK_DISABLE_DEPRECATED -DGDK_DISABLE_DEPRECATED -DG_DISABLE_DEPRECATED"
 fi
 
-if test \( $EXTRA_VERSION -eq 0 \); then
-    if test \( $MICRO_VERSION -eq 0 \); then
-        VERSION=${MAJOR_VERSION}.${MINOR_VERSION} 
-    else
-               VERSION=${MAJOR_VERSION}.${MINOR_VERSION}.${MICRO_VERSION}
-    fi
-else
-    if test \( $MICRO_VERSION -eq 0 \); then
-        VERSION=${MAJOR_VERSION}.${MINOR_VERSION}cvs${EXTRA_VERSION}
-    else
-               VERSION=${MAJOR_VERSION}.${MINOR_VERSION}.${MICRO_VERSION}cvs${EXTRA_VERSION}
-    fi
-fi
-
 AM_INIT_AUTOMAKE($PACKAGE, $VERSION, no-define)
 AM_CONFIG_HEADER(pluginconfig.h)
 AC_DEFINE_UNQUOTED(PLUGINVERSION, "$VERSION", [plugin version])