aboutsummaryrefslogtreecommitdiff
path: root/docs/yaml/objects/dep.yaml
diff options
context:
space:
mode:
Diffstat (limited to 'docs/yaml/objects/dep.yaml')
-rw-r--r--docs/yaml/objects/dep.yaml212
1 files changed, 212 insertions, 0 deletions
diff --git a/docs/yaml/objects/dep.yaml b/docs/yaml/objects/dep.yaml
new file mode 100644
index 0000000..23092c2
--- /dev/null
+++ b/docs/yaml/objects/dep.yaml
@@ -0,0 +1,212 @@
+name: dep
+long_name: Dependency object
+description: Abstract representation of a dependency
+
+methods:
+ - name: found
+ returns: bool
+ description: Returns whether the dependency was found.
+
+ - name: name
+ since: 0.48.0
+ returns: str
+ description: |
+ Returns the name of the dependency that was searched.
+ Returns `'internal'` for dependencies created with
+ [[declare_dependency]].
+
+ - name: get_pkgconfig_variable
+ since: 0.36.0
+ deprecated: 0.56.0
+ returns: str
+ description: |
+ Gets the pkg-config variable specified,
+ or, if invoked on a non pkg-config
+ dependency, error out.
+
+ posargs:
+ var_name:
+ type: str
+ description: Name of the variable to query
+
+ kwargs:
+ define_variable:
+ type: list[str]
+ since: 0.44.0
+ description: |
+ You can also redefine a
+ variable by passing a list to this kwarg
+ that can affect the retrieved variable: `['prefix', '/'])`.
+
+ default:
+ type: str
+ since: 0.45.0
+ description: |
+ The value to return if the variable was not found.
+ A warning is issued if the variable is not defined and this kwarg is not set.
+
+ - name: get_configtool_variable
+ since: 0.44.0
+ deprecated: 0.56.0
+ returns: str
+ description: |
+ Gets the command line argument from the config tool (with `--` prepended), or,
+ if invoked on a non config-tool dependency, error out.
+
+ posargs:
+ var_name:
+ type: str
+ description: Name of the variable to query
+
+ - name: type_name
+ returns: str
+ description: |
+ Returns a string describing the type of the
+ dependency, the most common values are `internal` for deps created
+ with [[declare_dependency]] and `pkgconfig` for system dependencies
+ obtained with Pkg-config.
+
+ - name: version
+ returns: str
+ description: |
+ the version number as a string,
+ for example `1.2.8`.
+ `unknown` if the dependency provider doesn't support determining the
+ version.
+
+ - name: include_type
+ returns: str
+ since: 0.52.0
+ description: Returns the value set by the `include_type` kwarg.
+
+ - name: as_system
+ returns: dep
+ since: 0.52.0
+ description: |
+ Returns a copy of the dependency object, which has changed the value of `include_type`
+ to `value`. The `value` argument is optional and
+ defaults to `'preserve'`.
+
+ optargs:
+ value:
+ type: str
+ description: The new value. See [[dependency]] for supported values.
+
+ - name: as_link_whole
+ returns: dep
+ since: 0.56.0
+ description: |
+ Only dependencies created with [[declare_dependency]],
+ returns a copy of the dependency object with all
+ link_with arguments changed to link_whole. This is useful for example for
+ fallback dependency from a subproject built with `default_library=static`.
+ Note that all `link_with` objects must be static libraries otherwise an error
+ will be raised when trying to `link_whole` a shared library.
+
+ - name: partial_dependency
+ returns: dep
+ since: 0.46.0
+ description: |
+ Returns a new dependency object with the same name, version, found status,
+ type name, and methods as the object that called it. This new
+ object will only inherit other attributes from its parent as
+ controlled by keyword arguments.
+
+ If the parent has any dependencies, those will be applied to the new
+ partial dependency with the same rules. So, given:
+
+ ```meson
+ dep1 = declare_dependency(compile_args : '-Werror=foo', link_with : 'libfoo')
+ dep2 = declare_dependency(compile_args : '-Werror=bar', dependencies : dep1)
+ dep3 = dep2.partial_dependency(compile_args : true)
+ ```
+
+ dep3 will add `['-Werror=foo', '-Werror=bar']` to the compiler args
+ of any target it is added to, but libfoo will not be added to the
+ link_args.
+
+ The following arguments will add the following attributes:
+
+ - compile_args: any arguments passed to the compiler
+ - link_args: any arguments passed to the linker
+ - links: anything passed via link_with or link_whole
+ - includes: any include_directories
+ - sources: any compiled or static sources the dependency has
+
+ warnings:
+ - A bug present until 0.50.1 results in the above behavior
+ not working correctly.
+
+ kwargs:
+ compile_args:
+ type: bool
+ default: false
+ description: Whether to include compile_args
+
+ link_args:
+ type: bool
+ default: false
+ description: Whether to include link_args
+
+ links:
+ type: bool
+ default: false
+ description: Whether to include links
+
+ includes:
+ type: bool
+ default: false
+ description: Whether to include includes
+
+ sources:
+ type: bool
+ default: false
+ description: Whether to include sources
+
+ - name: get_variable
+ returns: str
+ since: 0.51.0
+ description: |
+ A generic variable getter method, which replaces the
+ `get_*type*_variable` methods. This allows one to get the variable
+ from a dependency without knowing specifically how that dependency
+ was found. If `default_value` is set and the value cannot be gotten
+ from the object then `default_value` is returned, if it is not set
+ then an error is raised.
+
+ optargs:
+ varname:
+ type: str
+ since: 0.58.0
+ description: |
+ This argument is used as a default value
+ for `cmake`, `pkgconfig`, `configtool` and `internal` keyword
+ arguments. It is useful in the common case where `pkgconfig` and `internal`
+ use the same variable name, in which case it's easier to write `dep.get_variable('foo')`
+ instead of `dep.get_variable(pkgconfig: 'foo', internal: 'foo')`.
+
+ kwargs:
+ cmake:
+ type: str
+ description: The CMake variable name
+
+ pkgconfig:
+ type: str
+ description: The pkgconfig variable name
+
+ configtool:
+ type: str
+ description: The configtool variable name
+
+ internal:
+ type: str
+ since: 0.54.0
+ description: The internal variable name
+
+ default_value:
+ type: str
+ description: The davault value to return when the variable does not exist
+
+ pkgconfig_define:
+ type: list[str]
+ description: See [[dep.get_pkgconfig_variable]]