summaryrefslogtreecommitdiffstats
path: root/packaging
diff options
context:
space:
mode:
authorGravatar Dirk Hohndel <dirk@hohndel.org>2011-11-25 19:39:30 -0800
committerGravatar Dirk Hohndel <dirk@hohndel.org>2011-11-25 19:48:09 -0800
commita9d1f318b5d1974b882b0cebc9db291f5c0d1c62 (patch)
tree047c24d305ed8670a5cdda05c1ac04f005af5baa /packaging
parent042c77c0fc6969d2d969fb68f1db51d33364d034 (diff)
downloadsubsurface-a9d1f318b5d1974b882b0cebc9db291f5c0d1c62.tar.gz
Update the Windows installer creation script
This now works with a straight out of the box MinGW install on OpenSUSE. A simple shell script that shows how to invoke the cross build is included. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'packaging')
-rwxr-xr-xpackaging/windows/mingw-make.sh12
-rw-r--r--packaging/windows/subsurface.nsi85
2 files changed, 59 insertions, 38 deletions
diff --git a/packaging/windows/mingw-make.sh b/packaging/windows/mingw-make.sh
new file mode 100755
index 000000000..79e7ad5ea
--- /dev/null
+++ b/packaging/windows/mingw-make.sh
@@ -0,0 +1,12 @@
+#!/bin/bash
+#
+# just a small shell script that is used to invoke make with the right
+# parameters to cross compile a binary for Windows
+#
+# the paths work for the default mingw32 install on OpenSUSE - adjust as
+# necessary
+
+make CC=i686-w64-mingw32-gcc \
+ PKGCONFIG=i686-w64-mingw32-pkg-config \
+ PKG_CONFIG_PATH=/usr/i686-w64-mingw32/sys-root/i686-w64-mingw32/lib/pkgconfig/ \
+ XML2CONFIG=/usr/i686-w64-mingw32/sys-root/mingw/bin/xml2-config NAME=subsurface.exe
diff --git a/packaging/windows/subsurface.nsi b/packaging/windows/subsurface.nsi
index 17b734f17..b78c98120 100644
--- a/packaging/windows/subsurface.nsi
+++ b/packaging/windows/subsurface.nsi
@@ -1,18 +1,30 @@
-
+# this installer creator needs to be run with
+# makensis subsurface.nsi
+#
+# it assumes that packaging/windows/dll is a symlink to
+# the directory in which the required Windows DLLs are installed
+# (in my case that's /usr/i686-w64-mingw32/sys-root/mingw/bin)
+#
# define the name of the installer
outfile "subsurface-installer.exe"
Name subsurface
-VIProductVersion "1.1.0.0"
+# some data for the package to identify itself
+VIProductVersion "1.1.9.0"
VIAddVersionKey ProductName subsurface
+VIAddVersionKey FileDescription "subsurface diving log program"
+VIAddVersionKey LegalCopyright "GPL v.2"
VIAddVersionKey ProductVersion "1.1"
VIAddVersionKey FileVersion "1.1"
-Icon ..\share\subsurface.ico
-
+# icon to use for the installer
+Icon .\subsurface.ico
+# the installer needs to be run with admin privileges
RequestExecutionLevel admin
+# pop up a little dialog that tells the user that we're about to
+# install subsurface
Function .onInit
MessageBox MB_YESNO "This will install subsurface. Do you wish to continue?" IDYES gogogo
Abort
@@ -42,39 +54,36 @@ writeUninstaller "$INSTDIR\subsurface-uninstall.exe"
createShortCut "$SMPROGRAMS\subsurface\uninstall-subsurface.lnk" "$INSTDIR\subsurface-uninstall.exe"
# define what to install and place it in the output path
-file subsurface.exe
-file libatk-1.0-0.dll
-file libcairo-2.dll
-file libdivecomputer-0.dll
-file libffi-5.dll
-file libfontconfig-1.dll
-file libfreetype-6.dll
-file libgdk_pixbuf-2.0-0.dll
-file libgdk-win32-2.0-0.dll
-file libgio-2.0-0.dll
-file libglib-2.0-0.dll
-file libgmodule-2.0-0.dll
-file libgobject-2.0-0.dll
-file libgthread-2.0-0.dll
-file libgtk-win32-2.0-0.dll
-file libintl-8.dll
-file libjasper-1.dll
-file libjpeg-8.dll
-file libpango-1.0-0.dll
-file libpangocairo-1.0-0.dll
-file libpangoft2-1.0-0.dll
-file libpangowin32-1.0-0.dll
-file libpixman-1-0.dll
-file libpng15-15.dll
-file libtiff-3.dll
-file libxml2-2.dll
-file pthreadGC2.dll
-file zlib1.dll
-file /oname=subsurface.ico ..\\share\\subsurface.ico
-file /oname=subsurface.bmp ..\\share\\subsurface.bmp
-file /oname=subsurface.svg ..\\share\\subsurface.svg
-
-
+file /oname=subsurface.exe ../../subsurface.exe
+file /oname=subsurface.ico subsurface.ico
+file /oname=subsurface.svg ../../subsurface.svg
+file /oname=libatk-1.0-0.dll dll/libatk-1.0-0.dll
+file /oname=libcairo-2.dll dll/libcairo-2.dll
+file /oname=libdivecomputer-0.dll dll\libdivecomputer-0.dll
+file /oname=libffi-5.dll dll\libffi-5.dll
+file /oname=libfontconfig-1.dll dll\libfontconfig-1.dll
+file /oname=libfreetype-6.dll dll\libfreetype-6.dll
+file /oname=libgdk_pixbuf-2.0-0.dll dll\libgdk_pixbuf-2.0-0.dll
+file /oname=libgdk-win32-2.0-0.dll dll\libgdk-win32-2.0-0.dll
+file /oname=libgio-2.0-0.dll dll\libgio-2.0-0.dll
+file /oname=libglib-2.0-0.dll dll\libglib-2.0-0.dll
+file /oname=libgmodule-2.0-0.dll dll\libgmodule-2.0-0.dll
+file /oname=libgobject-2.0-0.dll dll\libgobject-2.0-0.dll
+file /oname=libgthread-2.0-0.dll dll\libgthread-2.0-0.dll
+file /oname=libgtk-win32-2.0-0.dll dll\libgtk-win32-2.0-0.dll
+file /oname=libintl-8.dll dll\libintl-8.dll
+file /oname=libjasper-1.dll dll\libjasper-1.dll
+file /oname=libjpeg-8.dll dll\libjpeg-8.dll
+file /oname=libpango-1.0-0.dll dll\libpango-1.0-0.dll
+file /oname=libpangocairo-1.0-0.dll dll\libpangocairo-1.0-0.dll
+file /oname=libpangoft2-1.0-0.dll dll\libpangoft2-1.0-0.dll
+file /oname=libpangowin32-1.0-0.dll dll\libpangowin32-1.0-0.dll
+file /oname=libpixman-1-0.dll dll\libpixman-1-0.dll
+file /oname=libpng15-15.dll dll\libpng15-15.dll
+file /oname=libtiff-3.dll dll\libtiff-3.dll
+file /oname=libxml2-2.dll dll\libxml2-2.dll
+file /oname=pthreadGC2.dll dll\pthreadGC2.dll
+file /oname=zlib1.dll dll\zlib1.dll
sectionEnd
section "uninstall"
@@ -86,7 +95,7 @@ section "uninstall"
delete "$SMPROGRAMS\subsurface\subsurface.lnk"
RMDir "$SMPROGRAMS\subsurface"
- MessageBox MB_YESNO "Do you wish to store subsurface's settings?" IDYES end
+ MessageBox MB_YESNO "Do you wish to keep subsurface's registry settings?" IDYES end
DeleteRegKey HKCU "SOFTWARE\subsurface"
end:
sectionEnd