aboutsummaryrefslogtreecommitdiff
path: root/docs/markdown
diff options
context:
space:
mode:
authorXavier Claessens <xavier.claessens@collabora.com>2020-04-13 14:35:06 -0400
committerXavier Claessens <xavier.claessens@collabora.com>2020-10-13 17:55:16 -0400
commit6333ee88c1a243f28b3a7a9bce2dd003b541280a (patch)
treeb93f3685bc8eb0c96fb6ba6f4350b781ba2f6213 /docs/markdown
parent311a07c39a34e2aa4c193b4188d47f5e50ca1eda (diff)
downloadmeson-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')
-rw-r--r--docs/markdown/Using-wraptool.md21
-rw-r--r--docs/markdown/snippets/subsubproject.md11
2 files changed, 11 insertions, 21 deletions
diff --git a/docs/markdown/Using-wraptool.md b/docs/markdown/Using-wraptool.md
index f6023e8..ffa8309 100644
--- a/docs/markdown/Using-wraptool.md
+++ b/docs/markdown/Using-wraptool.md
@@ -76,24 +76,3 @@ straightforward:
Wraptool can do other things besides these. Documentation for these
can be found in the command line help, which can be accessed by
`meson wrap --help`.
-
-## Promoting dependencies
-
-Meson will only search for subprojects from the top level
-`subprojects` directory. If you have subprojects that themselves have
-subprojects, you must transfer them to the top level. This can be done
-by going to your source root and issuing a promotion command.
-
- meson wrap promote projname
-
-This will cause Meson to go through your entire project tree, find an
-embedded subproject and copy it to the top level.
-
-If there are multiple embedded copies of a subproject, Meson will not
-try to guess which one you want. Instead it will print all the
-possibilities. You can then manually select which one to promote by
-writing it out fully.
-
- meson wrap promote subprojects/s1/subprojects/projname
-
-This functionality was added in Meson release 0.45.0.
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.