Commit Graph

4 Commits

Author SHA1 Message Date
Volker Hilsheimer
c47432eda3 Make syncing script capable of setting up new worktrees and clones
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>
2020-11-17 16:40:45 +01:00
Volker Hilsheimer
f8b8a9a59f Add a script to synchronize the repo to a consistent (sub)set
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>
2020-11-17 16:40:41 +01:00
Alexey Edelev
a2683113e2 CMake: Fix dependency handling when module is skipped
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>
2020-11-14 13:10:30 +00:00
Volker Hilsheimer
da25b7f149 Use dependencies.yaml to order sub modules
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>
2020-11-11 11:44:25 +01:00