aboutsummaryrefslogtreecommitdiffstats
path: root/cmake
Commit message (Collapse)AuthorAgeFilesLines
* CMake: Skip qml compile hash recreation in developer buildsAlexandru Croitor2022-02-141-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The current implementation favors recreation of the hash whenever the git tree hash is changed and a cmake reconfiguration is forcibly done by the developer. This causes a rebuild of the Qml library. This dependency tracking is too coarse and not very helpful. A developer that doesn't touch the Qml library sources will be confused why a commit rebuilds the library. A developer that does touch the Qml library will be confused why the qml hash hasn't changed after running ninja, and even more confused when it is changed after a commit and reconfigure. To improve the situation a bit, the build system will now not recreate the hash when doing a developer build and the developer will be expected to remove the already existing hash file when necessary. This will not cause issues in our CI developer build configurations where cache files are not removed. Even though the cache files are not removed, the qtdeclarative build directory will be clean, which means the qml hash file will not be present and will be created with up-to-date content, thus invalidating all cache files. Change-Id: I809b2cffbc5bb2b09af4fb712c7e46a743bfd333 Reviewed-by: Alexey Edelev <alexey.edelev@qt.io> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> (cherry picked from commit 09aecb0d7762010249ef8f78ef92367b73a4a1e8)
* Restore comment describing how the compile hash worksUlf Hermann2022-02-141-1/+5
| | | | | | | | | | This is really useful information and had to be painstakingly re-discovered. Task-number: QTBUG-99608 Change-Id: I21f7fc56745c9fb979f61710bebd8ad83e702cc4 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit 0aa6cafe81eb5cc80461e396751da81bb1db95b3)
* Fall back to a cmake generated compile hash when git failedVolker Hilsheimer2022-02-011-1/+3
| | | | | | | | | | | | | | | Even if we have git, the source tree might not be a git repository, or git might fail for various reasons. So always fall back to the cmake- generated QML compile hash when it's empty after trying the .tag file and git. Amends a1bba5cd3d5f8a88cd79e6f56149ab88d1abe8b8. Change-Id: Ie9f5642bbfc0cead40138d1f92fe3d673f6dc372 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> (cherry picked from commit 839dc73831eb8c4a65702c66b8c42015644cc4a5) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Use tree hash rather than commit hash in .tag fileUlf Hermann2022-01-261-1/+1
| | | | | | | | | | | We want equal source packages to have the same .tag file, even if their commit hashes differ. Fixes: QTBUG-99608 Change-Id: Ide5047acec78fdd91617577b3c2125feb0b2bdf4 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit 17dcba699566bfe052bf2c320e07c2c7cc53094b) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* CMake: Fix lookup of Python for qtdeclarativeAlexandru Croitor2022-01-241-15/+1
| | | | | | | | | | | | | | | | | | | Always use FindPython instead of find_program because the former looks for Python in more locations (like the Windows registry). We switch to FindPython instead of FindPythonInterp because the latter is deprecated, and the former is available in our minimum support CMake version (3.16). Because find_package is called in configure.cmake that is called by a function() call, we need to make the found interpreter a cache variable to make it available outside of the function. Fixes: QTBUG-99273 Change-Id: Idb6620a01b4b5764f130f9dc5780d73cd2151965 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit e0eb75b2a0578f4ef401bb6eaa8c4f320ffa2078) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* CMake: If no git and no tag file are found, compute compile hashUlf Hermann2022-01-151-14/+17
| | | | | | | | | | | In that case we can just hash all the source files in src/qml to get a reasonable approximation of a compile hash. Change-Id: Ifaf2c8145ab16d9f8d23570fa9acbb7a76ebda03 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> (cherry picked from commit a1bba5cd3d5f8a88cd79e6f56149ab88d1abe8b8) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Fix handling of QML_COMPILE_HASHUlf Hermann2022-01-071-7/+21
| | | | | | | | | | | | We need to check for the contents of the tag file, not its name. We need to strip the contents before checking. We need to run git in the right directory. We need to fail if we cannot find any QML_COMPILE_HASH. Task-number: QTBUG-99608 Change-Id: Ic42a073b196143f8576a84e7a4531b5f2927fb68 Reviewed-by: Alexey Edelev <alexey.edelev@qt.io> (cherry picked from commit 0616a44e8ad0faa9c441212e281a61136c287f73) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Fix missing 'We mean it' warning for generated qml_compile_hash_p.hKai Köhne2021-03-311-7/+1
| | | | | | Pick-to: 6.1 Change-Id: I327d377c80749741274a76dfa609417c005bf6c7 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Regenerate configure.cmake filesAlexandru Croitor2020-06-041-0/+12
| | | | | | | | | This will cause cmake to show the usual configure reports. Needed to add a custom function to find python (not currently used though, except for the configure report). Change-Id: Id68efc5badeaa30834a37fe751c1d5b6bfd96d92 Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* Update metatypes dependency calculationLeander Beernaert2020-02-101-10/+0
| | | | | | | | Retrieve the list of dependent metatypes.json using the new source interfaces. Change-Id: I6ab57f370864031f2dbd097f14c3ebe6e7601d61 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Update qmltypes to use the new metatypes dependency formatLeander Beernaert2020-01-291-0/+10
| | | | | | | | | | | | | | | The foreign types list for qmltypesregistrar is now generated by recursively processing the ${targets}_metatypes_dep.txt file. At build time we now use a custom script (Qt6QmlResolveDependencies.cmake) to generate the final foreign types file. qmltypesregistrar has also been updated in order to support the resolution of response files supplied to the command line arguments. Change-Id: Ib61d82fa92bf5d5a24631f461248f81147aad947 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake Build: Use find_package(PythonInterp) instead of "python"Cristian Adam2019-09-231-1/+2
| | | | | | | | | | | I had python3 installed on Windows, which doesn't have python as executable. find_package(PythonInterp) finds the right executable and it simply works. Change-Id: I69bf8e4dfbe29de56109fe1927569000d710c3f5 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Initial CMake portAlexandru Croitor2019-06-031-0/+47
Crude port of QtQml, QtQmlModels, QtQuick and a few tests and a few examples. Task-number: QTBUG-74136 Change-Id: I5de4d8215b33d1a4a72c2c0e7951e4b384f27e3e Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>