| 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: list[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. |