Create better version numbering for Windows

I don't think this will be a problem for the other OSs, but it needs a bit
more testing, especially on the Mac.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Dirk Hohndel 2014-10-29 12:51:45 -07:00
parent 0e0d6135af
commit 2b8043b82b
3 changed files with 23 additions and 7 deletions

View file

@ -29,7 +29,7 @@ case $os in
linux)
v=$v0
;;
darwin|win)
darwin)
# just the dots in the version string - this way we can
# count them
IFS=.
@ -42,15 +42,30 @@ case $os in
# do we need to add another digit?
# We know there are 1 or 2 dots in $v, so if it's just one
# or we are trying to get to 4, add one digit
if [ $dots -eq 1 ] || [ $os = win ]; then
if [ $dots -eq 1 ]; then
if [ $# -gt 1 ]; then
v=$v.$2
else
v=$v.0
fi
fi
# and if it was just one dot and we want 4, at another 0
if [ $dots -eq 1 ] && [ $os = win ]; then
;;
full|win)
# just the dots in the version string - this way we can
# count them
IFS=.
set -- $v0 # split $v0 using $IFS separator
dots=$(($# - 1)) # use positional argument count
# split version string using a '-' separator
IFS=-
set -- $v0
v=$1
if [ $dots -eq 1 ]; then
v=$v.0
fi
if [ $# -gt 1 ]; then
v=$v.$2
else
v=$v.0
fi
;;

View file

@ -10,6 +10,7 @@ exists(.git/HEAD): {
VERSION_SCRIPT = $$PWD/scripts/get-version
# always use linux here -------------------vvv so we get the true full version
FULL_VERSION = "`$$VERSION_SCRIPT linux`"
VERSION = $$system("sh scripts/get-version full || echo $${VERSION}")
PRODVERSION_STRING = $$system("sh scripts/get-version win $$FULL_VERSION || echo $${VERSION}.0.0-git")
VERSION_STRING = $$system("sh scripts/get-version linux $$FULL_VERSION || echo $${VERSION}-git")
version_h.depends = $$VERSION_SCRIPT $$PWD/.git/$$system("$$SET_GIT_DIR=$$PWD/.git git rev-parse --symbolic-full-name HEAD")

View file

@ -334,9 +334,9 @@ DEPLOYMENT_PLUGIN += iconengines/qsvgicon
#DEPLOYMENT_PLUGIN += sqldrivers/qsqlite
# This information will go into the Windows .rc file and linked into the .exe
QMAKE_TARGET_COMPANY = subsurface team
QMAKE_TARGET_DESCRIPTION = subsurface dive log
QMAKE_TARGET_COPYRIGHT = Linus Torvalds, Dirk Hohndel and others
QMAKE_TARGET_COMPANY = Subsurface Team
QMAKE_TARGET_DESCRIPTION = Subsurface Dive Log
QMAKE_TARGET_COPYRIGHT = Linus Torvalds, Dirk Hohndel, Tomaz Canabrava and others
# And this is the Mac Info.plist file
# qmake automatically generates sed rules to replace: