diff options
author | Xavier Claessens <xavier.claessens@collabora.com> | 2020-04-13 14:35:06 -0400 |
---|---|---|
committer | Xavier Claessens <xavier.claessens@collabora.com> | 2020-10-13 17:55:16 -0400 |
commit | 6333ee88c1a243f28b3a7a9bce2dd003b541280a (patch) | |
tree | b93f3685bc8eb0c96fb6ba6f4350b781ba2f6213 /docs/markdown/snippets | |
parent | 311a07c39a34e2aa4c193b4188d47f5e50ca1eda (diff) | |
download | meson-6333ee88c1a243f28b3a7a9bce2dd003b541280a.zip meson-6333ee88c1a243f28b3a7a9bce2dd003b541280a.tar.gz meson-6333ee88c1a243f28b3a7a9bce2dd003b541280a.tar.bz2 |
Merge wraps from subprojects into wraps from main project
wraps from subprojects are now merged into the list of wraps from main
project, so they can be used to download dependencies of dependencies
instead of having to promote wraps manually. If multiple projects
provides the same wrap file, the first one to be configured wins.
This also fix usage of sub-subproject that don't have wrap files. We can
now configure B when its source tree is at
`subprojects/A/subprojects/B/`. This has the implication that we cannot
assume that subproject "foo" is at `self.subproject_dir / 'foo'` any
more.
Diffstat (limited to 'docs/markdown/snippets')
-rw-r--r-- | docs/markdown/snippets/subsubproject.md | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/docs/markdown/snippets/subsubproject.md b/docs/markdown/snippets/subsubproject.md new file mode 100644 index 0000000..fdba3e0 --- /dev/null +++ b/docs/markdown/snippets/subsubproject.md @@ -0,0 +1,11 @@ +## Sub-subprojects + +It is not required to promote wrap files for subprojects into the main project +any more. When configuring a subproject, meson will look for any wrap file or +directory in the subproject's `subprojects/` directory and add them into the +global list of available subprojects, to be used by any future `subproject()` +call or `dependency()` fallback. If a subproject with the same name already exists, +the new wrap file or directory is ignored. That means that the main project can +always override any subproject's wrap files by providing their own, it also means +the ordering in which subprojects are configured matters, if 2 subprojects provide +foo.wrap only the one from the first subproject to be configured will be used. |