summaryrefslogtreecommitdiff
path: root/docs/yaml/objects/generator.yaml
diff options
context:
space:
mode:
authorDaniel Mensinger <daniel@mensinger-ka.de>2021-08-21 16:27:56 +0200
committerDaniel Mensinger <daniel@mensinger-ka.de>2021-10-03 11:46:34 +0200
commit2b482e39a90fa1929e0fa4006861f4264f28adb2 (patch)
tree0af5ef229d25bef1b974445406fc3c9d28c0756f /docs/yaml/objects/generator.yaml
parentad65a699f93a7659739287882ca27c58c564670b (diff)
downloadmeson-2b482e39a90fa1929e0fa4006861f4264f28adb2.tar.gz
docs: Add the YAML Reference manual
Diffstat (limited to 'docs/yaml/objects/generator.yaml')
-rw-r--r--docs/yaml/objects/generator.yaml36
1 files changed, 36 insertions, 0 deletions
diff --git a/docs/yaml/objects/generator.yaml b/docs/yaml/objects/generator.yaml
new file mode 100644
index 000000000..e7b866acc
--- /dev/null
+++ b/docs/yaml/objects/generator.yaml
@@ -0,0 +1,36 @@
+name: generator
+long_name: Generator object
+description: |
+ This object is returned by [[generator]] and contains a
+ generator that is used to transform files from one type to another by
+ an executable (e.g. `idl` files into source code and headers).
+
+methods:
+ - name: process
+ returns: generated_list
+ description: |
+ Takes a list of files, causes them to be processed and returns an object containing the result
+ which can then, for example, be passed into a build target definition.
+
+ varargs:
+ name: source
+ min_varargs: 1
+ type: str | file | custom_tgt | custom_idx | generated_list
+ description: List of sources to process.
+
+ kwargs:
+ extra_args:
+ type: list[str]
+ description: |
+ If present, will be used to replace an entry `@EXTRA_ARGS@` in the argument list.
+
+ preserve_path_from:
+ type: str
+ since: 0.45.0
+ description: |
+ If given, specifies that the output files need to maintain their directory structure
+ inside the target temporary directory. The most common value for this is
+ `meson.current_source_dir()`. With this value when a file called
+ `subdir/one.input` is processed it generates a file `{target private
+ directory}/subdir/one.out` as opposed to `{target private
+ directory}/one.out`.