mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
Fix plugin deployment on Windows
And increase our list of plugins to be deployed to include the GIF and SVG image plugins, the SVG icon engine and the CJK text codecs. The install rules now iterate over the plugin list and deploy the plugins in the right path in the staging area. The plugins must also be scanned for dependencies (Fedora's qjpeg4.dll depends on libjpeg-62.dll, which neds to be copied to the staging area). Finally, fix qt.conf needed to be fixed. Signed-off-by: Thiago Macieira <thiago@macieira.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
4b4e59a7e8
commit
1080e5ca35
3 changed files with 36 additions and 8 deletions
|
@ -103,6 +103,7 @@ Section
|
|||
File /r data
|
||||
File /r images
|
||||
File /r icons
|
||||
File /r plugins
|
||||
File iconv.dll
|
||||
File libdivecomputer-0.dll
|
||||
File libpng15-15.dll
|
||||
|
|
|
@ -55,10 +55,37 @@ mac {
|
|||
|
||||
qt_conf.commands = echo \'[Paths]\' > $@
|
||||
qt_conf.commands += $${nltab}echo \'Prefix=.\' >> $@
|
||||
qt_conf.commands += $${nltab}echo \'Plugins=.\' >> $@
|
||||
qt_conf.target = $$PWD/packaging/windows/qt.conf
|
||||
install.depends += qt_conf
|
||||
|
||||
# Plugin code
|
||||
defineTest(deployPlugin) {
|
||||
plugin = $$1
|
||||
plugintype = $$dirname(1)
|
||||
CONFIG(debug, debug|release): plugin = $${plugin}d4.dll
|
||||
else: plugin = $${plugin}4.dll
|
||||
|
||||
abs_plugin = $$[QT_INSTALL_PLUGINS]/$$plugin
|
||||
ABS_DEPLOYMENT_PLUGIN += $$abs_plugin
|
||||
export(ABS_DEPLOYMENT_PLUGIN)
|
||||
|
||||
safe_name = $$replace(1, /, _)
|
||||
INSTALLS += $$safe_name
|
||||
|
||||
# Work around qmake bug in Qt4 that it can't handle $${xx}.yy properly
|
||||
eval(safe_name_files = $${safe_name}.files)
|
||||
eval(safe_name_path = $${safe_name}.path)
|
||||
$$safe_name_files = $$abs_plugin
|
||||
$$safe_name_path = $$WINDOWSSTAGING/plugins/$$plugintype
|
||||
export($$safe_name_files)
|
||||
export($$safe_name_path)
|
||||
export(INSTALLS)
|
||||
}
|
||||
# Convert plugin names to the relative DLL path
|
||||
for(plugin, $$list($$DEPLOYMENT_PLUGIN)) {
|
||||
deployPlugin($$plugin)
|
||||
}
|
||||
|
||||
!win32-msvc* {
|
||||
#!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;}\'`
|
||||
|
@ -68,12 +95,7 @@ mac {
|
|||
CONFIG(debug, debug|release): dlls.commands += $$OUT_PWD/debug/subsurface$$EXE_SUFFIX
|
||||
else: dlls.commands += $$OUT_PWD/release/$$TARGET$$EXE_SUFFIX
|
||||
|
||||
for(plugin, $$list($$DEPLOYMENT_PLUGIN)) {
|
||||
CONFIG(debug, debug|release): dlls.depends += $$[QT_INSTALL_PLUGINS]/$${plugin}d4.dll
|
||||
else: dlls.depends += $$[QT_INSTALL_PLUGINS]/$${plugin}4.dll
|
||||
}
|
||||
|
||||
dlls.commands += $$LIBS
|
||||
dlls.commands += $$ABS_DEPLOYMENT_PLUGIN $$LIBS
|
||||
dlls.commands += | while read name; do $(INSTALL_FILE) \$\$name $$PWD/$$WINDOWSSTAGING; done
|
||||
dlls.depends += $(DESTDIR_TARGET)
|
||||
|
||||
|
|
|
@ -175,7 +175,12 @@ XSLT_FILES = xslt
|
|||
ICONS_FILES = icons
|
||||
DOC_FILES = $$OUT_PWD/Documentation/user-manual.html Documentation/images
|
||||
MARBLEDIR = marbledata/maps marbledata/bitmaps
|
||||
DEPLOYMENT_PLUGIN += imageformats/qjpeg
|
||||
|
||||
#DEPLOYMENT_PLUGIN += bearer/qnativewifibearer
|
||||
DEPLOYMENT_PLUGIN += codecs/qcncodecs codecs/qjpcodecs codecs/qkrcodecs codecs/qtwcodecs
|
||||
DEPLOYMENT_PLUGIN += imageformats/qgif imageformats/qjpeg imageformats/qsvg
|
||||
DEPLOYMENT_PLUGIN += iconengines/qsvgicon
|
||||
#DEPLOYMENT_PLUGIN += sqldrivers/qsqlite
|
||||
|
||||
# This information will go into the Windows .rc file and linked into the .exe
|
||||
QMAKE_TARGET_COMPANY = subsurface team
|
||||
|
|
Loading…
Add table
Reference in a new issue