| 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 |