diff --git a/docs/markdown/Reference-manual.md b/docs/markdown/Reference-manual.md index 5cd24b719..5ebac4af8 100644 --- a/docs/markdown/Reference-manual.md +++ b/docs/markdown/Reference-manual.md @@ -1356,6 +1356,12 @@ arguments: - `version` keyword argument that works just like the one in `dependency`. It specifies what version the subproject should be, as an example `>=1.0.1` + - `required` *(added 0.48.0)* By default, `required` is `true` and + Meson will abort if the subproject could not be setup. You can set + this to `false` and then use the `.found()` method on the [returned + object](#subproject-object). You may also pass the value of a + [`feature`](Build-options.md#features) option, same as + [`dependency()`](#dependency). Note that you can use the returned [subproject object](#subproject-object) to access any variable in the @@ -2199,6 +2205,9 @@ an executable (e.g. `idl` files into source code and headers). This object is returned by [`subproject()`](#subproject) and is an opaque object representing it. +- `found()` *(added 0.48.0)* which returns whether the subproject was + successfully setup + - `get_variable(name)` fetches the specified variable from inside the subproject. This is useful to, for instance, get a [declared dependency](#declare_dependency) from the [subproject](Subprojects.md). diff --git a/docs/markdown/Release-notes-for-0.48.0.md b/docs/markdown/Release-notes-for-0.48.0.md index 99673a469..270a68955 100644 --- a/docs/markdown/Release-notes-for-0.48.0.md +++ b/docs/markdown/Release-notes-for-0.48.0.md @@ -305,3 +305,9 @@ To enable this, the following needs to be added to the `.wrap` file: ```ini clone-recursive=true ``` + +## `subproject()` function now supports the `required:` kwarg + +This allows you to declare an optional subproject. You can now call `found()` +on the return value of the `subproject()` call to see if the subproject is +available before calling `get_variable()` to fetch information from it.