diff options
author | Xavier Claessens <xavier.claessens@collabora.com> | 2021-02-16 11:14:38 -0500 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2021-02-17 14:48:04 +0200 |
commit | b6804bf49c68ca84c22f9f0c4d18732f15461847 (patch) | |
tree | de5043918eb774229a20b469b1bed320ddf2c0a8 /docs | |
parent | d5238baa450d1c55b838090ab50965a1ae6692a1 (diff) | |
download | meson-b6804bf49c68ca84c22f9f0c4d18732f15461847.zip meson-b6804bf49c68ca84c22f9f0c4d18732f15461847.tar.gz meson-b6804bf49c68ca84c22f9f0c4d18732f15461847.tar.bz2 |
Substitute @CURRENT_SOURCE_DIR@ in run_target() and custom_target()
run_target() does some variable substitutions since 0.57.0. This is a
new behavior, and undocumented, caused by sharing more code with
custom_target(). More consistency is better, so document it now.
custom_target() was doing variable substitution in the past, because it
shared some code with generator(), but that was undocumented. Some
refactoring in 0.57.0 caused it to not replace @CURRENT_SOURCE_DIR@,
@SOURCE_DIR@, and @BUILD_DIR@ anymore. This patch adds back
@CURRENT_SOURCE_DIR@ and document it. It does not add back @SOURCE_DIR@
because it is duplicate with @SOURCE_ROOT@ that has a better name. Also
do not add back @BUILD_DIR@ which is duplicate of @PRIVATE_DIR@, and
not @BUILD_ROOT@ surprisingly, adding to the confusion.
Diffstat (limited to 'docs')
-rw-r--r-- | docs/markdown/Reference-manual.md | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/docs/markdown/Reference-manual.md b/docs/markdown/Reference-manual.md index 46ea1c0..3693e57 100644 --- a/docs/markdown/Reference-manual.md +++ b/docs/markdown/Reference-manual.md @@ -402,6 +402,13 @@ the following special string substitutions: - `@PLAINNAME@`: the input filename, without a path - `@BASENAME@`: the input filename, with extension removed - `@PRIVATE_DIR@` *(since 0.50.1)*: path to a directory where the custom target must store all its intermediate files. +- `@SOURCE_ROOT@`: the path to the root of the source tree. Depending on the backend, + this may be an absolute or a relative to current workdir path. +- `@BUILD_ROOT@`: the path to the root of the build tree. Depending on the backend, + this may be an absolute or a relative to current workdir path. +- `@CURRENT_SOURCE_DIR@`: this is the directory where the currently + processed meson.build is located in. Depending on the backend, + this may be an absolute or a relative to current workdir path. *(since 0.47.0)* The `depfile` keyword argument also accepts the `@BASENAME@` and `@PLAINNAME@` substitutions. @@ -1522,6 +1529,16 @@ and subdirectory the target was defined in, respectively. or an [`environment()` object](#environment-object) which allows more sophisticated environment juggling. +*Since 0.57.0* The template strings passed to `command` keyword arguments accept +the following special substitutions: +- `@SOURCE_ROOT@`: the path to the root of the source tree. Depending on the backend, + this may be an absolute or a relative to current workdir path. +- `@BUILD_ROOT@`: the path to the root of the build tree. Depending on the backend, + this may be an absolute or a relative to current workdir path. +- `@CURRENT_SOURCE_DIR@` *Since 0.57.1*: this is the directory where the currently + processed meson.build is located in. Depending on the backend, + this may be an absolute or a relative to current workdir path. + ### set_variable() ``` meson |