aboutsummaryrefslogtreecommitdiffstats
path: root/cmake
Commit message (Collapse)AuthorAgeFilesLines
* Make syncing script capable of setting up new worktrees and clonesVolker Hilsheimer2020-11-171-0/+66
| | | | | | | | For missing dependencies, create worktrees from existing clones if found, otherwise clone from the same remote. Change-Id: Ie624e6c1b3f621dce43ee8cc7f06ce469851285b Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Add a script to synchronize the repo to a consistent (sub)setVolker Hilsheimer2020-11-172-12/+133
| | | | | | | | | | | | | | | | | | Make a few modifications to the dependency evaluation to include the revision of each dependency, and a method that checks each dependency out to the revision necessary to create a consistent set for the requested module. If the requested module is ".", check all modules out to the given revision. Can be called (ideally from a git-sync-to alias script): cmake -DSYNC_TO_MODULE="$1" -DSYNC_TO_BRANCH="$2" \ -P cmake/QtSynchronizeRepo.cmake Change-Id: I007e9f9023bae949907b64e264ae7869dff1da2e Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Fix dependency handling when module is skippedAlexey Edelev2020-11-141-6/+19
| | | | | | | | | Put dependencies of all modules to top-level variables and check for unmet dependencies before module configuring. Fixes: QTBUG-88214 Change-Id: I089feb474687652f3f8fd1bb1959179ea1114983 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Use dependencies.yaml to order sub modulesVolker Hilsheimer2020-11-111-0/+85
| | | | | | | | | | | | | Don't rely on .gitmodules, instead parse the dependencies.yaml file from every subdirectory with a CMakeLists.txt, and sort all projects based on that data. Projects with no dependencies are added last. This allows us to get rid of the duplication of dependency information in .gitmodules, and makes each module the authoritative source of its own dependencies. Change-Id: Ib1ec6c63bde2aa1852399d598dac5b8e1efda31d Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Add missing quote in qt_attribution.jsonLeander Beernaert2020-03-311-1/+1
| | | | | Change-Id: I360f5311373265843234c45bd8dd24f6499a5b99 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Read module list from .gitmodulesLeander Beernaert2020-03-183-0/+184
| | | | | | | | | | | | | | | This patch mimics the behavior of qt.pro, where the module list is extracted from the .gitmodules file and then topologically sorted based on the modules dependencies. This patch also introduces a small check to make sure all the required dependencies are met and will be built. Change-Id: Idd3df9b618805ca0b2347eac57aaa39c1bcdb3dd Reviewed-by: Qt CMake Build Bot Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> (cherry picked from commit b01225fb3257fa4c26d364c9a8fe5e19a04039e3) Reviewed-by: Leander Beernaert <leander.beernaert@qt.io>
* Start the CMake superbuildKevin Funk2020-03-181-0/+73
Also import and use ECMOptionalAddSubdirectory.cmake to add other module's as subdirectories, in case the directories exist. Additionally this module allows to disable the build of submodules by passing e.g. BUILD_qtsvg=OFF. This probably needs more though on how to hande the intermodule dependencies, but it's a start. Task-number: QTBUG-75582 Change-Id: Ic3de9711d9b865b2d96bdaee0089f570408b9693 Reviewed-by: Qt CMake Build Bot Reviewed-by: Cristian Adam <cristian.adam@qt.io> (cherry picked from commit 7509458d5f1ed5a48285471e32eda333cc3eeb8c) Reviewed-by: Leander Beernaert <leander.beernaert@qt.io> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>