Use the packaging script for the github action

Unifies a bit of what is done. For example this adds documentation and creates a disk image for
macOS. It will also make adding perfparser/elfutils and 32bit wininterrupt and qtcreatorcdbext
easier.

Adds Qt translations.
Adds some useful options to build.py and make it work with python3
Disables detection of debug vs release build in deployqt.py on Windows
if dumpbin is not there (for MinGW).

Change-Id: I3cc33144cad653823321209c219d220eb75093ec
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
This commit is contained in:
Eike Ziller
2020-06-17 15:15:18 +02:00
parent 5b53ac9661
commit bc4c2f8a15
4 changed files with 192 additions and 103 deletions
+12 -4
View File
@@ -47,6 +47,10 @@ def get_args():
action='store_true', default=False)
parser.add_argument('--elfutils-path',
help='Path to elfutils installation for use by perfprofiler (Windows, Linux)')
# TODO remove defaulting to LLVM_INSTALL_DIR when we no longer build qmake based packages
parser.add_argument('--llvm-path',
help='Path to LLVM installation',
default=os.environ.get('LLVM_INSTALL_DIR'))
parser.add_argument('qtcreator_binary', help='Path to Qt Creator binary')
parser.add_argument('qmake_binary', help='Path to qmake binary')
@@ -98,8 +102,12 @@ def is_debug(fpath):
# bootstrap exception
if coredebug.search(fpath):
return True
output = subprocess.check_output(['dumpbin', '/imports', fpath])
return coredebug.search(output.decode(encoding)) != None
try:
output = subprocess.check_output(['dumpbin', '/imports', fpath])
return coredebug.search(output.decode(encoding)) != None
except FileNotFoundError:
# dumpbin is not there, maybe MinGW ? Just ship all .dlls.
return debug_build
def is_ignored_windows_file(use_debug, basepath, filename):
ignore_patterns = ['.lib', '.pdb', '.exp', '.ilk']
@@ -369,8 +377,8 @@ def main():
else:
copy_qt_libs(qt_deploy_prefix, QT_INSTALL_BINS, QT_INSTALL_LIBS, QT_INSTALL_PLUGINS, QT_INSTALL_IMPORTS, QT_INSTALL_QML, plugins, imports)
copy_translations(install_dir, QT_INSTALL_TRANSLATIONS)
if "LLVM_INSTALL_DIR" in os.environ:
deploy_libclang(install_dir, os.environ["LLVM_INSTALL_DIR"], chrpath_bin)
if args.llvm_path:
deploy_libclang(install_dir, args.llvm_path, chrpath_bin)
if args.elfutils_path:
deploy_elfutils(install_dir, chrpath_bin, args)