diff options
-rw-r--r-- | packaging/windows/subsurface.nsi.in | 7 | ||||
-rw-r--r-- | subsurface-gen-version.pri | 2 | ||||
-rw-r--r-- | subsurface-install.pri | 15 |
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 |