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 ``` arg_flattening: false 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.