1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
|
name: vcs_tag
returns: custom_tgt
description: |
This command detects revision control commit information at build time
and places it in the specified output file. This file is guaranteed to
be up to date on every build. Keywords are similar to [[custom_target]].
Meson will read the contents of `input`, substitute the
`replace_string` with the detected revision number, and write the
result to `output`. This method returns a
[[@custom_tgt]] object that (as usual) should be
used to signal dependencies if other targets use the file outputted
by this.
For example, if you generate a header with this and want to use that
in a build target, you must add the return value to the sources of
that build target. Without that, Meson will not know the order in
which to build the targets.
If you desire more specific behavior than what this command provides,
you should use [[custom_target]].
kwargs:
command:
type: array[exe | external_program | custom_tgt | file | str]
description: |
The command to execute, see [[custom_target]] for details
on how this command must be specified.
This parameter is optional. If it is absent, Meson will try
its best to find a suitable default command.
*(since 0.62.0)* [[@file]] is accepted.
*(since 0.63.0)* [[@custom_tgt]], [[@exe]], and [[@external_program]] are accepted.
input:
type: str
required: true
description: File to modify (e.g. `version.c.in`).
output:
type: str
required: true
description: File to write the results to (e.g. `version.c`).
fallback:
type: str
default: "[[meson.project_version]]"
description: |
Version number to use when no revision control information is present,
such as when building from a release tarball.
replace_string:
type: str
default: "'@VCS_TAG@'"
description: String in the input file to substitute with the commit information.
install:
type: bool
default: false
since: 1.7.0
description: |
When true, this generated file is installed during
the install step, and `install_dir` must be set and not empty.
install_dir:
type: str
since: 1.7.0
description: |
The subdirectory to install the generated file to (e.g. `share/myproject`).
install_mode:
type: array[str | int]
since: 1.7.0
description: |
Specify the file mode in symbolic format
and optionally the owner/uid and group/gid for the installed files.
See the `install_mode` kwarg of [[install_data]] for more information.
install_tag:
type: str
since: 1.7.0
description: |
A string used by the `meson install --tags` command
to install only a subset of the files. By default the file has no install
tag which means it is not being installed when `--tags` argument is specified.
|