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>
This commit is contained in:
Dirk Hohndel 2011-11-25 19:39:30 -08:00
parent 042c77c0fc
commit a9d1f318b5
2 changed files with 59 additions and 38 deletions

12
packaging/windows/mingw-make.sh Executable file
View file

@ -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

View file

@ -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