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 # define the name of the installer
outfile "subsurface-installer.exe" outfile "subsurface-installer.exe"
Name subsurface Name subsurface
VIProductVersion "1.1.0.0" # some data for the package to identify itself
VIProductVersion "1.1.9.0"
VIAddVersionKey ProductName subsurface VIAddVersionKey ProductName subsurface
VIAddVersionKey FileDescription "subsurface diving log program"
VIAddVersionKey LegalCopyright "GPL v.2"
VIAddVersionKey ProductVersion "1.1" VIAddVersionKey ProductVersion "1.1"
VIAddVersionKey FileVersion "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 RequestExecutionLevel admin
# pop up a little dialog that tells the user that we're about to
# install subsurface
Function .onInit Function .onInit
MessageBox MB_YESNO "This will install subsurface. Do you wish to continue?" IDYES gogogo MessageBox MB_YESNO "This will install subsurface. Do you wish to continue?" IDYES gogogo
Abort Abort
@ -42,39 +54,36 @@ writeUninstaller "$INSTDIR\subsurface-uninstall.exe"
createShortCut "$SMPROGRAMS\subsurface\uninstall-subsurface.lnk" "$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 # define what to install and place it in the output path
file subsurface.exe file /oname=subsurface.exe ../../subsurface.exe
file libatk-1.0-0.dll file /oname=subsurface.ico subsurface.ico
file libcairo-2.dll file /oname=subsurface.svg ../../subsurface.svg
file libdivecomputer-0.dll file /oname=libatk-1.0-0.dll dll/libatk-1.0-0.dll
file libffi-5.dll file /oname=libcairo-2.dll dll/libcairo-2.dll
file libfontconfig-1.dll file /oname=libdivecomputer-0.dll dll\libdivecomputer-0.dll
file libfreetype-6.dll file /oname=libffi-5.dll dll\libffi-5.dll
file libgdk_pixbuf-2.0-0.dll file /oname=libfontconfig-1.dll dll\libfontconfig-1.dll
file libgdk-win32-2.0-0.dll file /oname=libfreetype-6.dll dll\libfreetype-6.dll
file libgio-2.0-0.dll file /oname=libgdk_pixbuf-2.0-0.dll dll\libgdk_pixbuf-2.0-0.dll
file libglib-2.0-0.dll file /oname=libgdk-win32-2.0-0.dll dll\libgdk-win32-2.0-0.dll
file libgmodule-2.0-0.dll file /oname=libgio-2.0-0.dll dll\libgio-2.0-0.dll
file libgobject-2.0-0.dll file /oname=libglib-2.0-0.dll dll\libglib-2.0-0.dll
file libgthread-2.0-0.dll file /oname=libgmodule-2.0-0.dll dll\libgmodule-2.0-0.dll
file libgtk-win32-2.0-0.dll file /oname=libgobject-2.0-0.dll dll\libgobject-2.0-0.dll
file libintl-8.dll file /oname=libgthread-2.0-0.dll dll\libgthread-2.0-0.dll
file libjasper-1.dll file /oname=libgtk-win32-2.0-0.dll dll\libgtk-win32-2.0-0.dll
file libjpeg-8.dll file /oname=libintl-8.dll dll\libintl-8.dll
file libpango-1.0-0.dll file /oname=libjasper-1.dll dll\libjasper-1.dll
file libpangocairo-1.0-0.dll file /oname=libjpeg-8.dll dll\libjpeg-8.dll
file libpangoft2-1.0-0.dll file /oname=libpango-1.0-0.dll dll\libpango-1.0-0.dll
file libpangowin32-1.0-0.dll file /oname=libpangocairo-1.0-0.dll dll\libpangocairo-1.0-0.dll
file libpixman-1-0.dll file /oname=libpangoft2-1.0-0.dll dll\libpangoft2-1.0-0.dll
file libpng15-15.dll file /oname=libpangowin32-1.0-0.dll dll\libpangowin32-1.0-0.dll
file libtiff-3.dll file /oname=libpixman-1-0.dll dll\libpixman-1-0.dll
file libxml2-2.dll file /oname=libpng15-15.dll dll\libpng15-15.dll
file pthreadGC2.dll file /oname=libtiff-3.dll dll\libtiff-3.dll
file zlib1.dll file /oname=libxml2-2.dll dll\libxml2-2.dll
file /oname=subsurface.ico ..\\share\\subsurface.ico file /oname=pthreadGC2.dll dll\pthreadGC2.dll
file /oname=subsurface.bmp ..\\share\\subsurface.bmp file /oname=zlib1.dll dll\zlib1.dll
file /oname=subsurface.svg ..\\share\\subsurface.svg
sectionEnd sectionEnd
section "uninstall" section "uninstall"
@ -86,7 +95,7 @@ section "uninstall"
delete "$SMPROGRAMS\subsurface\subsurface.lnk" delete "$SMPROGRAMS\subsurface\subsurface.lnk"
RMDir "$SMPROGRAMS\subsurface" 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" DeleteRegKey HKCU "SOFTWARE\subsurface"
end: end:
sectionEnd sectionEnd