|
|
|
name: summary
|
|
|
|
returns: void
|
|
|
|
since: 0.53.0
|
|
|
|
description: |
|
|
|
|
This function is used to summarize build configuration at the end of the build
|
|
|
|
process. This function provides a way for projects (and subprojects) to report
|
|
|
|
this information in a clear way.
|
|
|
|
|
|
|
|
The content is a series of key/value pairs grouped into sections. If
|
|
|
|
the section keyword argument is omitted, those key/value pairs are
|
|
|
|
implicitly grouped into a section with no title. key/value pairs can
|
|
|
|
optionally be grouped into a dictionary, but keep in mind that
|
|
|
|
dictionaries do not guarantee ordering. `key` must be string,
|
|
|
|
`value` can be:
|
|
|
|
|
|
|
|
- an integer, boolean or string
|
|
|
|
- *since 0.57.0* an external program or a dependency
|
|
|
|
- *since 0.58.0* a feature option
|
|
|
|
- a list of those.
|
|
|
|
|
|
|
|
Instead of calling summary as `summary(key, value)`, it is also possible to
|
|
|
|
directly pass a dictionary to the [[summary]] function, as seen in the example
|
|
|
|
below.
|
|
|
|
|
|
|
|
`summary()` can be called multiple times as long as the same
|
|
|
|
section/key pair doesn't appear twice. All sections will be collected
|
|
|
|
and printed at the end of the configuration in the same order as they
|
|
|
|
have been called.
|
|
|
|
|
|
|
|
example: |
|
|
|
|
Example `meson.build`:
|
|
|
|
```meson
|
|
|
|
project('My Project', version : '1.0')
|
|
|
|
summary({'bindir': get_option('bindir'),
|
|
|
|
'libdir': get_option('libdir'),
|
|
|
|
'datadir': get_option('datadir'),
|
|
|
|
}, section: 'Directories')
|
|
|
|
summary({'Some boolean': false,
|
|
|
|
'Another boolean': true,
|
|
|
|
'Some string': 'Hello World',
|
|
|
|
'A list': ['string', 1, true],
|
|
|
|
}, section: 'Configuration')
|
|
|
|
```
|
|
|
|
|
|
|
|
Output:
|
|
|
|
```
|
|
|
|
My Project 1.0
|
|
|
|
|
|
|
|
Directories
|
|
|
|
prefix : /opt/gnome
|
|
|
|
bindir : bin
|
|
|
|
libdir : lib/x86_64-linux-gnu
|
|
|
|
datadir : share
|
|
|
|
|
|
|
|
Configuration
|
|
|
|
Some boolean : False
|
|
|
|
Another boolean: True
|
|
|
|
Some string : Hello World
|
|
|
|
A list : string
|
|
|
|
1
|
|
|
|
True
|
|
|
|
```
|
|
|
|
|
|
|
|
posargs:
|
|
|
|
key_or_dict:
|
|
|
|
type: str | dict[str | bool | int | dep | external_program | list[str | bool | int | dep | external_program]]
|
|
|
|
description: |
|
|
|
|
The name of the new entry, or a dict containing multiple entries. If a
|
|
|
|
dict is passed it is equivalent to calling summary() once for each
|
|
|
|
key-value pair. Keep in mind that dictionaries do not guarantee
|
|
|
|
ordering.
|
|
|
|
|
|
|
|
optargs:
|
|
|
|
value:
|
|
|
|
type: str | bool | int | dep | external_program | list[str | bool | int | dep | external_program]
|
|
|
|
description: |
|
|
|
|
The value to print for the `key`. Only valid if `key_or_dict` is a str.
|
|
|
|
|
|
|
|
kwargs:
|
|
|
|
bool_yn:
|
|
|
|
type: bool
|
|
|
|
default: false
|
|
|
|
description: Convert bool values to yes and no
|
|
|
|
section:
|
|
|
|
type: str
|
|
|
|
description: The section to put this summary information under. If the
|
|
|
|
section keyword argument is omitted, key/value pairs are implicitly
|
|
|
|
grouped into a section with no title.
|
|
|
|
list_sep:
|
|
|
|
type: str
|
|
|
|
since: 0.54.0
|
|
|
|
description: |
|
|
|
|
The separator to use when printing list values in this summary. If no
|
|
|
|
separator is given, each list item will be printed on its own line.
|