aboutsummaryrefslogtreecommitdiffstats
path: root/sources/pyside6/cmake
Commit message (Collapse)AuthorAgeFilesLines
...
* replace osx referencesCristián Maureira-Fredes2022-10-131-1/+1
| | | | | | | | | replacing them by macOS Pick-to: 6.4 Change-Id: Ic6a135406375ab1f0ebed3e63ba17423a34f13cb Reviewed-by: Adrian Herrmann <adrian.herrmann@qt.io> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Remove QtWinExtrasFriedemann Kleint2022-09-091-3/+0
| | | | | | | Task-number: QTBUG-89564 Change-Id: Iee2e2ac1acc608c746f84e9a28295b0016a4deed Reviewed-by: Adrian Herrmann <adrian.herrmann@qt.io> Reviewed-by: Christian Tismer <tismer@stackless.com>
* Add QtPdf/QtPdfWidgetsFriedemann Kleint2022-09-071-0/+2
| | | | | | Change-Id: I00073b583c8c84e764a8693b50af44b3b91d55eb Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Add dependency to the QtHttpServer moduleFriedemann Kleint2022-07-011-1/+2
| | | | | | | | | | | Amends 7eb12e4cd3be60b4aaf18530d0c927bef386e913. Exclude it for Windows currently due to a clash with winnt.h defining a DELETE macro. Change-Id: I47f2dea77991e74e00cd8fdc3de6ef5f850d4386 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Build with lean Qt headersFriedemann Kleint2022-06-291-0/+2
| | | | | | | | | This should speed up compilation time. Task-number: QTBUG-97601 Change-Id: Ibd25739dfe5032113ff9c1df5ff5da4cf9effc2d Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Add QtSpatialAudioFriedemann Kleint2022-06-291-0/+1
| | | | | | | | Adapt to qtmultimedia/c403e775f60a5d02e761904342ac243be1f22597. Change-Id: Id078b2a7ca46ff775fbbc543428a3208d5410981 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> Reviewed-by: Christian Tismer <tismer@stackless.com>
* Add the QHttpServer classesFriedemann Kleint2022-06-211-0/+1
| | | | | Change-Id: I9b58e806019ee7294da466a5fce1f1b7ed01c8a3 Reviewed-by: Christian Tismer <tismer@stackless.com>
* PySide6: Optimize for SizeShyamnath Premnadh2022-04-113-0/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | build: use the following flag with setup.py to turn off size optimization --no-size-optimization Added the following compiler optimization flags and their corresponding flags on other platforms GCC - -ffunction-sections -fdata-section which segretates data and function section and linker flag --gc-section which removes unused code. - -fno-exceptions to disable exception handling - -Os - Optimize for size. Basically same as -O2 but removes some flags that cause increase in size. (Ran a couple of example and did not see difference in execution time) MSVC - /Gy /Gw /OPT:REF - same as -ffunction-sections, -fdata-section, -Wl, --gc-section - /EHsc same as -fno-exceptions - /O1 instead of /Os because for MSVC /O1 gave the best results. Clang - Same as GCC except for using -Oz instead of -Os. Experiments: Built a wheel with QtCore and noticed a 300kb reduction in size on both Windows and Linux. Built a complete wheel(except QTest) and it gives me a 4 mb size reduction with unaffected performance. Task-number: PYSIDE-1860 Change-Id: Ia5dfa2c4bfde92994c939b5fac0d0831fa3a73ab Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Christian Tismer <tismer@stackless.com>
* Enable QtDBus on macSimo Fält2022-03-251-1/+1
| | | | | | | | Pick-to: 6.2 Change-Id: I98664358b2933fcea7432381bc35d134231ee56b Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> Reviewed-by: Christian Tismer <tismer@stackless.com>
* Strip libraries in release modeFriedemann Kleint2022-03-141-0/+1
| | | | | | | | | [ChangeLog][PySide6] Libraries are now stripped. Task-number: PYSIDE-661 Change-Id: I20ea056b8e91cca917017afa62811208c297d51d Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
* Add QtNfcFriedemann Kleint2022-03-041-0/+1
| | | | | | | | | [ChangeLog][PySide6] QtNfc has been added. Task-number: PYSIDE-1570 Change-Id: I7c2832f8529732f1d6cc0abbb1dd2a60f59682a1 Reviewed-by: Christian Tismer <tismer@stackless.com> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* CMake: pyside: Add support for cross-buildingAlexandru Croitor2022-02-043-41/+115
| | | | | | | | | | | | | | | | | | | | | | | | | | | The pyside project will be cross-compiled either if CMAKE_CROSSCOMPILING is set to TRUE (which is usually set by a CMake toolchain file or computed by CMake itself) or if QFP_SHIBOKEN_HOST_PATH is provided on the command line. Various code is added to ensure the correct target Qt, Python and Shiboken libraries are found, as well as host Qt and shiboken tools. These are specified to the project by setting one of the following vars: - QFP_QT_TARGET_PATH (for device Qt libs and includes) - QFP_PYTHON_TARGET_PATH (for device python libs and includes) - QFP_SHIBOKEN_TARGET_PATH (for device libs) - QFP_SHIBOKEN_HOST_PATH (for host shiboken generator) - QT_HOST_PATH (for host moc and friends) When cross-compiling, pyi file generation is disabled because it's not possible to run a target python interpeter on a host machine. It might be possible to do that by using qemu userland emulation in the future. Task-number: PYSIDE-802 Task-number: PYSIDE-1033 Change-Id: Ifa101e90d83397fa19132f9f0ce21e03b3523a74 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* CMake: Create new Shiboken6Tools CMake packageAlexandru Croitor2022-02-041-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Create a new Shiboken6Tools CMake package which will contain information about the shiboken6 code generator executable. As a consequence, the existing Shiboken6 package will only contain info about the shiboken Python module and its helper shared library. The new Tools package will be searched for when cross-compiling both the shiboken and pyside projects. Adjust the pyside project to look for this new Tools package. Remove the 'data' custom target, it serves no purpose. One consequence is that the shiboken pkg-config .pc file will not contain a path to the code generator executable anymore. Currently, no new .pc file is created for the newly split package. As a drive-by, adjust the Shiboken6 find_package calls to look for version 6 rather than 2. Task-number: PYSIDE-802 Task-number: PYSIDE-1033 Change-Id: I0df29801b1f59010df8f13ac0c9f2d368fa4d1cb Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* PySide6: Enable checking by patch versionFriedemann Kleint2022-01-191-1/+1
| | | | | | | | | | | The multimedia module in 6.2 still receives new API (due to Multimedia being a tech-preview). This requires checking by patch version. Pick-to: 6.2 Change-Id: I49e2ae746fdae10893ab4155e464a25ae8fcef6c Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Christian Tismer <tismer@stackless.com>
* Move the QML registration code into a libraryFriedemann Kleint2021-12-082-1/+3
| | | | | | | | | This makes the code easier to maintain. Task-number: PYSIDE-1709 Change-Id: Idb75143a7e6d218637ab75463db88b6135cd4086 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* setup.py: CMake: Remove host python dependency for version parsingAlexandru Croitor2021-12-071-20/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When cross-compiling, the python interpreter found by CMake is the device one (or at least it's supposed to be), which means we can't use it to execute python scripts on the host machine to extract shiboken and pyside version information. Instead of keeping the version numbers in python files, place them into new .cmake.conf files that CMake can include in CMake projects directly. This aligns with storing version information like Qt6 does. setup.py and coin_build_instructions need version info as well, so they will now parse the set() assignments in pyside6/.cmake.conf. Ideally we would have called cmake with a minimal project that outputs those values, but we don't have access to the CMake executable path within coin_build_instructions.py, so we rely on parsing instead. Qt Conan integration does the same, so we should be good, the .cmake.conf file format is unlikely to change and cause breakages. We also modify shiboken_version.py and pyside_version.py to use the new variables when calling configure_file(), because we still ship those files in the wheels. Amends b57c557c8cd1012851f8a245075591dc33be425b Pick-to: 6.2 Change-Id: Icc830069cd459c214ec253840ba6754ece50854e Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Doc: Drop Qt Location from the doc and CMake configVenugopal Shivashankar2021-12-061-1/+0
| | | | | | | | The Qt Location is not part of Qt 6.x anyways. Pick-to: 6.2 Change-Id: I859c782ca795e90fac937544343fa2d07f7dead4 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Add QtQuick3D moduleCristián Maureira-Fredes2021-11-291-0/+1
| | | | | | | | | | | | Adding the module that contains a few C++ classes. Adding the 'intro' example. Adding the 'customgeometry' example as well. Pick-to: 6.2 Fixes: PYSIDE-1708 Change-Id: I0681f087e74c13c024bb1dfa8de545b30f95d7d8 Reviewed-by: Christian Tismer <tismer@stackless.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* CMake: Cleanup documentation building codeAlexandru Croitor2021-11-261-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Move conditions on whether documentation should be built inside the doc project, rather than outside. Look for qdoc and qhelpgenerator both in PATH and via find_package(Qt6Tools) calls. Add sanity checks that the various tools used in the add_custom_command calls are actually available. Show a warning or error when they are not available, depending on combination of whether it's a standalone doc build or part of the overall shiboken/python build. Set DOC_OUTPUT_FORMAT to html by default if it's not specified. Clean up some of the warning messages. Make sure to check the result of running execute_process on the snippets tool. Pick-to: 6.2 Task-number: PYSIDE-1718 Change-Id: I2969d7a40961881ad0f91d7142b29a7f4130f3b7 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Move from distutils to setuptoolsCristián Maureira-Fredes2021-11-261-3/+13
| | | | | | | | | | This is motivated by the deprecation of distutils, and removal in future versions https://github.com/pypa/packaging-problems/issues/127 Pick-to: 6.2 Change-Id: I16448b69f98df6dc1d9a904b69eb69ed5f1093f5 Reviewed-by: Christian Tismer <tismer@stackless.com>
* PyPySide: check in the rest of PyPy changesChristian Tismer2021-11-121-0/+12
| | | | | | | | | | | | | | | | | | | The PyPy branch has been apart from the main branch for a long time. Meanwhile, almost everything has settled and can be merged into the main branch. This has the advantage of a single branch for both configurations. This project is still not ready. It will be called ready when the Mandelbrot example can be run without any changes. To achieve that, the current threading problem must be solved. The WIP branch is kept. It now holds only the pypy-blog.txt file. Task-number: PYSIDE-535 Change-Id: I317b0e921cc6810e1b76c69991a0f8e592135c65 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* CMake: Dissolve generic cmake_helpers/helpers.cmakeAlexandru Croitor2021-10-272-3/+191
| | | | | | | | | | | | | | | | | | Move PySide specific functions into a new PySideHelpers.cmake file. Keep functions used by both shiboken and pyside in a renamed ShibokHelpers.cmake file. This brings the CMake file structure more in-line with how it's structured in Qt6 itself. TODO: Ideally the pyside subproject should not include the shiboken files directly, but rather have access to those functions as a consequence of calling find_package(Shiboken6). Pick-to: 6.2 Change-Id: I954d8be0df86a45e74b6011f8e2758026f3340fa Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* CMake: Move non-add-subdirectory related code to PysideSetup.cmakeAlexandru Croitor2021-10-271-0/+225
| | | | | | | | | And tidy up add_subdirectory conditions in pyside6/CMakeLists.txt Pick-to: 6.2 Change-Id: I0549c88eef0ed8497d2e410f382c3e653ab38f94 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Revert "PySide6: Fix missing includes in QtWebEngine"Friedemann Kleint2021-07-211-7/+0
| | | | | | | | | | This was a workaround. This reverts commit 096e64ba2e866abf773f0fab3b72bf48012261f7. Change-Id: I1b1baf8de73bdb235c21ed673893d4e3a0f5054e Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Christian Tismer <tismer@stackless.com>
* PySide6: Fix missing includes in QtWebEngineFriedemann Kleint2021-06-231-0/+7
| | | | | | | | Temporary workaround, to be reverted later. Task-number: PYSIDE-1570 Change-Id: I113c82236ebeebd3a0ecd31dbcecbb7704dc8d7c Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* Refactor macro create_pyside_module()Friedemann Kleint2021-06-041-28/+31
| | | | | | | | | | | | | | | | | | | | | | - Introduce a list variable shiboken_command to which elements can be appended, avoiding empty options (--drop-type-entries) - Use the include directories from Qt6::Platform instead of the global QT_INCLUDE_DIR since it also has the mkspecs directory containing qplatformdefs.h. - Introduce list variables for the shiboken include directories and framework include directories as an extension point where other directories can be added. - Remove old workaround for qtdeclarative/8d560d1bf0a747bf62f73fad6b6774095442d9d2. - Move positional arguments (global header and typesystem) to end of argument list. Pick-to: 6.1 Task-number: PYSIDE-802 Task-number: PYSIDE-1568 Change-Id: Id4d020a163c79010616749701251891545858447 Reviewed-by: Christian Tismer <tismer@stackless.com> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* move "shiboken6/shiboken6" to "shiboken6/Shiboken"Christian Tismer2021-02-061-1/+1
| | | | | | | | | | | | | | | | | | | | | Modifying the paths to work in the new way is a quite ambitious task. But doing so improves the overall project structure and makes imports unambiguous. This patch should not be applied alone but with move "shiboken6/shiboken6" to "shiboken6/Shiboken" temp The reworked version of this patch no longer has different structures in `build` and `install`. Tested with Python 3.6, 3.7, 3.8, 3.9 debug build Python 3.6 debug install Python 3.9 release install Task-number: PYSIDE-1497 Change-Id: Id9d816dd825907f9359651e7e2f69f54e1ba46c9 Reviewed-by: Christian Tismer <tismer@stackless.com>
* Rename PySide2 to PySide6Friedemann Kleint2020-11-023-0/+289
Adapt CMake files, build scripts, tests and examples. Task-number: PYSIDE-904 Change-Id: I845f7b006e9ad274fed5444ec4c1f9dbe176ff88 Reviewed-by: Christian Tismer <tismer@stackless.com>