aboutsummaryrefslogtreecommitdiffstats
path: root/build_scripts
Commit message (Collapse)AuthorAgeFilesLines
* setup.py: Simplify logic of qmake and qtpaths lookupAlexandru Croitor2021-11-293-32/+26
| | | | | | | | | | | | | | | | | | | If an explicit qmake or qtpaths option is given, use it to determine the Qt prefix dir. If no option is specified, try to find qtpaths in PATH. Don't try to find the sibling tool as we did before this change, there's no benefit in doing that. Either one can be used to query the required Qt information. Make sure to log both tool paths. Amends 3b4764fefbb349eafb831b5da90f565b34c77a52 Change-Id: I03afaa8d8476b3d09affdde28f3ff6f1fdf652b6 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> (cherry picked from commit ed095a59eb91b48bd4e62e0b3d6005ab2d058d17) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* setup.py: Don't add the Qt prefix dir to PATH env var before buildingAlexandru Croitor2021-11-261-5/+7
| | | | | | | | | | | | | | | | | | | | | | Modifying PATH influences which packages are found by CMake's find_package, as well as which binaries are available to execute during the CMake build phase. Instead of relying on PATH, we should rely on passing the detected Qt prefix dir to CMAKE_PREFIX_PATH. This makes the build process more robust against differences in environment variables, as well as ensuring reproducibility when incrementally rebuilding a project manually without going through setup.py. Task-number: PYSIDE-1033 Change-Id: I9c36d9924b82cb1133c44f4ef44ca785bbf7e862 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Christian Tismer <tismer@stackless.com> (cherry picked from commit 99e49333432ab2ca7c185f2504e09480ae8de880) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* setup.py: Fix no log messages being shown during setup callAlexandru Croitor2021-11-261-4/+12
| | | | | | | | | | | | | | | | The default verbosity of a log object is WARN. distutils then set it to INFO when initializing the Distribution object. This would not affect the log object copy that setuptools exposes (and we now use). This caused the usual INFO messages not to be shown anymore. Explicitly set the setuptools log object verbosity to INFO unless the quiet option was given. Amends 95a5bb9dd3b5d3fa86f2ed0868e2b821256a6028 Change-Id: I793dc92582007895fa23d43baabe5b97c146552e Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> (cherry picked from commit 4b78450bae8bf839d6d438bc4f92efdcdc3979a0) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* setup.py: Add missing DistutilsSetupError importAlexandru Croitor2021-11-261-1/+1
| | | | | | | | | | | DistutilsSetupError should be imported instead of DistutilsError. Amends 95a5bb9dd3b5d3fa86f2ed0868e2b821256a6028 Change-Id: I9db9dd5114ef4413b57da2f60e3441071c122635 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> (cherry picked from commit 042b9538f9e18ea731eca14e55afe3836e1967d6) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Move from distutils to setuptoolsCristián Maureira-Fredes2021-11-267-78/+92
| | | | | | | | | | | This is motivated by the deprecation of distutils, and removal in future versions https://github.com/pypa/packaging-problems/issues/127 Change-Id: I16448b69f98df6dc1d9a904b69eb69ed5f1093f5 Reviewed-by: Christian Tismer <tismer@stackless.com> (cherry picked from commit 95a5bb9dd3b5d3fa86f2ed0868e2b821256a6028) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* setup.py: Package QtWebEngine resources from Qt's data dirAlexandru Croitor2021-11-225-3/+8
| | | | | | | | | | | | | The QtWebEngine resources are not necessarily in $qt_prefix/resources. On Linux, distro's might specify a different value for QT_INSTALL_DATA. Make sure to use that value. Change-Id: I5bed723de07d39d0bc72e7932161809150433037 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> (cherry picked from commit 2d3758754337c673e459dfafe7db20462fa7acb2) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* setup.py: Remove dead function prepare_sub_modulesAlexandru Croitor2021-11-191-37/+0
| | | | | | | | | | | | | | It was originally removed in the dev branch via 9c9b506f3b2cc64da6fbbef9f58ccec7ccfe4457 but was accidentally brought back with a 5.15 -> dev merge in 68ec9c643abf30cf22b9932ec82098cdebc08b98 Remove it again. Change-Id: I86d3be455e45feeb5fd08cba49ca0324a6a1a26d Reviewed-by: Christian Tismer <tismer@stackless.com> (cherry picked from commit 554d28f8f2c6104aca88079e9c7999d30eaf629a) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Use legacy OpenGL option to build on linuxCristián Maureira-Fredes2021-11-191-0/+6
| | | | | | | | | | Fixes: PYSIDE-1547 Change-Id: I7ff4fe084c4121d5635479d5fd2ed9b6a9fa0df7 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Christian Tismer <tismer@stackless.com> (cherry picked from commit 35deefbc82892b7002913dc527e3403ae00f573c) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* setup: coin: Use sccache when building if the platform config sets itAlexandru Croitor2021-11-152-0/+8
| | | | | | | | | | | | | Set the CI_USE_SCCACHE env var if the sccache feature is enabled for the platform config. Pipe that through coin_build_instructions.py to setup.py. Add the relevant CMake cache vars so sccache is used. Change-Id: I02d7ff0646791a5f0d2f1dd5c4a119ee016a9896 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Christian Tismer <tismer@stackless.com> (cherry picked from commit 037e50c063c1a63d0d09482b8e166ccec2bd13c0) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* setup: Make ninja output the commands it runs in a verbose buildAlexandru Croitor2021-11-151-1/+6
| | | | | | | | | | | | | | | Verbose build output worked when using the Makefiles generator because we set CMAKE_VERBOSE_MAKEFILE to ON, but that does not affect ninja. For ninja we need to explicitly pass -v on the command line. The verbose ninja output is useful when debugging build issues in the CI (which uses verbose build). Change-Id: Ib1532db0225744184d89bf796c4b3a6a40d718ca Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> (cherry picked from commit 9594789fcc58cb250900c935e1adb4b2ce9ed8b6) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Revert "setup.py: Move all build dirs into a common 'build' subdirectory"Alexandru Croitor2021-10-281-55/+21
| | | | | | | | | | | | | | | | | | | | | | | This reverts commit 234349d124ccfa399921e2b9fc09addcff0b0a94. It fixes the following warning warning: PysideInstallLib: 'build/lib.macosx-10.14-x86_64-3.7' does not exist -- no Python modules to install The build_lib directory is only assigned during the run() method of the build command, which means the install command didn't pick up anything to install, because it expects the build_lib to be set during finalize_options of the build command, and it wasn't, it had the default value instead. Installation accidentally worked for the bdist_wheel command because the build command is run to completion before the install command is prepared. Change-Id: I512a958db30858344f0d873a23bff0b925d7618e Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> (cherry picked from commit 0c6eb7cd232fff9d81a8d5bc9a7fd71d9b8c67f5) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* setup.py: Reduce cmake_minimum_required to 3.16Alexandru Croitor2021-10-281-1/+1
| | | | | | | | | | | | All the CMake projects require CMake 3.16, only the setup.py 'mkspecs extraction' project required 3.18 for some reason. Lower it to 3.16 as well. This is inline with the minimum CMake version needed for build Qt. Change-Id: I6b2d39c726ff2b8077d71c990a4ee8e363e2a163 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> (cherry picked from commit 6b0a8254f589495bf153773271669737408a53af) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* setup.py: Move all build dirs into a common 'build' subdirectoryAlexandru Croitor2021-10-271-21/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When building the project using setup.py, it would pollute the source directory with a lot of virtual environment build directories Move all of those into a common 'build' subdirectory. This eases cleanup of all build directories because they can all be removed with a single rm command. It also places all the various stages of build -> install -> package folders into a common subdirectory so it's easier to find and navigate between them. Example of the new build directory structure build/py3venv/py3.7-qt6.2.0-64bit-release/build/shiboken6 build/py3venv/py3.7-qt6.2.0-64bit-release/build/pyside6 build/py3venv/py3.7-qt6.2.0-64bit-release/install/bin/shiboken6 build/py3venv/py3.7-qt6.2.0-64bit-release/package-lib.macosx-10.14-x86_64-3.7 The last 'package-xyz' subfolder will have its name shortened if the SHORTER_PATHS option is enabled, to avoid path limits on Windows. If no virtualenv is used, change the dir prefix from the previous 'pyside' one to 'qfp' because it's shorter and it's also less confusing that there are both shiboken and pyside subfolders inside 'qfp'. Move the code that always removed the ./build directory on each setup.py invocation into prepare_packages() instead. This way it only removes the files from the 'package' subfolder which is the common packaging location between all the sub-projects. This removal is needed to ensure shiboken files don't end up packaged in the PySide6 wheel. TODO: One more improvement would be to move the bdist_dir and bdist_wheel dirs into the same common subdirectory. This is a bit more complicated to do because it requires computation of the common subfolder and its dependencies in finalize_options of both the 'build' and 'bdist' stages. [ChangeLog][setup.py] Build directories are now created inside the root ./build directory, rather than directly under the root of the project. Change-Id: Ie8c0dc27e5067acc9809b9cefaef6be66c76f9dd Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> (cherry picked from commit 234349d124ccfa399921e2b9fc09addcff0b0a94) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* setup.py: Make file paths in 'file copying' logs easier to readAlexandru Croitor2021-10-271-7/+7
| | | | | | | | | | Placing both source and destination paths on new lines makes it easier to visually compare the difference between paths. Change-Id: I0d44bb77f597e6144eae841a7d5625d5df2f4769 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> (cherry picked from commit 52617575feaa6f48ac542c14b628bdd7b7b8fc92) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* setup.py: Fix QT_SRC_DIR to only be set if a path is set and it existsAlexandru Croitor2021-10-271-2/+5
| | | | | | | | | | Fixes an issue when using a Qt that was not installed by the Qt online installer and thus doesn't have a Src subfolder. Change-Id: Ide633e265a1768f88b39ab0b6b7306f1b890d087 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> (cherry picked from commit baad76306056ce4a55976508f1c2adb357421c0a) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* setup.py: Allow specifying Qt without adding it to PATHAlexandru Croitor2021-10-272-11/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | Fix setup.py to allow specifying Qt either via --qtpaths or --qmake options. Previously if only one of the options were provided, the build would fail saying that the other option was not provided. Instead, only fail if neither options were provided. Reconstruct the path to the missing tool based on the path of the one that was provided. Prefer qtpaths, because the qmake option is deprecated. Even if both --qtpaths and --qmake options were provided to setup.py, the build would still fail when running _get_cmake_mkspecs_variables because it couldn't find a Qt package. The CMake project that is configured in that function depended on PATH being set to Qt's prefix, which CMake's find_package would then pick up. Explicitly pass the Qt prefix via CMAKE_PREFIX_PATH when configuring the project. Change-Id: Ibd0cb35f8902e3d795c308c9c755a342118b0848 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> (cherry picked from commit 3b4764fefbb349eafb831b5da90f565b34c77a52) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* setup.py: Set log verbosity to INFOAlexandru Croitor2021-10-271-1/+4
| | | | | | | | | | | | | So that the run_process commands in setup_runner.py actually print which setup.py sub-invocations are executed . Remove the duplicate log.info entries which are not needed anymore now that log verbosity is set correctly. Change-Id: I8a07097b244c4d24ae53d0a9bb4c2e2896902308 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> (cherry picked from commit e2a33d0a254696a90f57fb34a9793cebe1fdcb0d) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Python 3.10: add wheel identifierCristián Maureira-Fredes2021-09-282-2/+2
| | | | | | | Change-Id: I97b323d5055c30f782f62b85e734eb9f0e33f7b3 Reviewed-by: Simo Fält <simo.falt@qt.io> (cherry picked from commit 2fb82b5cd3ee1db9234e038759bd0e3cda9ca40b) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* py3.10-prep: Finally support Python 3.10Christian Tismer2021-08-181-0/+1
| | | | | | | | | | | | | | | | | | | | | | | After the major problems are solved in py3.10-prep: re-implement zip import py3.10-prep: reset the type cache after feature switching py3.10-prep: Fix parser.py for changed typing module , there are only some minor changes left to do. One thing is still not clear: * Unsolved: In time_test.py, the last two tests work but crash at shutdown. It is not yet clear if this is a PySide or Python error. This will crash Python 3.10 if not solved until the release. [ChangeLog][PySide6] Support Python 3.10. This is by 99% solved. Looking for a crash with unknown origin. Fixes: PYSIDE-1436 Change-Id: I94cffa7ed16a2651e09924fe5babc188b1b4c2b8 Reviewed-by: Christian Tismer <tismer@stackless.com>
* PySide6: Add entry points for the Qt Linguist toolsFriedemann Kleint2021-07-073-3/+12
| | | | | | | | | | | | | | | Add lupdate, lrelease, linguist. Rewrite sources/pyside-tools/CMakeLists.txt to use lists in case further tools need to be added. [ChangeLog][PySide6] pyside6-lupdate and the related tools from Qt Linguist have been re-added, enabling using the Qt translation system. Fixes: PYSIDE-1252 Change-Id: Ia528623f2b4fc3882a18347ed862ed910501d466 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* build scripts: Fix broken packages (rpaths)Friedemann Kleint2021-07-062-10/+11
| | | | | | | | | | | | | | | | | The python modules were unable to find the Qt libraries after 401c8134dd84e3ad271c6a0a1e6248cf090d7fe4. This was since the update_rpath() appends the list of package libraries to the executables passed in and sets the rpath on them, too. This caused the libexec-rpath being set on them since the libexec executables were passed last. Disentangle this by splitting out a helper to find the package libraries and call update_rpath() separately for them. Amends 401c8134dd84e3ad271c6a0a1e6248cf090d7fe4. Change-Id: I8d647d4e9b1e24e1d6dbc87801bcb4e5fccaf88e Reviewed-by: Christian Tismer <tismer@stackless.com>
* Pyside6/Qt Designer: Fix Python code preview not working on UNIXFriedemann Kleint2021-07-064-27/+32
| | | | | | | | | | | | | | | | | | | | | | Qt Designer as bundled by PySide6 was unable to find the uic binary in the libexec directory of the bundled Qt since that was only copied when QtWebEngine was built and the rcc/uic binaries were copied into the main directory. Also, libexec existed as a file containing qt.conf, which was created by a copy statement not checking for the target directory. Fix that by actually creating a libexec directory for uic, rcc and QtWebEngineProcess. Patch the executables accordingly. Add checks before copying qt.conf. Adapt pyside-tool to use libexec. The Windows code path remains the same, everything uses main directory there. Change-Id: I0c9f46fb776ed0315eecb6ed00202ea8d8f17fe2 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Christian Tismer <tismer@stackless.com>
* build_scripts: Pass --quiet to build_rst_docsFriedemann Kleint2021-06-241-0/+2
| | | | | | | | | Otherwise, the log messages from the example gallery clutter the sphinx warnings from the shiboken manual. Pick-to: 6.1 Change-Id: I1a8e3b685a4bfb830baea3a2221fc7980fee24e1 Reviewed-by: Christian Tismer <tismer@stackless.com>
* build scripts: Fix qmake messageFriedemann Kleint2021-06-171-4/+1
| | | | | | | | | | The qmake variable was changed to a string by 579372b8d45f847ddaae14b361b9d8ca54c044f3. Task-number: QTBUG-75870 Pick-to: 6.1 Change-Id: Idec1e9062fdbe474429885d70f36eb3accca0193 Reviewed-by: Christian Tismer <tismer@stackless.com>
* PySide6: Add assistant executableFriedemann Kleint2021-06-175-2/+8
| | | | | | | | | [ChangeLog][PySide6] Assistant is now shipped along with PySide. Fixes: PYSIDE-1378 Change-Id: Ie08778964f47378acf4e570b9a6dc3690257e411 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Christian Tismer <tismer@stackless.com>
* Introduce qtpaths as qmake replacementFriedemann Kleint2021-06-173-7/+53
| | | | | | | | | | | | | | qtpaths has become the recommended tool for querying Qt properties (see qtbase/fef850c51a069ed89ba400e6ffccbbea4b0cbb9f). Deprecate the --qmake option in favor of it and use qtpaths for the values. qmake is only used if a path is given on the command line. [ChangeLog][PySide6] qtpaths is now used to query Qt properties. Task-number: QTBUG-75870 Change-Id: I9a29b05d8b6e982647eeeeeda0134ddc807da141 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* build scripts: Replace qmake mkspec parsing by cmakeFriedemann Kleint2021-06-172-60/+63
| | | | | | | | | | Determine build type and macOS target by creating a cmake dummy project instead of a qmake one. Task-number: QTBUG-75870 Change-Id: Ia25124e42dd10bf503f7e613b0edcec88a005633 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Build scripts/UNIX: Extract helper function to copy GUI executablesFriedemann Kleint2021-06-161-12/+26
| | | | | | | | Prepare for adding more binaries. Task-number: PYSIDE-1378 Change-Id: I0156556503b2379a738175491300057e3d7b132c Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* build scripts: Remove qtchooser handlingFriedemann Kleint2021-06-162-20/+5
| | | | | | | | | qtchooser does not exist in Qt 6. Change _qmake_command to a string. Task-number: QTBUG-75870 Pick-to: 6.1 Change-Id: I6eb69fbd839567ba0e67c9d792666662126494cc Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* build scripts: Extract helper functions to patch executablesFriedemann Kleint2021-06-163-16/+28
| | | | | | | | Prepare for adding more binaries. Task-number: PYSIDE-1378 Change-Id: I1e3a39db28da19fe9a307145d599d7448428652d Reviewed-by: Christian Tismer <tismer@stackless.com>
* Revert "Allow calling CI's build scripts with python2"Friedemann Kleint2021-06-151-7/+1
| | | | | | | | | | | Python 2 is obsolete. This reverts commit 6635c196f3813f722c3498ecd98a4fbf4bf14741. Pick-to: 6.1 Fixes: PYSIDE-1437 Change-Id: I2eae44459efd6b4b9a6473563c4b5864ad932bd5 Reviewed-by: Christian Tismer <tismer@stackless.com>
* build_scripts/Linux: Try to determine library dependencies with ldd firstFriedemann Kleint2021-06-101-4/+60
| | | | | | | | | | | The build scripts used a reimplementation of ldd to determine library dependencies in case ldd is not installed which may fail on recent systems. Try ldd first and fall back to the reimplementation only if it fails. Change-Id: Icca16c2fae0ce6086284eb0194a28d8ec32daae6 Reviewed-by: Simo Fält <simo.falt@qt.io>
* setup.py/Windows: Fix warning about file accessFriedemann Kleint2021-05-311-13/+17
| | | | | | | | | | | | Having the temporary file open while qmake runs causes an access error on Windows. To fix this, create the file in a temporary directory, where also the stash file goes. Pick-to: 6.1 Change-Id: I3e972bbf29f68ec5d22d993488fc88b8b5c0a5a6 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Turn generate_pyi into a general pyi_generator tool, finishChristian Tismer2021-05-171-1/+3
| | | | | | | | | | | | | | | | After the new tool has been created, we can now produce a Shiboken.pyi file automatically and make the PySide pyi files more complete. The Shiboken internal objects are now published, and we no longer need a fake Shiboken.Object . We can continue here a bit, maybe in another commit. Pick-to: 6.1 Task-number: PYSIDE-1415 Change-Id: I9ba9336dbffa200ac519968519ee9381dd5cad84 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* PySide6: Install the Designer plugin on macOSFriedemann Kleint2021-05-091-3/+9
| | | | | | | | | | Complements 82afd88245a17b6ba759937a2b391c216857565a. Pick-to: 6.1 6.1.0 Task-number: PYSIDE-1455 Change-Id: I52e7f07e3c2a70a9a57fa71a37f8dce0180da868 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Christian Tismer <tismer@stackless.com>
* Fix cmake argument for standalone macOSCristian Maureira-Fredes2021-05-061-1/+1
| | | | | | | | | | | | | | The command --build doesn't properly work when trying to do a standalone invocation, and complains that it's an unknown argument, since that's meant to invoke a build with ninja, make, etc, and not to get information related the path of libraries, -B should be used instead. Fixes: PYSIDE-1556 Pick-to: 6.1 6.1.0 Change-Id: I4e64477032beba75c1210cb29093465f1c85bb6c Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Turn off numpy support in libpyside by defaultFriedemann Kleint2021-05-052-1/+8
| | | | | | | | | | | | | | Add a configure parameter for it and mark it as experimental. It has been found to: - break cx_freeeze - Cause embedding applications to fail to load with "undefined symbol: PyExc_RecursionError" Pick-to: 6.1 6.1.0 Task-number: PYSIDE-1540 Task-number: PYSIDE-1503 Task-number: PYSIDE-1455 Change-Id: I72fa4a3324a37eb996c42b83dce55fe1990b6fc3 Reviewed-by: Christian Tismer <tismer@stackless.com>
* build_scripts: clean and format qtinfoCristian Maureira-Fredes2021-05-041-86/+81
| | | | | | | | | | | * Use @property directly instead of the old notation * Move Singleton machinery to the top of the class * Use the tempfile module * Use double quotes instead of single ones Change-Id: I9ee81cf6c13314c4179092e2e6feb0871363abb2 Reviewed-by: Christian Tismer <tismer@stackless.com> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Build system: Make numpy centrally availableFriedemann Kleint2021-04-212-1/+15
| | | | | | | | | | | In order to be able to use numpy in PySide6 modules besides libshiboken, move the numpy detection into the build scripts and pass it as a CMake variable. Task-number: PYSIDE-1540 Task-number: PYSIDE-1503 Change-Id: Ib30fdbab83904878286b7eaae1674ffba0f2febd Reviewed-by: Christian Tismer <tismer@stackless.com>
* Enable shiboken documentation build for macOS againChristian Tismer2021-04-111-0/+7
| | | | | | | | | | | | | | | | | | Python v3.6 and docutils v0.17 have an encoding problem, because the default encoding is ASCII. That produces an encoding error on macOS in Sphinx: Running Sphinx v3.5.3 Encoding error: 'ascii' codec can't decode byte 0xc2 in position 69: ordinal not in range(128) The problem happens on macOS because CI uses that old version. It can be avoided by setting UTF-8 encoding. Change-Id: I88ee27cfb529dfec291dc079bcc2d52f656f180f Pick-to: 5.15 Pick-to: 6.0 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Revert "Temporarily disable the designer plugin"Friedemann Kleint2021-04-112-2/+10
| | | | | | | | | | | | The underlying bug has been fixed in Qt. This reverts commit 54f8953d629fd97460c82c977ba81d95f0dc5235. Task-number: QTBUG-92361 Task-number: PYSIDE-1455 Change-Id: I904074685121c2bec87ba23697401a1bd93947fb Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Christian Tismer <tismer@stackless.com>
* doc: make sure '--skip-docs' skip the docsCristian Maureira-Fredes2021-04-061-8/+14
| | | | | | | | | | | | | Even when using the code, some portions of the cmake file in sources/pyside6/doc/ was still being executed. This makes sure everything is skipped if we use the '--skip-docs' option when building. Pick-to: 6.0 5.15 Change-Id: If78b19b9650b61b642e447b8c96b814e82994d7c Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Temporarily disable the designer pluginFriedemann Kleint2021-04-062-10/+2
| | | | | | | | | | This needs to be reverted after the underlying bug has been fixed. Task-number: QTBUG-92361 Task-number: PYSIDE-1455 Change-Id: I1067190d96e70e36bf655bdba7d2e66e3eb4f890 Reviewed-by: Christian Tismer <tismer@stackless.com> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Add an option to disable copying of the Qt toolsFriedemann Kleint2021-03-164-18/+29
| | | | | | Fixes: PYSIDE-1518 Change-Id: Ida9982b9349bb5c34af671a9027aa90e9c87a02a Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Fix build after moving uic/rcc to libexecFriedemann Kleint2021-03-161-1/+3
| | | | | | | | | Grab uic/rcc from libexec for installation. Task-number: QTBUG-88791 Task-number: PYSIDE-1518 Change-Id: I6d3c1298725c942e7705b747f49a152ce7ccdbec Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* PySide6: Add a Designer pluginFriedemann Kleint2021-02-162-3/+14
| | | | | | | | | | | | | | Add a convencience class QPyDesignerCustomWidgetCollection to the Qt Designer module, which provides functions for registering widget types or adding QDesignerCustomWidgetInterface instances. A static instance of it is stored as a dynamic property on QCoreApplication, which is retrieved by a Qt Designer plugin, which provides the collection of widgets registered in Python. Task-number: PYSIDE-1455 Change-Id: If4055e6c9db6a03b32016b013a1130051bbd472a Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Add option for switching the protected hackFriedemann Kleint2021-02-042-0/+6
| | | | | | | It is useful to test it on non-Windows platforms as well. Change-Id: I6886900e9f619250c4281f2012d2c14bd7310a4c Reviewed-by: Christian Tismer <tismer@stackless.com>
* build scripts: Do not unnecessarily copy files when installingFriedemann Kleint2021-02-031-19/+32
| | | | | | | | Check whether files and symlinks already exist before actually copying or creating links. Change-Id: I4bf8d04a6a2bd07b02214b675757899fdfaa87ba Reviewed-by: Christian Tismer <tismer@stackless.com>
* Add mirror url to download MSVC redistributablesSimo Fält2021-01-201-1/+6
| | | | | | | Pick-to: 5.15 Pick-to: 6.0 Change-Id: If990cb45c2187cdfda5c41ea8b8123d803fa8934 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* qp5_tool: Add warning when the configured python binary is not under virtual envFriedemann Kleint2021-01-181-5/+16
| | | | | | | | | | | On Windows, the virtual env needs to be created by the debug binary python_d.exe in case of debug. When changing the configuration to release, it can happen that the system binary is used, which will then install to the system Python and cause strange errors. Change-Id: Ie3faf5d5f6a4cee3faec066f45cb3c6cbba416f5 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>