|
|
|
name: cfg_data
|
|
|
|
long_name: Configuration data object
|
|
|
|
description: |
|
|
|
|
This object encapsulates
|
|
|
|
configuration values to be used for generating configuration files. A
|
|
|
|
more in-depth description can be found in the [the configuration wiki
|
|
|
|
page](Configuration.md).
|
|
|
|
|
|
|
|
methods:
|
|
|
|
- name: set
|
|
|
|
returns: void
|
|
|
|
description: Sets a variable to a given value
|
|
|
|
|
|
|
|
posargs:
|
|
|
|
varname:
|
|
|
|
type: str
|
|
|
|
description: The name of the variable to set
|
|
|
|
value:
|
|
|
|
type: str | int | bool
|
|
|
|
description: The value to set
|
|
|
|
|
|
|
|
kwargs:
|
|
|
|
description:
|
|
|
|
type: str
|
|
|
|
description: |
|
|
|
|
Message / Comment that will be written in the
|
|
|
|
result file. The replacement assumes a file with C syntax. If your
|
|
|
|
generated file is source code in some other language, you probably
|
|
|
|
don't want to add a description field because it most likely will
|
|
|
|
cause a syntax error.
|
|
|
|
|
|
|
|
- name: set10
|
|
|
|
returns: void
|
|
|
|
description: |
|
|
|
|
Is the same as [[cfg_data.set]] but the value
|
|
|
|
is either `true` or `false` and will be written as 1 or 0,
|
|
|
|
respectively
|
|
|
|
|
|
|
|
posargs:
|
|
|
|
varname:
|
|
|
|
type: str
|
|
|
|
description: The name of the variable to set
|
|
|
|
value:
|
|
|
|
type: bool | int
|
|
|
|
description: |
|
|
|
|
The value to set as either `1` or `0`
|
|
|
|
|
|
|
|
Passing numbers was never intended to work, and since 0.62 it has been
|
|
|
|
deprecated. It will be removed in a future version of Meson. If you
|
|
|
|
need to pass numbers use the `.set` method.
|
|
|
|
warnings:
|
|
|
|
- numeric values < 0 have the surprising behavior of being converted to
|
|
|
|
[[true]], values > 1 have the more expected but unintentional behavior of
|
|
|
|
being interpretered as [[true]].
|
|
|
|
|
|
|
|
kwargs_inherit: cfg_data.set
|
|
|
|
|
|
|
|
- name: set_quoted
|
|
|
|
returns: void
|
|
|
|
description: Is same as [[cfg_data.set]] but quotes the value in double quotes (`"`)
|
|
|
|
|
|
|
|
posargs:
|
|
|
|
varname:
|
|
|
|
type: str
|
|
|
|
description: The name of the variable to set
|
|
|
|
value:
|
|
|
|
type: str | int | bool
|
|
|
|
description: The value to set
|
|
|
|
|
|
|
|
kwargs_inherit: cfg_data.set
|
|
|
|
|
|
|
|
- name: get
|
|
|
|
returns: str | int | bool
|
|
|
|
since: 0.38.0
|
|
|
|
description: |
|
|
|
|
Returns the value of `varname`, if the
|
|
|
|
value has not been set returns `default_value` if it is defined
|
|
|
|
*(since 0.38.0)* and errors out if not
|
|
|
|
|
|
|
|
posargs:
|
|
|
|
varname:
|
|
|
|
type: str
|
|
|
|
description: The name of the variable to query
|
|
|
|
|
|
|
|
optargs:
|
|
|
|
default_value:
|
|
|
|
type: str | int | bool
|
|
|
|
description: The default value to return when `varname` does not exist
|
|
|
|
|
|
|
|
- name: get_unquoted
|
|
|
|
returns: str | int | bool
|
|
|
|
since: 0.44.0
|
|
|
|
description: |
|
|
|
|
Returns the value
|
|
|
|
of `varname` but without surrounding double quotes (`"`). If the value has
|
|
|
|
not been set returns `default_value` if it is defined and errors out if not.
|
|
|
|
|
|
|
|
posargs:
|
|
|
|
varname:
|
|
|
|
type: str
|
|
|
|
description: The name of the variable to query
|
|
|
|
|
|
|
|
optargs:
|
|
|
|
default_value:
|
|
|
|
type: str | int | bool
|
|
|
|
description: The default value to return when `varname` does not exist
|
|
|
|
|
|
|
|
- name: has
|
|
|
|
returns: bool
|
|
|
|
description: returns `true` if the specified variable is set
|
|
|
|
posargs:
|
|
|
|
varname:
|
|
|
|
type: str
|
|
|
|
description: The name of the variable to query
|
|
|
|
|
|
|
|
- name: keys
|
|
|
|
returns: list[str]
|
|
|
|
since: 0.57.0
|
|
|
|
description: |
|
|
|
|
Returns an array of keys of
|
|
|
|
the configuration data object.
|
|
|
|
|
|
|
|
You can iterate over this array with the [`foreach`
|
|
|
|
statement](Syntax.md#foreach-statements).
|
|
|
|
|
|
|
|
- name: merge_from
|
|
|
|
returns: void
|
|
|
|
since: 0.42.0
|
|
|
|
description: |
|
|
|
|
Takes as argument a different
|
|
|
|
configuration data object and copies all entries from that object to
|
|
|
|
the current.
|
|
|
|
|
|
|
|
posargs:
|
|
|
|
other:
|
|
|
|
type: cfg_data
|
|
|
|
description: The other [[@cfg_data]] object to merge into this one.
|