summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--packaging/windows/subsurface.nsi.in7
-rw-r--r--subsurface-gen-version.pri2
-rw-r--r--subsurface-install.pri15
3 files changed, 19 insertions, 5 deletions
diff --git a/packaging/windows/subsurface.nsi.in b/packaging/windows/subsurface.nsi.in
index 90981fdf6..50abde47e 100644
--- a/packaging/windows/subsurface.nsi.in
+++ b/packaging/windows/subsurface.nsi.in
@@ -98,8 +98,10 @@ Section
Delete "$INSTDIR\*.dll"
# Files to include in installer
- File ..\..\subsurface.exe
- File /r ..\..\xslt
+ File subsurface.exe
+ File /r xslt
+ File /r data
+ File /r images
File dll\iconv.dll
File dll\libdivecomputer-0.dll
File dll\libintl-8.dll
@@ -124,7 +126,6 @@ Section
File dll\QtXml4.dll
File dll\libmarblewidget.dll
File subsurface.ico
- File /r share
# Store installation folder in registry
WriteRegStr HKCU "Software\Subsurface" "" $INSTDIR
diff --git a/subsurface-gen-version.pri b/subsurface-gen-version.pri
index a7e9cd8e0..6b65f1df7 100644
--- a/subsurface-gen-version.pri
+++ b/subsurface-gen-version.pri
@@ -8,6 +8,8 @@ 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`"
+ PRODVERSION_STRING = $$system("sh scripts/get-version win $$FULL_VERSION || $${VERSION}.0.0")
+ VERSION_STRING = $$system("sh scripts/get-version linux $$FULL_VERSION || $${VERSION}")
version_h.depends = $$VERSION_SCRIPT $$PWD/.git/$$system("GIT_DIR=$$PWD/.git git rev-parse --symbolic-full-name HEAD")
version_h.commands = echo \\$${LITERAL_HASH}define VERSION_STRING \\\"`GIT_DIR=$$PWD/.git $$VERSION_SCRIPT $$VER_OS`\\\" > ${QMAKE_FILE_OUT}
version_h.input = GIT_HEAD
diff --git a/subsurface-install.pri b/subsurface-install.pri
index 26bffaca7..4a41bfcf2 100644
--- a/subsurface-install.pri
+++ b/subsurface-install.pri
@@ -41,6 +41,9 @@ mac {
# which libs we need.
# The only target is "make install", which copies everything into packaging/windows
WINDOWSSTAGING = packaging/windows
+ NSIFILE = $$WINDOWSSTAGING/subsurface.nsi
+ NSIINPUTFILE = $$WINDOWSSTAGING/subsurface.nsi.in
+ MAKENSIS = /usr/bin/makensis
deploy.path = $$WINDOWSSTAGING
deploy.files += $$xslt.files $$doc.files
@@ -58,7 +61,8 @@ mac {
#!equals($$QMAKE_HOST.os, "Windows"): dlls.commands += OBJDUMP=`$$QMAKE_CC -dumpmachine`-objdump
dlls.commands += PATH=\$\$PATH:`$$QMAKE_CC -print-search-dirs | sed -nE \'/^libraries: =/{s///;s,/lib/?(:|\$\$),/bin\\1,g;p;q;}\'`
dlls.commands += perl $$PWD/scripts/win-ldd.pl
- equals(QMAKE_HOST.os, "Windows"): EXE_SUFFIX = .exe
+ # equals(QMAKE_HOST.os, "Windows"): EXE_SUFFIX = .exe
+ EXE_SUFFIX = .exe
CONFIG(debug, debug|release): dlls.commands += $$PWD/debug/subsurface$$EXE_SUFFIX
else: dlls.commands += $$PWD/release/$$TARGET$$EXE_SUFFIX
@@ -70,7 +74,14 @@ mac {
dlls.commands += $$LIBS
dlls.commands += | while read name; do $(INSTALL_FILE) \$\$name $$PWD/$$WINDOWSSTAGING; done
dlls.depends += $(DESTDIR_TARGET)
- install.depends += dlls
+
+ nsis.commands += cat $$NSIINPUTFILE | sed -e \'s/VERSIONTOKEN/$$VERSION_STRING/;s/PRODVTOKEN/$${PRODVERSION_STRING}/\' > $$NSIFILE
+ nsis.depends += $$NSIINPUTFILE
+ nsis.target = $$NSISFILE
+ installer.commands += $$MAKENSIS $$NSIFILE
+ installer.target = installer
+ installer.depends = nsis
+ install.depends += dlls nsis installer
}
} else {
# Linux install rules