aboutsummaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorXavier Claessens <xavier.claessens@collabora.com>2019-07-19 10:34:11 -0400
committerXavier Claessens <xclaesse@gmail.com>2020-02-06 14:11:24 -0500
commit3ba0073df6014d4b594df052f8e1fa75ce17b20e (patch)
treeaac412650192c2e934c3e58241b00287bb08b6f9 /docs
parent0bf3c4ac4d9128154bf27649a39645b7d804582e (diff)
downloadmeson-3ba0073df6014d4b594df052f8e1fa75ce17b20e.zip
meson-3ba0073df6014d4b594df052f8e1fa75ce17b20e.tar.gz
meson-3ba0073df6014d4b594df052f8e1fa75ce17b20e.tar.bz2
Make 'default_library' per-subproject builtin option
Currently it's just like if all builtin/base/compiler options are yielding. This patch makes possible to have non-yielding builtin options. The value in is overriden in this order: - Value from parent project - Value from subproject's default_options if set - Value from subproject() default_options if set - Value from command line if set
Diffstat (limited to 'docs')
-rw-r--r--docs/markdown/Reference-manual.md3
-rw-r--r--docs/markdown/snippets/per_subproject_builtin.md15
2 files changed, 17 insertions, 1 deletions
diff --git a/docs/markdown/Reference-manual.md b/docs/markdown/Reference-manual.md
index ae6d1c5..510d443 100644
--- a/docs/markdown/Reference-manual.md
+++ b/docs/markdown/Reference-manual.md
@@ -1553,7 +1553,8 @@ arguments:
that override those set in the subproject's `meson_options.txt`
(like `default_options` in `project`, they only have effect when
Meson is run for the first time, and command line arguments override
- any default options in build files)
+ any default options in build files). *Since 0.54.0* `default_library`
+ built-in option can also be overridden.
- `version` keyword argument that works just like the one in
`dependency`. It specifies what version the subproject should be,
as an example `>=1.0.1`
diff --git a/docs/markdown/snippets/per_subproject_builtin.md b/docs/markdown/snippets/per_subproject_builtin.md
new file mode 100644
index 0000000..44ed1c8
--- /dev/null
+++ b/docs/markdown/snippets/per_subproject_builtin.md
@@ -0,0 +1,15 @@
+## Per subproject `default_library` option
+
+The `default_library` built-in option can now be defined per subproject. This is
+useful for example when building shared libraries in the main project, but static
+link a subproject.
+
+Most of the time this would be used either by the parent project by setting
+subproject's default_options (e.g. `subproject('foo', default_options: 'default_library=static')`),
+or by the user using the command line `-Dfoo:default_library=static`.
+
+The value is overriden in this order:
+- Value from parent project
+- Value from subproject's default_options if set
+- Value from subproject() default_options if set
+- Value from command line if set