summaryrefslogtreecommitdiff
path: root/docs/yaml/functions/library.yaml
diff options
context:
space:
mode:
Diffstat (limited to 'docs/yaml/functions/library.yaml')
-rw-r--r--docs/yaml/functions/library.yaml23
1 files changed, 23 insertions, 0 deletions
diff --git a/docs/yaml/functions/library.yaml b/docs/yaml/functions/library.yaml
new file mode 100644
index 000000000..f10ef8e88
--- /dev/null
+++ b/docs/yaml/functions/library.yaml
@@ -0,0 +1,23 @@
+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]]
+
+posargs_inherit: _build_target_base
+varargs_inherit: _build_target_base
+kwargs_inherit:
+ - shared_library
+ - static_library