diff options
Diffstat (limited to 'docs')
-rw-r--r-- | docs/markdown/Reference-manual.md | 6 | ||||
-rw-r--r-- | docs/markdown/snippets/custom_target_console_pool.md | 13 |
2 files changed, 19 insertions, 0 deletions
diff --git a/docs/markdown/Reference-manual.md b/docs/markdown/Reference-manual.md index db8eed1..9f49831 100644 --- a/docs/markdown/Reference-manual.md +++ b/docs/markdown/Reference-manual.md @@ -244,6 +244,12 @@ following. this argument is set to true, Meson captures `stdout` and writes it to the target file. Note that your command argument list may not contain `@OUTPUT@` when capture mode is active. +- `console` keyword argument conflicts with `capture`, and is meant + for commands that are resource-intensive and take a long time to + finish. With the Ninja backend, setting this will add this target + to [Ninja's `console` pool](https://ninja-build.org/manual.html#_the_literal_console_literal_pool), + which has special properties such as not buffering stdout and + serializing all targets in this pool. - `command` command to run to create outputs from inputs. The command may be strings or the return value of functions that return file-like objects such as [`find_program()`](#find_program), diff --git a/docs/markdown/snippets/custom_target_console_pool.md b/docs/markdown/snippets/custom_target_console_pool.md new file mode 100644 index 0000000..097b008 --- /dev/null +++ b/docs/markdown/snippets/custom_target_console_pool.md @@ -0,0 +1,13 @@ +## New kwarg `console` for `custom_target()` + +This keyword argument conflicts with `capture`, and is meant for commands +that are resource-intensive and take a long time to finish. With the Ninja +backend, setting this will add this target to [Ninja's `console` +pool](https://ninja-build.org/manual.html#_the_literal_console_literal_pool), +which has special properties such as not buffering stdout and serializing all +targets in this pool. + +The primary use-case for this is to be able to run external package managers +such as `cargo` to produce build artifacts. Without setting this, the user does +not receive any feedback about what the package manager is doing, which can +take a very long time to download and build packages. |