aboutsummaryrefslogtreecommitdiffstats
path: root/build_scripts
Commit message (Collapse)AuthorAgeFilesLines
* 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>
* Revert "Replace _ARCH_ by 64/32bit in LLVM_INSTALL_DIR"Friedemann Kleint2021-01-111-3/+0
| | | | | | | | | | | | | | This reverts commit c3fc507d3b2a502273bd92472e1e7aa459c2d13e. 29be13664858cdb7ed7cbc02d6ad496bf57a9bbd moves this handling to the coin scripts, where it belongs. Some functionality was already removed by e44e21f14d8b10b1832c5db5459bf26f287ab6e8. Task-number: PYSIDE-431 Change-Id: I7474ea17230e484a53019eb7575d3dd9839e9263 Reviewed-by: Christian Tismer <tismer@stackless.com>
* Windows: Fix running the example tests in COINFriedemann Kleint2021-01-111-0/+10
| | | | | | | | | | | | | | Move the logic expanding the Clang-related variables introduced by c3fc507d3b2a502273bd92472e1e7aa459c2d13e to the COIN scripts since they are needed when building the sample binding. c3fc507d3b2a502273bd92472e1e7aa459c2d13e should then be reverted. Task-number: PYSIDE-431 Change-Id: I1f118fdbd8989b7b9e3d24a249af81f4020c73f3 Reviewed-by: Simo Fält <simo.falt@qt.io> (cherry picked from commit 01b1d3218d70d128fe6c2f2ce3e6dce74608adaa) Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* qp5_tool: Add verbose optionFriedemann Kleint2021-01-111-2/+9
| | | | | | | | | | Add an option that cause the --quiet option to be removed from the build arguments specified in the configuration file. This removes the need to change the configuration file to temporarily enable cmake messages for debugging cmake issues. Change-Id: Ib57fa95d730e2c984aea36234a5cdc8e8fb88703 Reviewed-by: Christian Tismer <tismer@stackless.com>
* Revert "Qt CI: Install libCLang 10.0"Simo Fält2021-01-051-65/+0
| | | | | | | | | | LibClang with dynamic libs is now provisioned with Qt5 scripts. So this is no longer needed. This reverts commit cbe5ac758c59f4d16b64704a1c5a3ddf88f3f85b. Pick-to: 6.0 Change-Id: I1ca354e14231d677a72fc4d8391a705e70d28f35 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* build_scripts: remove unused codeCristian Maureira-Fredes2021-01-051-8/+1
| | | | | | | | | | | | The function was removed in 609b1cd7ab8514354c93249e8a295e5e907d8de9 because CMake is in charge of discovering the location via llvm-config. This removes the code and raise a OSError if LLVM/CLANG_INSTALL_DIR is not defined. Pick-to: 6.0 Change-Id: Ifb74b9eb327518dbc7b114e6868b773f304a577e Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* build_scripts: fix get_config_var for Big SurCristian Maureira-Fredes2021-01-051-1/+2
| | | | | | | | | | get_config_var(...) returns an integer so the split fails. Pick-to: 6.0 Fixes: PYSIDE-1469 Change-Id: Iadf76c523dfca78c8b8d85511d06dc366de6273f Reviewed-by: Christian Tismer <tismer@stackless.com>
* build_scripts: use f-strings instead of format()Cristian Maureira-Fredes2021-01-0410-232/+215
| | | | | | | Pick-to: 6.0 Change-Id: I165e9a39f968f67f9eae3a632739908d5f8fda59 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Christian Tismer <tismer@stackless.com>
* qp5_tool: use f-strings instead of format()Cristian Maureira-Fredes2021-01-041-10/+10
| | | | | | | Pick-to: 6.0 Change-Id: If6b472d5abbdc1018790c447532453a2fe956eed Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Christian Tismer <tismer@stackless.com>
* build_scripts: replace print by distutils.logCristian Maureira-Fredes2021-01-044-27/+26
| | | | | | Pick-to: 6.0 Change-Id: I1106598719b48650847b08637e0caf6677cb26a0 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* build_scripts: remove unused importsCristian Maureira-Fredes2021-01-046-7/+3
| | | | | | Pick-to: 6.0 Change-Id: I8a62512707b576ea79fff56779322c7e38bbb21b Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* designer: add rpath for linuxCristian Maureira-Fredes2020-12-211-4/+5
| | | | | | | | | | | | 'designer' was not on the list of tools that we modify to add a run path for linux. Fixes: PYSIDE-1457 Fixes: PYSIDE-1456 Pick-to: 5.15 Pick-to: 6.0 Change-Id: Idde477fb5012c5e61df0713ee07b42895be72ec2 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* setup.py: Pass --reuse-build only to commands that use DistUtilsCommandMixinDmitry Shachnev2020-12-091-1/+1
| | | | | | | | | | Other commands, such as configure, do not support it. Amends 0a00958b083008dea340ef78b0f235ca49b7d22c. Pick-to: 5.15 Change-Id: I5dbcea6aea60e027a8ff15d10351edbeaefdf338 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Qt CI: Install libCLang 10.0Simo Fält2020-12-081-0/+65
| | | | | | | | Qt 6.0.0 CI configuration includes only static version of libClang so we need to install dynamic libs ourselves to be able to run shiboken6. Change-Id: I7654f9ac111c0dc2bfb78b3b3f3acb49b159925c Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* build scripts: Import 'PYSIDE' for linux platformSimo Fält2020-12-021-1/+1
| | | | | Change-Id: I08b665ae4feccc9b22b45da999150188228f29e2 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Allow calling CI's build scripts with python2Simo Fält2020-11-301-1/+7
| | | | | | | | | Currently we can't be sure that python3 is a default python in all CI nodes. Change-Id: I58ba7d2bb2dd987d344709c296ee3c5bc5c9c376 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* setup.py: Fix 'clean' commandFriedemann Kleint2020-11-241-1/+6
| | | | | | | | | | | Do not add -reuse-build, which it cannot handle. Amends ff5a96c49e2aa5347c1c9892aad33c591e931639. Pick-to: 5.15 5.15.2 Task-number: PYSIDE-807 Change-Id: I96ab03b95dd7762b1a16f2acc5d8ca31555ef1a3 Reviewed-by: Alexander Volkov <avolkov@astralinux.ru> Reviewed-by: Christian Tismer <tismer@stackless.com>
* Windows: Prevent cmake from auto-detecting the clang compilerFriedemann Kleint2020-11-101-0/+4
| | | | | | | | cmake tends to auto-detect the clang compiler from the path and then fails the build. Force it to use cl.exe. Change-Id: Ic58cc0e734dd42bba0ad383842ef73f23de50c76 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>