summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'BuildTools/SCons/Tools/WindowsBundle.py')
-rw-r--r--BuildTools/SCons/Tools/WindowsBundle.py18
1 files changed, 12 insertions, 6 deletions
diff --git a/BuildTools/SCons/Tools/WindowsBundle.py b/BuildTools/SCons/Tools/WindowsBundle.py
index e351884..2915141 100644
--- a/BuildTools/SCons/Tools/WindowsBundle.py
+++ b/BuildTools/SCons/Tools/WindowsBundle.py
@@ -2,9 +2,14 @@ import SCons.Util, os
def generate(env) :
- def createWindowsBundle(env, bundle, resources = {}, qtimageformats = [], qtlibs = []) :
- env.Install(bundle, bundle + ".exe")
+ def createWindowsBundle(env, bundle, resources = {}, qtplugins = {}, qtlibs = [], qtversion = '4') :
+ all_files = []
+ all_files += env.Install(bundle, bundle + ".exe")
for lib in qtlibs :
- env.Install(bundle, os.path.join(env["QTDIR"], "bin", lib + ".dll"))
- env.Install(os.path.join(bundle, "imageformats"), [os.path.join(env["QTDIR"], "plugins", "imageformats", "q" + codec + "4.dll") for codec in qtimageformats])
+ all_files += env.Install(bundle, os.path.join(env["QTDIR"], "bin", lib + ".dll"))
+ plugins_suffix = '4'
+ if qtversion == '5' :
+ plugins_suffix = ''
+ for plugin_type in qtplugins:
+ all_files += env.Install(os.path.join(bundle, plugin_type), [os.path.join(env["QTDIR"], "plugins", plugin_type, "q" + plugin + plugins_suffix + ".dll") for plugin in qtplugins[plugin_type]])
for dir, resourceFiles in resources.items() :
@@ -13,7 +18,8 @@ def generate(env) :
if e.isdir() :
for subresource in env.Glob(str(e) + "/*") :
- env.Install(os.path.join(bundle, dir, e.name), subresource)
+ all_files += env.Install(os.path.join(bundle, dir, e.name), subresource)
else :
- env.Install(os.path.join(bundle, dir), resource)
+ all_files += env.Install(os.path.join(bundle, dir), resource)
+ return all_files
env.AddMethod(createWindowsBundle, "WindowsBundle")