blob: 1d406f13c039d70466c217579de08a16eaa1eef3 [file] [log] [blame]
name: library
returns: lib
description: |
Builds a library that is either static, shared or both depending on
the value of `default_library`
user [option](https://mesonbuild.com/Builtin-options.html).
You should use this instead of [[shared_library]],
[[static_library]] or
[[both_libraries]] most of the time. This allows you
to toggle your entire project (including subprojects) from shared to
static with only one option. This option applies to libraries being
built internal to the entire project. For external dependencies, the
default library type preferred is shared. This can be adapted on a per
library basis using the [[dependency]] `static` keyword.
The keyword arguments for this are the same as for
[[build_target]]
warnings:
- using <lang>_shared_args and/or <lang>_static_args may lead to much higher
compilation times with both_library, as object files cannot be shared between
the static and shared targets. It is guaranteed to not duplicate the build if
these arguments are empty arrays
posargs_inherit: _build_target_base
varargs_inherit: _build_target_base
kwargs_inherit:
- shared_library
- static_library
kwargs:
rust_abi:
type: str
since: 1.3.0
description: |
Set the specific ABI to compile (when compiling rust).
- 'rust' (default): Create a "rlib" or "dylib" crate depending on the library
type being build.
- 'c': Create a "cdylib" or "staticlib" crate depending on the library
type being build.
<lang>_static_args:
type: list[str]
since: 1.3.0
description:
Arguments that are only passed to a static library
vala_static_args:
type: list[str | file]
since: 1.3.0
description:
Arguments that are only passed to a static library
Like `vala_args`, [[files]] is allowed in addition to string
<lang>_shared_args:
type: list[str]
since: 1.3.0
description:
Arguments that are only passed to a shared library
vala_shared_args:
type: list[str | file]
since: 1.3.0
description:
Arguments that are only passed to a shared library
Like `vala_args`, [[files]] is allowed in addition to string