diff options
author | Mikkel Krautz <mikkel@krautz.dk> | 2013-09-06 02:24:18 +0400 |
---|---|---|
committer | Mikkel Krautz <mikkel@krautz.dk> | 2013-09-06 02:24:18 +0400 |
commit | 442b46e869e0bb39fbc2b875f2a63d3960d4f927 (patch) | |
tree | d89b85abfc030aaf0dfa840a5d0c5a7fd53b09ba /installer | |
parent | 6c7e0e3152d184ae7289b9a32bc798dc429e44a7 (diff) |
installer: automatically build a static installer when in the win32-static build env.
Diffstat (limited to 'installer')
-rw-r--r-- | installer/Files.wxs | 385 | ||||
-rw-r--r-- | installer/Product.wxs | 55 | ||||
-rw-r--r-- | installer/Settings.wxi | 5 |
3 files changed, 241 insertions, 204 deletions
diff --git a/installer/Files.wxs b/installer/Files.wxs index bd26b6a4c..fb4ff9401 100644 --- a/installer/Files.wxs +++ b/installer/Files.wxs @@ -17,6 +17,11 @@ <RegistryValue Root="HKCR" Key="mumble\DefaultIcon" Value="[#mumble.exe]" Type="string" /> <RegistryValue Root="HKCR" Key="mumble\shell\open\command" Value="[#mumble.exe] "%1"" Type="string" /> </Component> + <?ifdef StaticBuild ?> + <Component Id="mumble_app.dll"> + <File Source="$(var.SourceDir)\release\mumble_app.dll" KeyPath="yes" /> + </Component> + <?endif ?> <Component Id="mumble_ol.dll"> <File Source="$(var.SourceDir)\release\mumble_ol.dll" KeyPath="yes" /> </Component> @@ -51,9 +56,11 @@ <File Source="$(var.SourceDir)\src\murmur\Murmur.ice" KeyPath="yes" /> </Component> - <Component Id="qt.conf"> - <File Source="$(var.SourceDir)\scripts\qt.conf" KeyPath="yes" /> - </Component> + <?ifndef StaticBuild ?> + <Component Id="qt.conf"> + <File Source="$(var.SourceDir)\scripts\qt.conf" KeyPath="yes" /> + </Component> + <?endif ?> <Component Id="licence.txt" Guid="87C7967B-5E4B-41DD-83F5-A9E9E8AD3B39"> <File Source="$(var.SourceDir)\installer\gpl.txt" Name="licence.txt" KeyPath="yes" /> @@ -114,205 +121,219 @@ </Fragment> <!-- DBus --> - <?ifdef DBusDir ?> - <Fragment> - <DirectoryRef Id="INSTALLDIR"> - <Component Id="dbus1.dll"> - <File Source="$(var.DBusDir)\bin\dbus-1.dll" KeyPath="yes" /> - </Component> - <Component Id="libxml2.dll"> - <File Source="$(var.DBusDir)\bin\libxml2.dll" KeyPath="yes" /> - </Component> - <Component Id="iconv.dll"> - <File Source="$(var.DBusDir)\bin\iconv.dll" KeyPath="yes" /> - </Component> - <Component Id="dbusdaemon.exe"> - <File Source="$(var.DBusDir)\bin\dbus-daemon.exe" KeyPath="yes" /> - </Component> - <Component Id="session.conf"> - <File Source="$(var.DBusDir)\etc\session.conf" KeyPath="yes" /> - </Component> - </DirectoryRef> - <ComponentGroup Id="DBus"> - <ComponentRef Id="dbus1.dll" /> - <ComponentRef Id="libxml2.dll" /> - <ComponentRef Id="iconv.dll" /> - <ComponentRef Id="dbusdaemon.exe" /> - <ComponentRef Id="session.conf" /> - </ComponentGroup> - </Fragment> + <?ifndef StaticBuild ?> + <?ifdef DBusDir ?> + <Fragment> + <DirectoryRef Id="INSTALLDIR"> + <Component Id="dbus1.dll"> + <File Source="$(var.DBusDir)\bin\dbus-1.dll" KeyPath="yes" /> + </Component> + <Component Id="libxml2.dll"> + <File Source="$(var.DBusDir)\bin\libxml2.dll" KeyPath="yes" /> + </Component> + <Component Id="iconv.dll"> + <File Source="$(var.DBusDir)\bin\iconv.dll" KeyPath="yes" /> + </Component> + <Component Id="dbusdaemon.exe"> + <File Source="$(var.DBusDir)\bin\dbus-daemon.exe" KeyPath="yes" /> + </Component> + <Component Id="session.conf"> + <File Source="$(var.DBusDir)\etc\session.conf" KeyPath="yes" /> + </Component> + </DirectoryRef> + <ComponentGroup Id="DBus"> + <ComponentRef Id="dbus1.dll" /> + <ComponentRef Id="libxml2.dll" /> + <ComponentRef Id="iconv.dll" /> + <ComponentRef Id="dbusdaemon.exe" /> + <ComponentRef Id="session.conf" /> + </ComponentGroup> + </Fragment> + <?endif ?> <?endif ?> <!-- libsndfile --> - <?ifdef SndFileDir ?> - <Fragment> - <DirectoryRef Id="INSTALLDIR"> - <Component Id="libsndfile1.dll"> - <File Source="$(var.SndFileDir)\libsndfile-1.dll" KeyPath="yes" /> - </Component> - </DirectoryRef> - </Fragment> + <?ifndef StaticBuild ?> + <?ifdef SndFileDir ?> + <Fragment> + <DirectoryRef Id="INSTALLDIR"> + <Component Id="libsndfile1.dll"> + <File Source="$(var.SndFileDir)\libsndfile-1.dll" KeyPath="yes" /> + </Component> + </DirectoryRef> + </Fragment> + <?endif ?> <?endif ?> <!-- MySQL --> - <?ifdef MySQLDir ?> - <Fragment> - <DirectoryRef Id="INSTALLDIR"> - <Component Id="libmysql.dll"> - <File Source="$(var.MySQLDir)\lib\libmysql.dll" KeyPath="yes" /> - </Component> - </DirectoryRef> - </Fragment> + <?ifndef StaticBuild ?> + <?ifdef MySQLDir ?> + <Fragment> + <DirectoryRef Id="INSTALLDIR"> + <Component Id="libmysql.dll"> + <File Source="$(var.MySQLDir)\lib\libmysql.dll" KeyPath="yes" /> + </Component> + </DirectoryRef> + </Fragment> + <?endif ?> <?endif ?> <!-- Ice --> - <?ifdef IceDir ?> - <Fragment> - <DirectoryRef Id="INSTALLDIR"> - <Component Id="bzip2.dll"> - <File Source="$(var.IceDir)\bzip2.dll" KeyPath="yes" /> - </Component> - <Component Id="ice34.dll"> - <File Source="$(var.IceDir)\ice34.dll" KeyPath="yes" /> - </Component> - <Component Id="iceutil34.dll"> - <File Source="$(var.IceDir)\iceutil34.dll" KeyPath="yes" /> - </Component> - </DirectoryRef> - </Fragment> + <?ifndef StaticBuild ?> + <?ifdef IceDir ?> + <Fragment> + <DirectoryRef Id="INSTALLDIR"> + <Component Id="bzip2.dll"> + <File Source="$(var.IceDir)\bzip2.dll" KeyPath="yes" /> + </Component> + <Component Id="ice34.dll"> + <File Source="$(var.IceDir)\ice34.dll" KeyPath="yes" /> + </Component> + <Component Id="iceutil34.dll"> + <File Source="$(var.IceDir)\iceutil34.dll" KeyPath="yes" /> + </Component> + </DirectoryRef> + </Fragment> + <?endif ?> <?endif ?> <!-- OpenSSL --> - <Fragment> - <DirectoryRef Id="INSTALLDIR"> - <Component Id="libeay32.dll"> - <File Source="$(var.OpenSslDir)\bin\libeay32.dll" KeyPath="yes" /> - </Component> - <Component Id="ssleay32.dll"> - <File Source="$(var.OpenSslDir)\bin\ssleay32.dll" KeyPath="yes" /> - </Component> - <?ifdef ZlibDir ?> - <Component Id="zlib1.dll"> - <File Source="$(var.ZlibDir)\zlib1.dll" KeyPath="yes" /> - </Component> - <?endif ?> - </DirectoryRef> - </Fragment> + <?ifndef StaticBuild ?> + <Fragment> + <DirectoryRef Id="INSTALLDIR"> + <Component Id="libeay32.dll"> + <File Source="$(var.OpenSslDir)\bin\libeay32.dll" KeyPath="yes" /> + </Component> + <Component Id="ssleay32.dll"> + <File Source="$(var.OpenSslDir)\bin\ssleay32.dll" KeyPath="yes" /> + </Component> + <?ifdef ZlibDir ?> + <Component Id="zlib1.dll"> + <File Source="$(var.ZlibDir)\zlib1.dll" KeyPath="yes" /> + </Component> + <?endif ?> + </DirectoryRef> + </Fragment> + <?endif ?> <!-- Qt --> - <Fragment> - <DirectoryRef Id="INSTALLDIR"> - <Component Id="QtCore4.dll"> - <File Source="$(var.QtDir)\bin\QtCore4.dll" KeyPath="yes" /> - </Component> - <Component Id="QtGui4.dll"> - <File Source="$(var.QtDir)\bin\QtGui4.dll" KeyPath="yes" /> - </Component> - <Component Id="QtNetwork4.dll"> - <File Source="$(var.QtDir)\bin\QtNetwork4.dll" KeyPath="yes" /> - </Component> - <Component Id="QtSql4.dll"> - <File Source="$(var.QtDir)\bin\QtSql4.dll" KeyPath="yes" /> - </Component> - <Component Id="QtSvg4.dll"> - <File Source="$(var.QtDir)\bin\QtSvg4.dll" KeyPath="yes" /> - </Component> - <Component Id="QtXml4.dll"> - <File Source="$(var.QtDir)\bin\QtXml4.dll" KeyPath="yes" /> - </Component> - </DirectoryRef> - </Fragment> + <?ifndef StaticBuild ?> + <Fragment> + <DirectoryRef Id="INSTALLDIR"> + <Component Id="QtCore4.dll"> + <File Source="$(var.QtDir)\bin\QtCore4.dll" KeyPath="yes" /> + </Component> + <Component Id="QtGui4.dll"> + <File Source="$(var.QtDir)\bin\QtGui4.dll" KeyPath="yes" /> + </Component> + <Component Id="QtNetwork4.dll"> + <File Source="$(var.QtDir)\bin\QtNetwork4.dll" KeyPath="yes" /> + </Component> + <Component Id="QtSql4.dll"> + <File Source="$(var.QtDir)\bin\QtSql4.dll" KeyPath="yes" /> + </Component> + <Component Id="QtSvg4.dll"> + <File Source="$(var.QtDir)\bin\QtSvg4.dll" KeyPath="yes" /> + </Component> + <Component Id="QtXml4.dll"> + <File Source="$(var.QtDir)\bin\QtXml4.dll" KeyPath="yes" /> + </Component> + </DirectoryRef> + </Fragment> - <Fragment> - <DirectoryRef Id="QtPluginAccessibleFolder"> - <Component Id="qtaccessiblewidgets4.dll"> - <File Source="$(var.QtDir)\plugins\accessible\qtaccessiblewidgets4.dll" KeyPath="yes" /> - </Component> - </DirectoryRef> - </Fragment> + <Fragment> + <DirectoryRef Id="QtPluginAccessibleFolder"> + <Component Id="qtaccessiblewidgets4.dll"> + <File Source="$(var.QtDir)\plugins\accessible\qtaccessiblewidgets4.dll" KeyPath="yes" /> + </Component> + </DirectoryRef> + </Fragment> - <Fragment> - <DirectoryRef Id="QtPluginIconEnginesFolder"> - <Component Id="qsvgicon4.dll"> - <File Source="$(var.QtDir)\plugins\iconengines\qsvgicon4.dll" KeyPath="yes" /> - </Component> - </DirectoryRef> - </Fragment> + <Fragment> + <DirectoryRef Id="QtPluginIconEnginesFolder"> + <Component Id="qsvgicon4.dll"> + <File Source="$(var.QtDir)\plugins\iconengines\qsvgicon4.dll" KeyPath="yes" /> + </Component> + </DirectoryRef> + </Fragment> - <Fragment> - <DirectoryRef Id="QtPluginImageFormatsFolder"> - <Component Id="qgif4.dll"> - <File Source="$(var.QtDir)\plugins\imageformats\qgif4.dll" KeyPath="yes" /> - </Component> - <Component Id="qico4.dll"> - <File Source="$(var.QtDir)\plugins\imageformats\qico4.dll" KeyPath="yes" /> - </Component> - <Component Id="qjpeg4.dll"> - <File Source="$(var.QtDir)\plugins\imageformats\qjpeg4.dll" KeyPath="yes" /> - </Component> - <Component Id="qmng4.dll"> - <File Source="$(var.QtDir)\plugins\imageformats\qmng4.dll" KeyPath="yes" /> - </Component> - <Component Id="qsvg4.dll"> - <File Source="$(var.QtDir)\plugins\imageformats\qsvg4.dll" KeyPath="yes" /> - </Component> - <Component Id="qtiff4.dll"> - <File Source="$(var.QtDir)\plugins\imageformats\qtiff4.dll" KeyPath="yes" /> - </Component> - </DirectoryRef> - </Fragment> + <Fragment> + <DirectoryRef Id="QtPluginImageFormatsFolder"> + <Component Id="qgif4.dll"> + <File Source="$(var.QtDir)\plugins\imageformats\qgif4.dll" KeyPath="yes" /> + </Component> + <Component Id="qico4.dll"> + <File Source="$(var.QtDir)\plugins\imageformats\qico4.dll" KeyPath="yes" /> + </Component> + <Component Id="qjpeg4.dll"> + <File Source="$(var.QtDir)\plugins\imageformats\qjpeg4.dll" KeyPath="yes" /> + </Component> + <Component Id="qmng4.dll"> + <File Source="$(var.QtDir)\plugins\imageformats\qmng4.dll" KeyPath="yes" /> + </Component> + <Component Id="qsvg4.dll"> + <File Source="$(var.QtDir)\plugins\imageformats\qsvg4.dll" KeyPath="yes" /> + </Component> + <Component Id="qtiff4.dll"> + <File Source="$(var.QtDir)\plugins\imageformats\qtiff4.dll" KeyPath="yes" /> + </Component> + </DirectoryRef> + </Fragment> - <Fragment> - <DirectoryRef Id="QtPluginCodecsFolder"> - <Component Id="qcncodecs4.dll"> - <File Source="$(var.QtDir)\plugins\codecs\qcncodecs4.dll" KeyPath="yes" /> - </Component> - <Component Id="qjpcodecs4.dll"> - <File Source="$(var.QtDir)\plugins\codecs\qjpcodecs4.dll" KeyPath="yes" /> - </Component> - <Component Id="qkrcodecs4.dll"> - <File Source="$(var.QtDir)\plugins\codecs\qkrcodecs4.dll" KeyPath="yes" /> - </Component> - <Component Id="qtwcodecs4.dll"> - <File Source="$(var.QtDir)\plugins\codecs\qtwcodecs4.dll" KeyPath="yes" /> - </Component> - </DirectoryRef> - </Fragment> + <Fragment> + <DirectoryRef Id="QtPluginCodecsFolder"> + <Component Id="qcncodecs4.dll"> + <File Source="$(var.QtDir)\plugins\codecs\qcncodecs4.dll" KeyPath="yes" /> + </Component> + <Component Id="qjpcodecs4.dll"> + <File Source="$(var.QtDir)\plugins\codecs\qjpcodecs4.dll" KeyPath="yes" /> + </Component> + <Component Id="qkrcodecs4.dll"> + <File Source="$(var.QtDir)\plugins\codecs\qkrcodecs4.dll" KeyPath="yes" /> + </Component> + <Component Id="qtwcodecs4.dll"> + <File Source="$(var.QtDir)\plugins\codecs\qtwcodecs4.dll" KeyPath="yes" /> + </Component> + </DirectoryRef> + </Fragment> - <Fragment> - <ComponentGroup Id="Qt"> - <ComponentRef Id="QtCore4.dll" /> - <ComponentRef Id="QtGui4.dll" /> - <ComponentRef Id="QtNetwork4.dll" /> - <ComponentRef Id="QtSql4.dll" /> - <ComponentRef Id="QtSvg4.dll" /> - <ComponentRef Id="QtXml4.dll" /> + <Fragment> + <ComponentGroup Id="Qt"> + <ComponentRef Id="QtCore4.dll" /> + <ComponentRef Id="QtGui4.dll" /> + <ComponentRef Id="QtNetwork4.dll" /> + <ComponentRef Id="QtSql4.dll" /> + <ComponentRef Id="QtSvg4.dll" /> + <ComponentRef Id="QtXml4.dll" /> - <ComponentRef Id="qtaccessiblewidgets4.dll" /> - <ComponentRef Id="qsvgicon4.dll" /> - <ComponentRef Id="qgif4.dll" /> - <ComponentRef Id="qico4.dll" /> - <ComponentRef Id="qjpeg4.dll" /> - <ComponentRef Id="qmng4.dll" /> - <ComponentRef Id="qsvg4.dll" /> - <ComponentRef Id="qtiff4.dll" /> - <ComponentRef Id="qcncodecs4.dll" /> - <ComponentRef Id="qjpcodecs4.dll" /> - <ComponentRef Id="qkrcodecs4.dll" /> - <ComponentRef Id="qtwcodecs4.dll" /> - </ComponentGroup> - </Fragment> + <ComponentRef Id="qtaccessiblewidgets4.dll" /> + <ComponentRef Id="qsvgicon4.dll" /> + <ComponentRef Id="qgif4.dll" /> + <ComponentRef Id="qico4.dll" /> + <ComponentRef Id="qjpeg4.dll" /> + <ComponentRef Id="qmng4.dll" /> + <ComponentRef Id="qsvg4.dll" /> + <ComponentRef Id="qtiff4.dll" /> + <ComponentRef Id="qcncodecs4.dll" /> + <ComponentRef Id="qjpcodecs4.dll" /> + <ComponentRef Id="qkrcodecs4.dll" /> + <ComponentRef Id="qtwcodecs4.dll" /> + </ComponentGroup> + </Fragment> + <?endif ?> <!-- Directory tree --> - <Fragment> - <DirectoryRef Id="INSTALLDIR"> - <Directory Id="PluginFolder" Name="plugins" /> - <Directory Id="QtPluginFolder" Name="QtPlugins"> - <Directory Id="QtPluginIconEnginesFolder" Name="iconengines" /> - <Directory Id="QtPluginImageFormatsFolder" Name="imageformats" /> - <Directory Id="QtPluginAccessibleFolder" Name="accessible" /> - <Directory Id="QtPluginCodecsFolder" Name="codecs" /> - </Directory> - </DirectoryRef> - </Fragment> + <Fragment> + <DirectoryRef Id="INSTALLDIR"> + <Directory Id="PluginFolder" Name="plugins" /> + <?ifndef StaticBuild ?> + <Directory Id="QtPluginFolder" Name="QtPlugins"> + <Directory Id="QtPluginIconEnginesFolder" Name="iconengines" /> + <Directory Id="QtPluginImageFormatsFolder" Name="imageformats" /> + <Directory Id="QtPluginAccessibleFolder" Name="accessible" /> + <Directory Id="QtPluginCodecsFolder" Name="codecs" /> + </Directory> + <?endif ?> + </DirectoryRef> + </Fragment> </Wix> diff --git a/installer/Product.wxs b/installer/Product.wxs index 3d0b6e831..b86bdc18d 100644 --- a/installer/Product.wxs +++ b/installer/Product.wxs @@ -7,7 +7,7 @@ <Property Id='NSISINSTALL'> <RegistrySearch Id='NSISSearch' Win64='no' Root='HKLM' Key='SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Mumble' Type='directory' Name='InstallLocation' /> - </Property> + </Property> <CustomAction Id="SetNSISPath" Property="NSISPath" Value="[NSISINSTALL]Uninstall.exe" /> <CustomAction Id="NSISUninstall" Property="NSISPath" ExeCommand="/S _?=[NSISINSTALL]" Execute="deferred" Impersonate="no" Return="check" /> @@ -91,15 +91,17 @@ </DirectoryRef> <ComponentGroup Id="LibrariesCommon"> - <ComponentGroupRef Id="Qt" /> + <?ifndef StaticBuild ?> + <ComponentGroupRef Id="Qt" /> - <ComponentRef Id="libeay32.dll" /> - <ComponentRef Id="ssleay32.dll" /> - <?ifdef ZlibDir ?> - <ComponentRef Id="zlib1.dll" /> - <?endif ?> + <ComponentRef Id="libeay32.dll" /> + <ComponentRef Id="ssleay32.dll" /> + <?ifdef ZlibDir ?> + <ComponentRef Id="zlib1.dll" /> + <?endif ?> - <ComponentRef Id="qt.conf" /> + <ComponentRef Id="qt.conf" /> + <?endif ?> <ComponentRef Id="licence.txt" /> <ComponentRef Id="Readme.txt" /> @@ -108,11 +110,13 @@ <ComponentRef Id="dbghelp.dll" /> - <?ifdef ProtoBufDir ?> - <ComponentRef Id="libprotobuf.dll" /> - <?endif ?> - <?ifdef MySQLDir ?> - <ComponentRef Id="libmysql.dll" /> + <?ifndef StaticBuild ?> + <?ifdef ProtoBufDir ?> + <ComponentRef Id="libprotobuf.dll" /> + <?endif ?> + <?ifdef MySQLDir ?> + <ComponentRef Id="libmysql.dll" /> + <?endif ?> <?endif ?> <?ifdef IntelCppDir ?> @@ -126,8 +130,10 @@ </ComponentGroup> <Feature Id="Mumble" Title="!(loc.MUMBLE_SEC_MUMBLE)" Description="!(loc.DESC_SectionMumble)" Level="1" AllowAdvertise="no" ConfigurableDirectory="INSTALLDIR"> - <?ifdef SndFileDir ?> - <ComponentRef Id="libsndfile1.dll" /> + <?ifndef StaticBuild ?> + <?ifdef SndFileDir ?> + <ComponentRef Id="libsndfile1.dll" /> + <?endif ?> <?endif ?> <ComponentRef Id="speex.dll" /> <ComponentRef Id="speex.txt" /> @@ -145,6 +151,9 @@ <ComponentRef Id="celt0.0.11.0.sse2.dll" /> <ComponentRef Id="opus.sse2.dll" /> <?endif ?> + <?ifdef StaticBuild ?> + <ComponentRef Id="mumble_app.dll" /> + <?endif ?> <ComponentRef Id="mumble.exe" /> <ComponentRef Id="mumble_ol.dll" /> <?ifdef G15 ?> @@ -154,13 +163,15 @@ </Feature> <Feature Id="Murmur" Title="!(loc.MUMBLE_SEC_MURMUR)" Description="!(loc.DESC_SectionMurmur)" Level="1000" ConfigurableDirectory="INSTALLDIR"> - <?ifdef IceDir ?> - <ComponentRef Id="bzip2.dll" /> - <ComponentRef Id="ice34.dll" /> - <ComponentRef Id="iceutil34.dll" /> - <?endif ?> - <?ifdef DBusDir ?> - <ComponentGroupRef Id="DBus" /> + <?ifndef StaticBuild ?> + <?ifdef IceDir ?> + <ComponentRef Id="bzip2.dll" /> + <ComponentRef Id="ice34.dll" /> + <ComponentRef Id="iceutil34.dll" /> + <?endif ?> + <?ifdef DBusDir ?> + <ComponentGroupRef Id="DBus" /> + <?endif ?> <?endif ?> <ComponentRef Id="murmur.exe" /> diff --git a/installer/Settings.wxi b/installer/Settings.wxi index 9e253ce1b..158cf9fa4 100644 --- a/installer/Settings.wxi +++ b/installer/Settings.wxi @@ -4,6 +4,11 @@ <?define ProductManufacturer = "Thorvald Natvig" ?> <?define ProductVersion = "1.2.5" ?> + <!-- Enable the StaticBuild option if we detect MUMBLE_PREFIX in the environment --> + <?ifdef env.MUMBLE_PREFIX ?> + <?define StaticBuild = true ?> + <?endif ?> + <!-- Defaults for values that aren't given by environment variables --> <?ifndef env.MumbleSourceDir ?> <?define SourceDir = "\dev\mumble" ?> |