Include commit hash if possible in versioning script, if a non-stable tree is compiled

This commit is contained in:
o9000 2017-11-26 18:20:26 +01:00
parent 7e383c395e
commit abdb1aeff9

View file

@ -2,6 +2,7 @@
SCRIPT_DIR=$(dirname "$0") SCRIPT_DIR=$(dirname "$0")
DIRTY="" DIRTY=""
VERSION=""
if [ -d ${SCRIPT_DIR}/.git ] && git status 1>/dev/null 2>/dev/null if [ -d ${SCRIPT_DIR}/.git ] && git status 1>/dev/null 2>/dev/null
then then
@ -31,17 +32,23 @@ then
DIRTY="-dirty" DIRTY="-dirty"
fi fi
fi fi
VERSION=$(git describe 2>/dev/null)$DIRTY if git describe 1>/dev/null 2>/dev/null
elif [ -d ${SCRIPT_DIR}/.git ] && git log -n 1 1>/dev/null 2>/dev/null
then
VERSION=$(head -n 1 "${SCRIPT_DIR}/ChangeLog" | cut -d ' ' -f 2)
if [ "$VERSION" = "master" ]
then then
PREVIOUS=$(grep '^2' "${SCRIPT_DIR}/ChangeLog" | head -n 2 | tail -n 1 | cut -d ' ' -f 2) VERSION=$(git describe 2>/dev/null)$DIRTY
HASH=$(git log -n 1 --pretty=format:"%h" 2>/dev/null) elif git log -n 1 1>/dev/null 2>/dev/null
VERSION=$PREVIOUS-$HASH then
VERSION=$(head -n 1 "${SCRIPT_DIR}/ChangeLog" | cut -d ' ' -f 2)
if [ "$VERSION" = "master" ]
then
PREVIOUS=$(grep '^2' "${SCRIPT_DIR}/ChangeLog" | head -n 2 | tail -n 1 | cut -d ' ' -f 2)
HASH=$(git log -n 1 --pretty=format:"%h" 2>/dev/null)
VERSION=$PREVIOUS-$HASH
fi
fi fi
else fi
if [ -z "$VERSION" ]
then
VERSION=$(head -n 1 "${SCRIPT_DIR}/ChangeLog" | cut -d ' ' -f 2) VERSION=$(head -n 1 "${SCRIPT_DIR}/ChangeLog" | cut -d ' ' -f 2)
if [ "$VERSION" = "master" ] if [ "$VERSION" = "master" ]
then then
@ -49,7 +56,6 @@ else
fi fi
fi fi
VERSION=$(echo "$VERSION" | sed 's/^v//') VERSION=$(echo "$VERSION" | sed 's/^v//')
echo '#define VERSION_STRING "'$VERSION'"' > version.h echo '#define VERSION_STRING "'$VERSION'"' > version.h