aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@qt.io>2022-11-30 13:54:51 +0100
committerFriedemann Kleint <Friedemann.Kleint@qt.io>2022-12-01 15:51:28 +0100
commitb32a791ea2c66ae9ef2896ea445d4752e4773f96 (patch)
treee88bb78786e996119f4409e0e169c6ac3d02e181
parentc2b73dfc245b48cd6de7a6461d56b73f84654bf1 (diff)
Build system: Introduce variables for the target Qt directories
It simplifies the code and paves the way for using identical directories on the various platforms. Pick-to: 6.4 Change-Id: Id50d06f100f13c83ea40b475dcf1a05a08ffa3bd Reviewed-by: Adrian Herrmann <adrian.herrmann@qt.io> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
-rw-r--r--build_scripts/platforms/linux.py31
-rw-r--r--build_scripts/platforms/macos.py23
-rw-r--r--build_scripts/platforms/unix.py32
-rw-r--r--build_scripts/platforms/windows_desktop.py97
4 files changed, 81 insertions, 102 deletions
diff --git a/build_scripts/platforms/linux.py b/build_scripts/platforms/linux.py
index d1de03730..9ea1993c6 100644
--- a/build_scripts/platforms/linux.py
+++ b/build_scripts/platforms/linux.py
@@ -30,22 +30,23 @@ def prepare_standalone_package_linux(pyside_build, _vars, cross_build=False):
should_copy_icu_libs = False
# <qt>/lib/* -> <setup>/{st_package_name}/Qt/lib
- destination_lib_dir = "{st_build_dir}/{st_package_name}/Qt/lib"
+ destination_dir = "{st_build_dir}/{st_package_name}".format(**_vars)
+ destination_qt_dir = f"{destination_dir}/Qt"
+ destination_qt_lib_dir = f"{destination_qt_dir}/lib"
accepted_modules = ['libQt6*.so.?']
if constrain_modules:
accepted_modules = [f"libQt6{module}*.so.?" for module in constrain_modules]
accepted_modules.append("libicu*.so.??")
- copydir("{qt_lib_dir}", destination_lib_dir,
+ copydir("{qt_lib_dir}", destination_qt_lib_dir,
_filter=accepted_modules,
recursive=False, _vars=_vars, force_copy_symlinks=True)
if should_copy_icu_libs:
# Check if ICU libraries were copied over to the destination
# Qt libdir.
- resolved_destination_lib_dir = destination_lib_dir.format(**_vars)
- maybe_icu_libs = find_files_using_glob(resolved_destination_lib_dir, "libicu*")
+ maybe_icu_libs = find_files_using_glob(destination_qt_lib_dir, "libicu*")
# If no ICU libraries are present in the Qt libdir (like when
# Qt is built against system ICU, or in the Coin CI where ICU
@@ -56,21 +57,21 @@ def prepare_standalone_package_linux(pyside_build, _vars, cross_build=False):
# We choose the QtCore lib to inspect, by
# checking which QtCore library the shiboken6 executable uses.
if not maybe_icu_libs and not cross_build:
- copy_icu_libs(pyside_build._patchelf_path, resolved_destination_lib_dir)
+ copy_icu_libs(pyside_build._patchelf_path, destination_qt_lib_dir)
# Set RPATH for Qt libs.
- pyside_build.update_rpath_for_linux_qt_libraries(destination_lib_dir.format(**_vars))
+ pyside_build.update_rpath_for_linux_qt_libraries(destination_qt_lib_dir)
# Patching designer to use the Qt libraries provided in the wheel
if config.is_internal_pyside_build() and not OPTION['NO_QT_TOOLS']:
- assistant_path = "{st_build_dir}/{st_package_name}/assistant".format(**_vars)
+ assistant_path = f"{destination_dir}/assistant"
linux_patch_executable(pyside_build._patchelf_path, assistant_path)
- designer_path = "{st_build_dir}/{st_package_name}/designer".format(**_vars)
+ designer_path = f"{destination_dir}/designer"
linux_patch_executable(pyside_build._patchelf_path, designer_path)
if pyside_build.is_webengine_built(built_modules):
copydir("{qt_data_dir}/resources",
- "{st_build_dir}/{st_package_name}/Qt/resources",
+ f"{destination_qt_dir}/resources",
_filter=None,
recursive=False,
_vars=_vars)
@@ -78,7 +79,7 @@ def prepare_standalone_package_linux(pyside_build, _vars, cross_build=False):
if copy_plugins:
is_pypy = "pypy" in pyside_build.build_classifiers
# <qt>/plugins/* -> <setup>/{st_package_name}/Qt/plugins
- plugins_target = "{st_build_dir}/{st_package_name}/Qt/plugins"
+ plugins_target = f"{destination_qt_dir}/plugins"
copydir("{qt_plugins_dir}", plugins_target,
_filter=["*.so"],
recursive=True,
@@ -96,7 +97,7 @@ def prepare_standalone_package_linux(pyside_build, _vars, cross_build=False):
if copy_qml:
# <qt>/qml/* -> <setup>/{st_package_name}/Qt/qml
- qml_plugins_target = "{st_build_dir}/{st_package_name}/Qt/qml"
+ qml_plugins_target = f"{destination_qt_dir}/qml"
copydir("{qt_qml_dir}",
qml_plugins_target,
_filter=None,
@@ -105,24 +106,24 @@ def prepare_standalone_package_linux(pyside_build, _vars, cross_build=False):
ignore=["*.debug"],
_vars=_vars)
copied_plugins = pyside_build.get_shared_libraries_in_path_recursively(
- qml_plugins_target.format(**_vars))
+ qml_plugins_target)
pyside_build.update_rpath_for_linux_plugins(
copied_plugins,
- qt_lib_dir=destination_lib_dir.format(**_vars),
+ qt_lib_dir=destination_qt_lib_dir,
is_qml_plugin=True)
if copy_translations:
# <qt>/translations/* ->
# <setup>/{st_package_name}/Qt/translations
copydir("{qt_translations_dir}",
- "{st_build_dir}/{st_package_name}/Qt/translations",
+ f"{destination_qt_dir}/translations",
_filter=["*.qm", "*.pak"],
force=False,
_vars=_vars)
if copy_qt_conf:
# Copy the qt.conf file to libexec.
- qt_libexec_path = Path("{st_build_dir}/{st_package_name}/Qt/libexec".format(**_vars))
+ qt_libexec_path = Path(destination_qt_dir) / "libexec"
if not qt_libexec_path.is_dir():
os.makedirs(qt_libexec_path)
copyfile(f"{{build_dir}}/{PYSIDE}/{{st_package_name}}/qt.conf",
diff --git a/build_scripts/platforms/macos.py b/build_scripts/platforms/macos.py
index dc54d559b..83511db0c 100644
--- a/build_scripts/platforms/macos.py
+++ b/build_scripts/platforms/macos.py
@@ -30,6 +30,10 @@ def prepare_standalone_package_macos(pyside_build, _vars):
copy_translations = True
copy_qt_conf = True
+ destination_dir = "{st_build_dir}/{st_package_name}".format(**_vars)
+ destination_qt_dir = f"{destination_dir}/Qt"
+ destination_qt_lib_dir = f"{destination_qt_dir}/lib"
+
if config.is_internal_shiboken_generator_build():
constrain_modules = ["Core", "Network", "Xml", "XmlPatterns"]
constrain_frameworks = [f"Qt{name}.framework" for name in constrain_modules]
@@ -94,7 +98,7 @@ def prepare_standalone_package_macos(pyside_build, _vars):
return False
return True
- copydir("{qt_lib_dir}", "{st_build_dir}/{st_package_name}/Qt/lib",
+ copydir("{qt_lib_dir}", destination_qt_lib_dir,
recursive=True, _vars=_vars,
ignore=["*.la", "*.a", "*.cmake", "*.pc", "*.prl"],
dir_filter_function=framework_dir_filter,
@@ -105,7 +109,7 @@ def prepare_standalone_package_macos(pyside_build, _vars):
# from Versions/5/Helpers, thus adding two more levels of
# directory hierarchy.
if pyside_build.is_webengine_built(built_modules):
- qt_lib_path = Path("{st_build_dir}/{st_package_name}/Qt/lib".format(**_vars))
+ qt_lib_path = Path(destination_qt_lib_dir)
bundle = Path("QtWebEngineCore.framework/Helpers/") / "QtWebEngineProcess.app"
binary = "Contents/MacOS/QtWebEngineProcess"
webengine_process_path = bundle / binary
@@ -120,8 +124,7 @@ def prepare_standalone_package_macos(pyside_build, _vars):
if constrain_modules:
accepted_modules = [f"libQt6{module}*.6.dylib" for module in constrain_modules]
- copydir("{qt_lib_dir}",
- "{st_build_dir}/{st_package_name}/Qt/lib",
+ copydir("{qt_lib_dir}", destination_qt_lib_dir,
_filter=accepted_modules,
ignore=ignored_modules,
file_filter_function=file_variant_filter,
@@ -129,13 +132,13 @@ def prepare_standalone_package_macos(pyside_build, _vars):
if pyside_build.is_webengine_built(built_modules):
copydir("{qt_data_dir}/resources",
- "{st_build_dir}/{st_package_name}/Qt/resources",
+ f"{destination_qt_dir}/resources",
_filter=None,
recursive=False,
_vars=_vars)
# Fix rpath for WebEngine process executable.
- qt_libexec_path = Path("{st_build_dir}/{st_package_name}/Qt/libexec".format(**_vars))
+ qt_libexec_path = Path(destination_qt_dir) / "libexec"
binary = "QtWebEngineProcess"
final_path = qt_libexec_path / binary
rpath = "@loader_path/../lib"
@@ -152,7 +155,7 @@ def prepare_standalone_package_macos(pyside_build, _vars):
if copy_plugins:
is_pypy = "pypy" in pyside_build.build_classifiers
# <qt>/plugins/* -> <setup>/{st_package_name}/Qt/plugins
- plugins_target = "{st_build_dir}/{st_package_name}/Qt/plugins"
+ plugins_target = f"{destination_qt_dir}/plugins"
filters = ["*.dylib"]
copydir("{qt_plugins_dir}", plugins_target,
_filter=filters,
@@ -169,8 +172,7 @@ def prepare_standalone_package_macos(pyside_build, _vars):
if copy_qml:
# <qt>/qml/* -> <setup>/{st_package_name}/Qt/qml
- copydir("{qt_qml_dir}",
- "{st_build_dir}/{st_package_name}/Qt/qml",
+ copydir("{qt_qml_dir}", f"{destination_qt_dir}/qml",
_filter=None,
recursive=True,
force=False,
@@ -181,8 +183,7 @@ def prepare_standalone_package_macos(pyside_build, _vars):
if copy_translations:
# <qt>/translations/* ->
# <setup>/{st_package_name}/Qt/translations
- copydir("{qt_translations_dir}",
- "{st_build_dir}/{st_package_name}/Qt/translations",
+ copydir("{qt_translations_dir}", f"{destination_qt_dir}/translations",
_filter=["*.qm", "*.pak"],
force=False,
_vars=_vars)
diff --git a/build_scripts/platforms/unix.py b/build_scripts/platforms/unix.py
index 1359e0bca..6b6345d6b 100644
--- a/build_scripts/platforms/unix.py
+++ b/build_scripts/platforms/unix.py
@@ -43,13 +43,16 @@ def prepare_packages_posix(pyside_build, _vars, cross_build=False):
executables = []
libexec_executables = []
+ destination_dir = "{st_build_dir}/{st_package_name}".format(**_vars)
+ destination_qt_dir = f"{destination_dir}/Qt"
+ destination_qt_lib_dir = f"{destination_qt_dir}/lib"
+
# <install>/lib/site-packages/{st_package_name}/* ->
# <setup>/{st_package_name}
# This copies the module .so/.dylib files and various .py files
# (__init__, config, git version, etc.)
copydir(
- "{site_packages_dir}/{st_package_name}",
- "{st_build_dir}/{st_package_name}",
+ "{site_packages_dir}/{st_package_name}", destination_dir,
_vars=_vars)
generated_config = pyside_build.get_built_pyside_config(_vars)
@@ -72,8 +75,7 @@ def prepare_packages_posix(pyside_build, _vars, cross_build=False):
# <install>/lib/lib* -> {st_package_name}/
copydir(
- "{install_dir}/lib/",
- "{st_build_dir}/{st_package_name}",
+ "{install_dir}/lib/", destination_dir,
_filter=[
adjusted_lib_name("libshiboken*",
generated_config['shiboken_library_soversion']),
@@ -83,8 +85,7 @@ def prepare_packages_posix(pyside_build, _vars, cross_build=False):
if config.is_internal_shiboken_generator_build():
# <install>/bin/* -> {st_package_name}/
executables.extend(copydir(
- "{install_dir}/bin/",
- "{st_build_dir}/{st_package_name}",
+ "{install_dir}/bin/", destination_dir,
_filter=[SHIBOKEN],
recursive=False, _vars=_vars))
@@ -126,8 +127,7 @@ def prepare_packages_posix(pyside_build, _vars, cross_build=False):
# <install>/bin/* -> {st_package_name}/
executables.extend(copydir(
- "{install_dir}/bin/",
- "{st_build_dir}/{st_package_name}",
+ "{install_dir}/bin/", destination_dir,
_filter=[f"{PYSIDE}-lupdate"],
recursive=False, _vars=_vars))
@@ -135,8 +135,7 @@ def prepare_packages_posix(pyside_build, _vars, cross_build=False):
if not OPTION['NO_QT_TOOLS']:
lib_exec_filters.extend(['uic', 'rcc', 'qmltyperegistrar', 'qmlimportscanner'])
executables.extend(copydir(
- "{install_dir}/bin/",
- "{st_build_dir}/{st_package_name}",
+ "{install_dir}/bin/", destination_dir,
_filter=["lrelease", "lupdate", "qmllint", "qmlformat", "qmlls"],
recursive=False, _vars=_vars))
# Copying assistant/designer
@@ -145,8 +144,7 @@ def prepare_packages_posix(pyside_build, _vars, cross_build=False):
executables.extend(_copy_gui_executable('linguist', _vars=_vars))
# <qt>/lib/metatypes/* -> <setup>/{st_package_name}/Qt/lib/metatypes
- destination_lib_dir = "{st_build_dir}/{st_package_name}/Qt/lib"
- copydir("{qt_lib_dir}/metatypes", f"{destination_lib_dir}/metatypes",
+ copydir("{qt_lib_dir}/metatypes", f"{destination_qt_lib_dir}/metatypes",
_filter=["*.json"],
recursive=False, _vars=_vars, force_copy_symlinks=True)
@@ -156,15 +154,14 @@ def prepare_packages_posix(pyside_build, _vars, cross_build=False):
lib_exec_filters.append('QtWebEngineProcess')
if lib_exec_filters:
libexec_executables.extend(copydir("{qt_lib_execs_dir}",
- "{st_build_dir}/{st_package_name}/Qt/libexec",
+ f"{destination_qt_dir}/libexec",
_filter=lib_exec_filters,
recursive=False,
_vars=_vars))
# <install>/lib/lib* -> {st_package_name}/
copydir(
- "{install_dir}/lib/",
- "{st_build_dir}/{st_package_name}",
+ "{install_dir}/lib", destination_dir,
_filter=[
adjusted_lib_name("libpyside*",
generated_config['pyside_library_soversion']),
@@ -195,8 +192,7 @@ def prepare_packages_posix(pyside_build, _vars, cross_build=False):
# <source>/pyside6/{st_package_name}/*.pyi ->
# <setup>/{st_package_name}/*.pyi
copydir(
- f"{{build_dir}}/{PYSIDE}/{{st_package_name}}",
- "{st_build_dir}/{st_package_name}",
+ f"{{build_dir}}/{PYSIDE}/{{st_package_name}}", destination_dir,
_filter=["*.pyi", "py.typed"],
_vars=_vars)
@@ -225,7 +221,7 @@ def prepare_packages_posix(pyside_build, _vars, cross_build=False):
# Update rpath to $ORIGIN
if sys.platform.startswith('linux') or sys.platform.startswith('darwin'):
- rpath_path = "{st_build_dir}/{st_package_name}".format(**_vars)
+ rpath_path = destination_dir
pyside_build.update_rpath(rpath_path, executables)
pyside_build.update_rpath(rpath_path, pyside_build.package_libraries(rpath_path))
if libexec_executables:
diff --git a/build_scripts/platforms/windows_desktop.py b/build_scripts/platforms/windows_desktop.py
index db1f97d1b..40c245b7a 100644
--- a/build_scripts/platforms/windows_desktop.py
+++ b/build_scripts/platforms/windows_desktop.py
@@ -20,13 +20,16 @@ def prepare_packages_win32(pyside_build, _vars):
if (pyside_build.debug or pyside_build.build_type == 'RelWithDebInfo') and copy_pdbs:
pdbs = ['*.pdb']
+ destination_dir = "{st_build_dir}/{st_package_name}".format(**_vars)
+ destination_qt_dir = destination_dir
+ destination_qt_lib_dir = f"{destination_qt_dir}/lib"
+
# <install>/lib/site-packages/{st_package_name}/* ->
# <setup>/{st_package_name}
# This copies the module .pyd files and various .py files
# (__init__, config, git version, etc.)
copydir(
- "{site_packages_dir}/{st_package_name}",
- "{st_build_dir}/{st_package_name}",
+ "{site_packages_dir}/{st_package_name}", destination_dir,
_vars=_vars)
if config.is_internal_shiboken_module_build():
@@ -39,15 +42,13 @@ def prepare_packages_win32(pyside_build, _vars):
# <install>/bin/*.dll -> {st_package_name}/
copydir(
- "{install_dir}/bin/",
- "{st_build_dir}/{st_package_name}",
+ "{install_dir}/bin/", destination_qt_dir,
_filter=["shiboken*.dll"],
recursive=False, _vars=_vars)
# <install>/lib/*.lib -> {st_package_name}/
copydir(
- "{install_dir}/lib/",
- "{st_build_dir}/{st_package_name}",
+ "{install_dir}/lib/", destination_qt_dir,
_filter=["shiboken*.lib"],
recursive=False, _vars=_vars)
@@ -55,43 +56,37 @@ def prepare_packages_win32(pyside_build, _vars):
# {shibokengenerator}.pdb file.
# Task-number: PYSIDE-615
copydir(
- f"{{build_dir}}/{SHIBOKEN}/shibokenmodule",
- "{st_build_dir}/{st_package_name}",
+ f"{{build_dir}}/{SHIBOKEN}/shibokenmodule", destination_dir,
_filter=pdbs,
recursive=False, _vars=_vars)
# pdb files for libshiboken and libpyside
copydir(
- f"{{build_dir}}/{SHIBOKEN}/libshiboken",
- "{st_build_dir}/{st_package_name}",
+ f"{{build_dir}}/{SHIBOKEN}/libshiboken", destination_dir,
_filter=pdbs,
recursive=False, _vars=_vars)
if config.is_internal_shiboken_generator_build():
# <install>/bin/*.dll -> {st_package_name}/
copydir(
- "{install_dir}/bin/",
- "{st_build_dir}/{st_package_name}",
+ "{install_dir}/bin/", destination_dir,
_filter=["shiboken*.exe"],
recursive=False, _vars=_vars)
# Used to create scripts directory.
- makefile(
- "{st_build_dir}/{st_package_name}/scripts/shiboken_tool.py",
- _vars=_vars)
+ makefile(f"{destination_dir}/scripts/shiboken_tool.py", _vars=_vars)
# For setting up setuptools entry points.
copyfile(
"{install_dir}/bin/shiboken_tool.py",
- "{st_build_dir}/{st_package_name}/scripts/shiboken_tool.py",
+ f"{destination_dir}/scripts/shiboken_tool.py",
force=False, _vars=_vars)
# @TODO: Fix this .pdb file not to overwrite release
# {shibokenmodule}.pdb file.
# Task-number: PYSIDE-615
copydir(
- f"{{build_dir}}/{SHIBOKEN}/generator",
- "{st_build_dir}/{st_package_name}",
+ f"{{build_dir}}/{SHIBOKEN}/generator", destination_dir,
_filter=pdbs,
recursive=False, _vars=_vars)
@@ -99,21 +94,18 @@ def prepare_packages_win32(pyside_build, _vars):
# <install>/include/* -> <setup>/{st_package_name}/include
copydir(
"{install_dir}/include/{cmake_package_name}",
- "{st_build_dir}/{st_package_name}/include",
+ f"{destination_dir}/include",
_vars=_vars)
if config.is_internal_pyside_build():
# <build>/pyside6/{st_package_name}/*.pdb ->
# <setup>/{st_package_name}
copydir(
- f"{{build_dir}}/{PYSIDE}/{{st_package_name}}",
- "{st_build_dir}/{st_package_name}",
+ f"{{build_dir}}/{PYSIDE}/{{st_package_name}}", destination_dir,
_filter=pdbs,
recursive=False, _vars=_vars)
- makefile(
- "{st_build_dir}/{st_package_name}/scripts/__init__.py",
- _vars=_vars)
+ makefile(f"{destination_dir}/scripts/__init__.py", _vars=_vars)
# For setting up setuptools entry points
for script in ("pyside_tool.py", "metaobjectdump.py", "project.py", "qml.py",
@@ -135,22 +127,18 @@ def prepare_packages_win32(pyside_build, _vars):
"rcc.exe", "qmllint.exe", "qmltyperegistrar.exe",
"assistant.exe", "designer.exe", "qmlimportscanner.exe",
"linguist.exe", "qmlformat.exe", "qmlls.exe"])
- copydir(
- "{install_dir}/bin/",
- "{st_build_dir}/{st_package_name}",
- _filter=filters,
- recursive=False, _vars=_vars)
+ copydir("{install_dir}/bin/", destination_qt_dir,
+ _filter=filters,
+ recursive=False, _vars=_vars)
# <qt>/lib/metatypes/* -> <setup>/{st_package_name}/lib/metatypes
- destination_lib_dir = "{st_build_dir}/{st_package_name}/lib"
- copydir("{qt_lib_dir}/metatypes", f"{destination_lib_dir}/metatypes",
+ copydir("{qt_lib_dir}/metatypes", destination_qt_lib_dir,
_filter=["*.json"],
recursive=False, _vars=_vars)
# <install>/lib/*.lib -> {st_package_name}/
copydir(
- "{install_dir}/lib/",
- "{st_build_dir}/{st_package_name}",
+ "{install_dir}/lib/", destination_dir,
_filter=["pyside*.lib"],
recursive=False, _vars=_vars)
@@ -158,34 +146,32 @@ def prepare_packages_win32(pyside_build, _vars):
# <setup>/{st_package_name}/typesystems
copydir(
"{install_dir}/share/{st_package_name}/typesystems",
- "{st_build_dir}/{st_package_name}/typesystems",
+ f"{destination_dir}/typesystems",
_vars=_vars)
# <install>/share/{st_package_name}/glue/* ->
# <setup>/{st_package_name}/glue
copydir(
"{install_dir}/share/{st_package_name}/glue",
- "{st_build_dir}/{st_package_name}/glue",
+ f"{destination_dir}/glue",
_vars=_vars)
# <source>/pyside6/{st_package_name}/support/* ->
# <setup>/{st_package_name}/support/*
copydir(
f"{{build_dir}}/{PYSIDE}/{{st_package_name}}/support",
- "{st_build_dir}/{st_package_name}/support",
+ f"{destination_dir}/support",
_vars=_vars)
# <source>/pyside6/{st_package_name}/*.pyi ->
# <setup>/{st_package_name}/*.pyi
copydir(
- f"{{build_dir}}/{PYSIDE}/{{st_package_name}}",
- "{st_build_dir}/{st_package_name}",
+ f"{{build_dir}}/{PYSIDE}/{{st_package_name}}", destination_dir,
_filter=["*.pyi", "py.typed"],
_vars=_vars)
copydir(
- f"{{build_dir}}/{PYSIDE}/libpyside",
- "{st_build_dir}/{st_package_name}",
+ f"{{build_dir}}/{PYSIDE}/libpyside", destination_dir,
_filter=pdbs,
recursive=False, _vars=_vars)
@@ -196,12 +182,12 @@ def prepare_packages_win32(pyside_build, _vars):
return True
# examples/* -> <setup>/{st_package_name}/examples
copydir(Path(pyside_build.script_dir) / "examples",
- "{st_build_dir}/{st_package_name}/examples",
+ f"{destination_dir}/examples",
force=False, _vars=_vars, dir_filter_function=pycache_dir_filter)
if _vars['ssl_libs_dir']:
# <ssl_libs>/* -> <setup>/{st_package_name}/openssl
- copydir("{ssl_libs_dir}", "{st_build_dir}/{st_package_name}/openssl",
+ copydir("{ssl_libs_dir}", f"{destination_dir}/openssl",
_filter=[
"libeay32.dll",
"ssleay32.dll"],
@@ -213,7 +199,7 @@ def prepare_packages_win32(pyside_build, _vars):
copy_msvc_redist_files(_vars, Path("{build_dir}/msvc_redist".format(**_vars)))
if config.is_internal_pyside_build() or config.is_internal_shiboken_generator_build():
- copy_qt_artifacts(pyside_build, copy_pdbs, _vars)
+ copy_qt_artifacts(pyside_build, destination_qt_dir, copy_pdbs, _vars)
copy_msvc_redist_files(_vars, Path("{build_dir}/msvc_redist".format(**_vars)))
@@ -259,7 +245,7 @@ def copy_msvc_redist_files(_vars, redist_target_path):
_filter=msvc_redist, recursive=False, _vars=_vars)
-def copy_qt_artifacts(pyside_build, copy_pdbs, _vars):
+def copy_qt_artifacts(pyside_build, destination_qt_dir, copy_pdbs, _vars):
built_modules = pyside_build.get_built_pyside_config(_vars)['built_modules']
constrain_modules = None
@@ -319,8 +305,7 @@ def copy_qt_artifacts(pyside_build, copy_pdbs, _vars):
copy_msvc_redist_files(_vars, Path("{qt_bin_dir}".format(**_vars)))
if artifacts:
- copydir("{qt_bin_dir}",
- "{st_build_dir}/{st_package_name}",
+ copydir("{qt_bin_dir}", destination_qt_dir,
_filter=artifacts, recursive=False, _vars=_vars)
# <qt>/bin/*.dll and Qt *.pdbs -> <setup>/{st_package_name} part two
@@ -389,15 +374,14 @@ def copy_qt_artifacts(pyside_build, copy_pdbs, _vars):
qt_dll_filter = functools.partial(qt_build_config_filter,
qt_dll_patterns)
- copydir("{qt_bin_dir}",
- "{st_build_dir}/{st_package_name}",
+ copydir("{qt_bin_dir}", destination_qt_dir,
file_filter_function=qt_dll_filter,
recursive=False, _vars=_vars)
if copy_plugins:
is_pypy = "pypy" in pyside_build.build_classifiers
# <qt>/plugins/* -> <setup>/{st_package_name}/plugins
- plugins_target = "{st_build_dir}/{st_package_name}/plugins"
+ plugins_target = f"{destination_qt_dir}/plugins"
plugin_dll_patterns = ["*{}.dll"]
pdb_pattern = "*{}.pdb"
if copy_pdbs:
@@ -415,8 +399,7 @@ def copy_qt_artifacts(pyside_build, copy_pdbs, _vars):
if copy_translations:
# <qt>/translations/* -> <setup>/{st_package_name}/translations
- copydir("{qt_translations_dir}",
- "{st_build_dir}/{st_package_name}/translations",
+ copydir("{qt_translations_dir}", f"{destination_qt_dir}/translations",
_filter=["*.qm", "*.pak"],
force=False,
_vars=_vars)
@@ -428,7 +411,7 @@ def copy_qt_artifacts(pyside_build, copy_pdbs, _vars):
qml_ignore = [a.format('') for a in qml_ignore_patterns]
# Copy all files that are not dlls and pdbs (.qml, qmldir).
- copydir("{qt_qml_dir}", "{st_build_dir}/{st_package_name}/qml",
+ copydir("{qt_qml_dir}", f"{destination_qt_dir}/qml",
ignore=qml_ignore,
force=False,
recursive=True,
@@ -439,30 +422,28 @@ def copy_qt_artifacts(pyside_build, copy_pdbs, _vars):
qml_dll_filter = functools.partial(qt_build_config_filter, qml_dll_patterns)
# Copy all dlls (and possibly pdbs).
- copydir("{qt_qml_dir}", "{st_build_dir}/{st_package_name}/qml",
+ copydir("{qt_qml_dir}", f"{destination_qt_dir}/qml",
file_filter_function=qml_dll_filter,
force=False,
recursive=True,
_vars=_vars)
if pyside_build.is_webengine_built(built_modules):
- copydir("{qt_data_dir}/resources",
- "{st_build_dir}/{st_package_name}/resources",
+ copydir("{qt_data_dir}/resources", f"{destination_qt_dir}/resources",
_filter=None,
recursive=False,
_vars=_vars)
_ext = "d" if pyside_build.debug else ""
_filter = [f"QtWebEngineProcess{_ext}.exe"]
- copydir("{qt_bin_dir}",
- "{st_build_dir}/{st_package_name}",
+ copydir("{qt_bin_dir}", destination_qt_dir,
_filter=_filter,
recursive=False, _vars=_vars)
if copy_qt_conf:
# Copy the qt.conf file to prefix dir.
copyfile(f"{{build_dir}}/{PYSIDE}/{{st_package_name}}/qt.conf",
- "{st_build_dir}/{st_package_name}",
+ destination_qt_dir,
_vars=_vars)
if copy_clang: