Add doc and release notes for cc.preprocess()

pull/10916/head
Xavier Claessens 2 years ago
parent 1d56df9409
commit d53486bf9c
  1. 14
      docs/markdown/snippets/preprocess.md
  2. 22
      docs/yaml/objects/compiler.yaml

@ -0,0 +1,14 @@
## New method to preprocess source files
Compiler object has a new `preprocess()` method. It is supported by all C/C++
compilers. It preprocess sources without compiling them.
The preprocessor will receive the same arguments (include directories, defines,
etc) as with normal compilation. That includes for example args added with
`add_project_arguments()`, or on the command line with `-Dc_args=-DFOO`.
```meson
cc = meson.get_compiler('c')
pp_files = cc.preprocess('foo.c', 'bar.c', output: '@PLAINNAME@')
exe = executable('app', pp_files)
```

@ -586,3 +586,25 @@ methods:
gcc or msvc, but use the same argument syntax as one of those two compilers
such as clang or icc, especially when they use different syntax on different
operating systems.
- name: preprocess
returns: list[custom_idx]
since: 0.64.0
description: |
Preprocess a list of source files but do not compile them. The preprocessor
will receive the same arguments (include directories, defines, etc) as with
normal compilation. That includes for example args added with
`add_project_arguments()`, or on the command line with `-Dc_args=-DFOO`.
varargs_inherit: _build_target_base
kwargs:
output:
type: str
description: |
Template for name of preprocessed files: `@PLAINNAME@` is replaced by
the source filename and `@BASENAME@` is replaced by the source filename
without its extension.
compile_args:
type: list[str]
description: |
Extra flags to pass to the preprocessor

Loading…
Cancel
Save