| name: subproject |
| returns: subproject |
| description: | |
| Takes the project specified in the positional argument and brings that |
| in the current build specification by returning a [[@subproject]] object. |
| Subprojects must always be placed inside |
| the `subprojects` directory at the top source directory. So for |
| example a subproject called `foo` must be located in |
| `${MESON_SOURCE_ROOT}/subprojects/foo`. |
| |
| - `default_options` *(since 0.37.0)*: an array of default option values |
| that override those set in the subproject's `meson.options` |
| (like `default_options` in `project`, they only have effect when |
| Meson is run for the first time, and command line arguments override |
| any default options in build files). |
| *(since 0.54.0)*: `default_library` built-in option can also be overridden. |
| *(since 1.2.0)*: A dictionary may be passed instead of array. |
| - `version`: works just like the same as in `dependency`. |
| It specifies what version the subproject should be, as an example `>=1.0.1` |
| - `required` *(since 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 [[@subproject]] |
| object. You may also pass the value of a |
| [`feature`](Build-options.md#features) option, same as |
| [[dependency]]. |
| |
| Note that you can use the returned [[@subproject]] object |
| to access any variable in the |
| subproject. However, if you want to use a dependency object from |
| inside a subproject, an easier way is to use the `fallback:` keyword |
| argument to [[dependency]]. |
| |
| [See additional documentation](Subprojects.md). |
| |
| posargs: |
| subproject_name: |
| type: str |
| description: | |
| Name of the subproject. The subproject must exist in the `subprojects` |
| directory (or the directory specified in the `subproject_dir` of |
| [[project]]) as a directory or wrap file. |
| |
| kwargs: |
| default_options: |
| type: list[str] | dict[str | bool | int | list[str]] |
| since: 0.37.0 |
| description: | |
| An array of default option values |
| that override those set in the subproject's `meson.options` |
| (like `default_options` in [[project]], they only have effect when |
| Meson is run for the first time, and command line arguments override |
| any default options in build files). |
| *(since 0.54.0)*: `default_library` built-in option can also be overridden. |
| *(since 1.2.0)*: A dictionary may now be passed. |
| |
| version: |
| type: str |
| description: | |
| Works just like the same as in [[dependency]]. |
| It specifies what version the subproject should be, as an example `>=1.0.1`. |
| |
| required: |
| type: bool | feature |
| since: 0.48.0 |
| default: true |
| description: | |
| Works just the same as in [[dependency]]. |