Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* build: improve the build configuration implementationCristián Maureira-Fredes2024-12-181-43/+18
| | | | | | | | | | | | - Using Singleton for the class - Adding type hints for the Path variables - Use function for parsing modules instead of duplicating it - Adapting related code in other files as well - Remove historical prints when configuring. Pick-to: 6.8 Change-Id: I9fef2e8d7c2033442f89a6f6ca027b5ae2ac6ab4 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* build: don't stop if unsupported python version is usedCristián Maureira-Fredes2024-12-161-2/+5
| | | | | | Task-number: PYSIDE-2958 Change-Id: I2457b2a81fae2a1e8c22dc3ac22d9ebe02b5e97a Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* build: fetch metadata from pyproject.toml fileCristián Maureira-Fredes2024-12-051-1/+1
| | | | | | | | | | | | | In a couple of releases we had inconsistencies between the wheel meta information from the build_scripts old scripts and the create_wheels new script. For old versions, we rely on tomli, but on new ones we use the standard tomllib one. Pick-to: 6.8 Change-Id: I114d8b0a240ad41cad8b57c27a0b3afadc928d94 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Raise Python version to 3.8Friedemann Kleint2024-12-031-7/+0
| | | | | | | | | | | | | | Fix some oversights of previous changes: - Bump limited API - Fix CMake files - Remove outdated version checks from Python code - Adapt some documentation Pick-to: 6.8 Task-number: PYSIDE-2943 Change-Id: Id8d9c4c6bb0629948de28beb3c4274991f84ff08 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* setup: fix PySide6.__all__ after the wheel split, amendment 2Christian Tismer2024-10-221-17/+0
| | | | | | | | | | | | | | | | | | When trying to write a module.__all__ variable without interference with different runtime folders, this version uses the __getattr__ support that Python 3.7 has introduced. This creates the __all__ variable on demand, when someone accesses that variable, for instance by "from PySide6 import *" which is the intended use. amends 703d975f16aff95bc9014a2689a3ae824b5a552f. Task-number: PYSIDE-1890 Change-Id: Ia4ead5bc7e499573d534ec7237b27ee737590a91 Fixes: PYSIDE-2895 Pick-to: 6.8 6.8.0 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* build: Remove build-directory-dependent code from PySide's __init__.pyFriedemann Kleint2024-10-181-0/+18
| | | | | | | | | It breaks checks for reproducible builds. Fixes: PYSIDE-2895 Pick-to: 6.8 Change-Id: Id9a8c00dd7319b6f30c06e30f796e7ee11edc593 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* type hints: Install a permanent test for error-free pyi filesChristian Tismer2024-10-171-0/+3
| | | | | | | | | | | | | | | | | Testing Mypy on the whole project costs some time, about 33 s on a Mac Studio Max M1 in debug mode. On CI with release Windows, this is about 8 sec. An option "--skip-mypy-test" is added to save time. The mypy tool is only enforced to exist in COIN. Otherwise it is optional. Task-number: PYSIDE-2846 Change-Id: Ibbabbf6b893537ac923fbbaba9ff832ebd675a21 Fixes: PYSIDE-2672 Fixes: PYSIDE-2886 Pick-to: 6.8 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Documentation: Release NotesShyamnath Premnadh2024-09-191-9/+30
| | | | | | | | | | | | | - Introduces a new section in the navigation pane called "Release Notes" with subpages for PySide6, Shiboken6, PySide2, and Shiboken2. - The .md files are auto-generated by the script `tools/release_notes/main.py` and created in the directory `sources/pyside6/doc/release_notes/`. Fixes: PYSIDE-2853 Change-Id: I6def8b526f11a638581f29798dd6917cd435d19c Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* CI: Always use the default libclangSimo Fält2024-09-051-0/+5
| | | | | | | | | Instead of using libclang specific for Qt for Python, use the one that is provisioned for qdoc. Task-number: PYSIDE-2620 Change-Id: Ib7f83ebb02c39f328f7161d0c3d996effbbd37c0 Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
* build scripts: Always record the latest build, whether tested or notChristian Tismer2024-09-031-12/+12
| | | | | | Task-number: PYSIDE-2701 Change-Id: I7c02c5e67ad847a86733b5086a3dbd0cf81b91cf Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
* Docs: Warnings for missing referencesShyamnath Premnadh2024-08-141-1/+1
| | | | | | | | | - Add `-n` option to `sphinx-build` to show warnings for missing references. Task-number: PYSIDE-2837 Change-Id: I82b60c922329016067889e580b371f311aa1b1f9 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* shiboken: Support compiler options for disabling optimizationsChristian Tismer2024-08-011-0/+4
| | | | | | | | | | | | | | | | | | | The fullname field has been removed, and the signature structures can be optionally compressed. Add a build option for switching these and future compiler features off. Combinable flags: --unoptimize=fullname --unoptimize=compression --unoptimize=folding (to be implemented) or just --unoptimize=all Task-number: PYSIDE-2701 Change-Id: I605dc810542ce99f99d9a6b6432e5feae09273b4 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* PySide Build: Add an option to provide extra include paths for ShibokenShyamnath Premnadh2024-07-291-0/+5
| | | | | | | | | | | | - Expands on 7cc5c139482d735c49002649d26bb524c92cc86b, by creating a build option '--shiboken-extra-include-paths' that appends extra include paths to the '--force-process-system-include-paths' option when calling shiboken generator to create PySide6 modules. - This can be helpful for Flatpak and OS Distro builds of PySide6. Pick-to: 6.7 Change-Id: Ibd4c9702a741d8047ccaf53d84a1c97550d78ffe Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Shiboken Build: Deal with libclang having a different SONAMEShyamnath Premnadh2024-07-231-0/+29
| | | | | | | | | | | | | | | | | | | | - In most of the newer prebuild libclang that Qt provides, the SONAME of the actual libclang library varies from the actual library. For example, the actual library might be called libclang.so.14.0.0, but the SONAME might be libclang.so.13. Normally, we only copy the actual library resulting in shiboken generator not being able to find the library at runtime. - During build, this works fine since a symlink already exists in the libclang directory. However, this symlink is not copied into the shiboken generator wheel. - Since symlinks cannot be dealt with using Python setuptools, we rename the actual library to the SONAME and copy it to 'package_for_wheels'. Pick-to: 6.7 Task-number: PYSIDE-2819 Change-Id: Ic3703e4887f6c1ba3361ac9097a451fb33d61ed5 Reviewed-by: Adrian Herrmann <adrian.herrmann@qt.io>
* PySide Build: Add option to force process system headersShyamnath Premnadh2024-07-131-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | - Expands on 7cc5c139482d735c49002649d26bb524c92cc86b, by creating a build option '-shiboken-foce-process-system-headers' that enables the '--force-process-system-include-paths' option when calling shiboken generator to create PySide6 modules. - This is specifically needed for Flatpak build of PySide6, where the Qt is installed globally and Qt headers are located in system header path. The alternative option would be to use CMake instructions directly, but this can make the Flatpak recipe for PySide6 quite cumbersome because on top of the huge CMake command, we need to manually move all the relevant PySide6 packages to the 'site-packages' of the concerned Python environment. The 'setup.py' build instruction automatically does this for us. - This can also help OS Distro maintainers to use 'setup.py' instead of CMake instructions to build PySide6 packages, if no other compiler flags or other optimizations are needed. Pick-to: 6.7 Task-number: PYSIDE-2702 Change-Id: I183f480c1fbb2b16badca4a81bf2cd008a6de0b3 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Python-3.10: Allow the new syntax for Python 3.9Christian Tismer2024-06-201-0/+1
| | | | | | | | Add a future statement to all Python source files. Task-number: PYSIDE-2786 Change-Id: Icd6688c7795a9e16fdcaa829686d57792df27690 Reviewed-by: Adrian Herrmann <adrian.herrmann@qt.io>
* Android Deployment: Build wheels with macOS hostShyamnath Premnadh2024-06-031-2/+8
| | | | | | | | | | | | - Additionally, also move setting Python_SOABI manually for Android to where FindPython CMake module is called. This also aids in naming the wheel correctly. Pick-to: 6.7 Task-number: PYSIDE-2766 Change-Id: I73c089d31e2ee629f3ed676965fca27d53882110 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Remove deprecated command 'build_rst_docs'Dennis Oberst2024-04-121-6/+0
| | | | | | | | | | | ... has been removed in favor of 'build_base_docs'. [ChangeLog][PySide6] 'build_rst_docs' has been removed in favor of 'build_base_docs'. Fixes: PYSIDE-2504 Change-Id: I2abcd6d1cef8c6b6095c9f25500380adc748ab83 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Deprecation Python 3.8Cristián Maureira-Fredes2024-03-121-2/+2
| | | | | | | | | | | The changes related PYSIDE-939 can be removed when 3.9 support is dropped, because the problem was fixed and included in 3.9.13 so we cannot assume everyone will be on that version or superior. Change-Id: I78afc660edc6fbb3bb1a2438e17366e63b24e375 Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* shiboken: Allow to disable pyi file generation for debuggingChristian Tismer2024-01-171-6/+9
| | | | | | | | | | | | | When developing difficult stuff like Lazy Initialization, it is convenient to have an option that ignores PYI generation. This way, translation can be successful, and pyi generation can then be debugged. Task-number: PYSIDE-2404 Change-Id: I68bd10af3754de3988556c4558d1331564f5dadb Pick-to: 6.6 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* PySide: Fix debug build in windowsShyamnath Premnadh2024-01-051-4/+1
| | | | | | | | | | | | - PYTHON_DEBUG_LIBRARIES does not exist in FindPython module and this cmake variable is equivalent to Python_LIBRARIES. PYTHON_DEBUG_LIBRARIES was already deprecated even before CMake 3.16. - Amends d5b56ebb1534a3359f03534a967bbe3cf2a5eb51 Pick-to: 6.6 Task-number: PYSIDE-2439 Change-Id: Ie5f21d0c9f1518ffb47dae37b3d3897a35f33c0d Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Shiboken: Remove FindPythonInterp and FindPythonLibs CMake modulesShyamnath Premnadh2023-12-111-3/+3
| | | | | | | | | | | | | | | - They were deprecated since 3.12 and removed in 3.27 - Use FindPython module as replacement - all the Python cmake variables resulted are renamed to their respective variable names as per the FindPython module instead of FindPythonInterp or FindPythonLibs module Pick-to: 6.6 Fixes: PYSIDE-2439 Change-Id: I1d3106e2cc9ee97e2d4f62d4e19e1a591d1021ad Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* docs: deprecate 'build_rst_docs' in favor of 'build_base_docs'Dennis Oberst2023-10-261-9/+19
| | | | | | | | | | | | | | | | | | | The command for building documentation files has been renamed to 'build_base_docs' and the previous command, 'build_rst_docs', has been deprecated. All relevant occurrences of the command have been updated accordingly. In addition, the documentation config and build directory 'build/pyside6/doc/rst' has been renamed to 'build/pyside6/doc/base'. To ensure a fresh start when generating new documentation, the auto-generated `examples` and `html` directories are now deleted before generating new documentation. This change has been made because these directories are generated anyway, and starting fresh ensures that there are no conflicts or issues with the new documentation. Task-number: PYSIDE-2504 Change-Id: I395ad7e9482b0b68311820d58da362513ebb44b2 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Final details to enable 3.12 wheel compatibilityCristián Maureira-Fredes2023-10-111-2/+2
| | | | | | | Change-Id: I0252c4e73e8c214ef8aa418ddf88bc452c0fdf53 Pick-to: 6.6 Task-number: PYSIDE-2230 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* PySide Build: Remove patchelf for Qfp binariesShyamnath Premnadh2023-09-061-1/+3
| | | | | | | | | | | | | | | | | | | | - patchelf was used only for setting RPATH - This approach uses CMake for setting RPATH instead of using a post processing hack like patchelf - Additionally, CMAKE_INSTALL_RPATH_USE_LINK_PATH which was passed explicitly is removed - For shiboken6 generator, removal of patchelf dependency leads to having local paths in the binary because of appending local path to linked library files when installed. With this patch, similar to Windows, for Unix platforms shiboken6 generator used for building PySide6 sets the path to the dependencies using a shell script by appending to the `LD_LIBRARY_PATH` variable Task-number: PYSIDE-2410 Change-Id: Ibee03ce7d8085a94b343664295b3ab93b76317c2 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* example_gallery: Handle Qt example directoriesFriedemann Kleint2023-08-031-0/+3
| | | | | | | | | | | | | | | Add an option to be able to include examples found in the Qt / qtdoc repository. The build_rst_docs target also uses it if --qt-src-dir is given. It is then possible to include pure QML C++ examples from the qtdoc and other repositories. Task-number: PYSIDE-2206 Change-Id: I1b28d5ba5a134101a21fa936f87264a68bada71e Reviewed-by: Adrian Herrmann <adrian.herrmann@qt.io> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* build: remove traces of distutilsCristián Maureira-Fredes2023-07-141-8/+7
| | | | | | | | | | | | | | | Removed mentions, comments, and fallback usages in some sections of the build scripts and documentation. On the CI, we upgrade setuptools in order to avoid having missing functionality, so it shouldn't be an issue. For Shiboken and CMake, there is still a helper that relies on distutils in case people is using python < 3.8.2 Pick-to: 6.5 Change-Id: Ic33abe9fa8bd8564e9d44c8714b7fedd4e50434a Reviewed-by: Simo Fält <simo.falt@qt.io>
* Cross Compilation - Fix PatchelfShyamnath Premnadh2023-07-131-1/+1
| | | | | | | | | | - Amends 2afcf8e7545c681e412e5b6d04ab8867e5edd5c7 Task-number: PYSIDE-802 Pick-to: 6.5 Change-Id: I56a30f36b1ec1cc5cfe87d7d43eb4a8c8d217692 Reviewed-by: Adrian Herrmann <adrian.herrmann@qt.io> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Cleanup build scriptsShyamnath Premnadh2023-07-131-1/+1
| | | | | | | | | - remove unused variable for update_rpaths() Pick-to: 6.5 Change-Id: I0bee785c6d90bf889a9afce511df3f7c201142e2 Reviewed-by: Adrian Herrmann <adrian.herrmann@qt.io> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Android Wheels: Include all Android Qt modulesShyamnath Premnadh2023-06-201-4/+1
| | | | | | | | | | - Earlier only some modules were built since we were in testing phase. With this patch, all the supported Qt for Android modules are built for PySide. Task-number: PYSIDE-1612 Change-Id: I6ab55b449fac18167e61b83b001e63be506d5085 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Copy Qt module JSON files for usage by create_wheels.pyFriedemann Kleint2023-04-171-0/+1
| | | | | | Pick-to: 6.5 Change-Id: I147609680589019c6db9dc13add64bf3e0dbab94 Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
* build_scripts: fix a suboptimal timing formulaChristian Tismer2023-04-111-2/+2
| | | | | | | | | | | | | | | | The construction start_time = int(time.time()) def elapsed(): return int(time.time()) - start_time is unfortunate since it increases the variance without reason. Change-Id: I5fcd87a2ca3559113aacd3f415b952929c2155fe Pick-to: 6.5 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Adrian Herrmann <adrian.herrmann@qt.io>
* build: remove unused imports and obsolete commentCristián Maureira-Fredes2023-04-051-1/+0
| | | | | | Change-Id: I52ce8b449e5a0c4f1d94872becaa391c1c9ae605 Pick-to: 6.5 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* build_rst_docs: Pass quiet mode to example gallery toolFriedemann Kleint2023-03-231-0/+2
| | | | | | | | | Amends 7565650d84b27784d4945ede0f5ba5a5cb93f926. Task-number: PYSIDE-1106 Pick-to: 6.5 Change-Id: Ie958f5d6ac42a742c2ab8e9652703cc61a64745b Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
* build_rst_docs: Run example gallery toolFriedemann Kleint2023-03-101-0/+5
| | | | | | | | | Allows for checking the example pages right away. Task-number: PYSIDE-1106 Change-Id: I38b55415116739a0610e8600a7b9bcb3a7d2835b Reviewed-by: Keith Kyzivat <keith.kyzivat@qt.io> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Android Deployment - cross building for android wheelsShyamnath Premnadh2023-03-061-2/+6
| | | | | | | | | | | | | | | | | | | | - basically controls what goes into the android wheels - presently restricted to Qt essential modules - controlled using the --plat_name=android_aarch64, --plat_name=android_armv7 etc - the libQt6*.so libraries in Android do not have the version in the end.This is the same for all the Android Qt installations. Hence we look for libQt6*.so* instead of libQt6*.so.? - folders like 'glue', 'typesystems', 'support' are not relevant for for cross compiled wheels because shiboken6_generator is not cross compiled - for Android cross compilation, the 'examples' folder is also not relevant in addition to the above folder Task-number: PYSIDE-1612 Change-Id: Icc7561a6e990ed9b080f55cb30bac34e4774be7f Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* build: introduce log levelCristián Maureira-Fredes2023-02-021-14/+33
| | | | | | | | | | | | | | | | | | | | | | | | Removed the "quiet" and "verbose" older approach, and introduced a 3-level configuration so we can switch between them depending of the amount of output we need. By default, the log level is set to INFO, but it can be changed to VERBOSE and QUIET. The older "--verbose-build" and "--quiet" options were deprecated. The new way for setting the log level is: --log-level=quiet --log-level=verbose --log-level=info (default) The default option was made less verbose, controlling the output of the logging module, and cmake: for verbose it uses DEBUG, quiet uses ERROR, and no option uses INFO. Change-Id: Ida0289e3ea0ed09b7489a7513254137bba186fd0 Reviewed-by: Christian Tismer <tismer@stackless.com>
* Fix cross compilationShyamnath Premnadh2023-02-011-1/+1
| | | | | | | | | | - some regression from 2afcf8e7545c681e412e5b6d04ab8867e5edd5c7 pathlib changes Pick-to: 6.4 Change-Id: I32173bdffc1280e23b11006466f3dfb19a49fd8f Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Build system: Add an option to enable CMake UNITY_BUILD (jumbo) buildsFriedemann Kleint2022-12-191-0/+6
| | | | | | | | | | [ChangeLog] An option --unity has been added to setup.py enabling enabling CMake UNITY_BUILD (jumbo) builds, which speeds up building. Fixes: PYSIDE-2155 Change-Id: I235a18335d6070bc3eb4ea7f9953925f6d9e174c Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
* build_scripts: remove unused importsCristián Maureira-Fredes2022-12-191-1/+1
| | | | | | | | | | Many leftovers from the pathlib migration patches. Pick-to: 6.4 Change-Id: I7126fadbe45dbb387bc8948ba777cb690f10a758 Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io> Reviewed-by: Adrian Herrmann <adrian.herrmann@qt.io> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* build_system: Remove code trying to find the MSVC installationFriedemann Kleint2022-12-081-8/+4
| | | | | | | | | | | | | | | | | | The code was not triggered since the build system tries to compile a small test project with Ninja before even reaching it. It was also using code for MSVC 9 (2008) which does not work anymore and causes deprecation warnings: setuptools\_distutils\msvc9compiler.py:34: DeprecationWarning: msvc9compiler is deprecated and slated to be removed in the future. Please discontinue use or file an issue with pypa/distutils describing your use case. Change-Id: I95a6b7700c13873884deb6186e78d6c520c592de Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> Reviewed-by: Adrian Herrmann <adrian.herrmann@qt.io> Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
* build system: Port get_shared_library_filters to pathlibFriedemann Kleint2022-12-061-22/+19
| | | | | | | | | Introduce a helper to find shared libraries and change the functions to use Paths. Task-number: PYSIDE-2080 Change-Id: I0b2e4c4c21f9810f6b45986c784d050fbf7a8058 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Build scripts: Adapt to changed location of the metatypes directory in QtFriedemann Kleint2022-12-021-0/+1
| | | | | | | | | | | metatypes are now located under arch_data after qtbase/4234ce12dc819b9ca76c8dc4c251f5bd4fe0bc9c. Allow for a smooth transition by adding a version check. Change-Id: I15e4d560d4a93c7d2e6f737f6f303fcc0c6a678b Reviewed-by: Adrian Herrmann <adrian.herrmann@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Build system: Fix another breakage affecting cross buildsFriedemann Kleint2022-11-171-1/+1
| | | | | | | | | | | | | | | | Use os.fspath, fixing: File "pyside-setup_was/build_scripts/main.py", line 391, in run f.write(self.install_dir) TypeError: write() argument must be str, not PosixPath Amends 2afcf8e7545c681e412e5b6d04ab8867e5edd5c7. Task-number: PYSIDE-2080 Change-Id: I553978d3a53da1e2d2435f8f871baaa8196edc4c Reviewed-by: Adrian Herrmann <adrian.herrmann@qt.io> Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io> Reviewed-by: Christian Tismer <tismer@stackless.com>
* PySideTools: install tool only if corresponding Qt tool existsShyamnath Premnadh2022-11-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | - PySide tools which are wrappers around Qt tools are now only installed if the corresponding Qt tool exists. - PySide6 entry points for the Qt tool are now only created if the Qt tool exists in the corresponding Qt installation. - Incase the console entrypoint still exists and the corresponding Qt tool does not exist, the tool would exit stating that the Qt tool does not exist. eg: 'pyside6-uic' is run and 'uic' does not exist. The the tool outputs that the 'uic' does not exist. Ideally as per this change, PySide6 entrypoints for missing Qt tools should not exist at all. - versions.py deleted and contents moved to __init__.py. - Adds warning from Python incase if the tool does not exist. This is in addition to the CMake warning. Fixes: PYSIDE-2097 Pick-to: 6.4 6.2 Change-Id: I3f1b26d103679f7425d9ad85dfed8d9ad17f6fbf Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Fix debug build problems on Win re: limited-apiAdrian Herrmann2022-11-161-2/+4
| | | | | | | | | | | | | | | | | | There is a build error on Windows when limited-api=yes and debug where the linker does not know the right paths to look for libraries. Supporting this configuration is not desirable anyway because there are no released Python builds on Windows with this configuration. Therefore: 1. Display a warning to the user that the combination debug + limited=api=yes does not really "exist" if they choose it explicitly on Windows. 2. Have the default for debug builds be limited-api=no on Windows. Pick-to: 6.4 Change-Id: Ifed99f80abb02c9d512a1321526e949d56ff08a6 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* build scripts: Fix target build_rst_docsFriedemann Kleint2022-10-181-6/+7
| | | | | | | | Amends 2afcf8e7545c681e412e5b6d04ab8867e5edd5c7. Task-number: PYSIDE-2080 Change-Id: I30a1a795b9735d89bbfa647cff4c9f8f06516a2b Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* pathlib: migrate build_scripts away from os.pathCristián Maureira-Fredes2022-10-181-91/+95
| | | | | | | | | There is a usage of os.path.relpath that cannot be migrated to pathlib, which remain the only usage of os.path Task-number: PYSIDE-2080 Change-Id: Iac781e9c9324fb8b9d3559b4225912d56782072a Reviewed-by: Christian Tismer <tismer@stackless.com>
* remove mentions to Python 3.6Cristián Maureira-Fredes2022-10-171-2/+2
| | | | | | | | | PySide 6.4.0 is the first release that only supports Python 3.7+ Task-number: PYSIDE-2085 Change-Id: I92016cc438a9272eba3f0d379bb0c4b87bee52f5 Pick-to: 6.4 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* build: rename DistUtilsCommandMixin to CommandMixinCristián Maureira-Fredes2022-10-131-13/+13
| | | | | | | | Renamed to avoid confusion related to distutil usage. Task-number: PYSIDE-2079 Change-Id: Idf6a8b64835be34a1e92032bd3b18b8eafe28e3e Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>