diff options
author | Xavier Claessens <xavier.claessens@collabora.com> | 2022-10-13 14:39:47 -0400 |
---|---|---|
committer | Xavier Claessens <xavier.claessens@collabora.com> | 2022-10-23 12:21:46 +0200 |
commit | d53486bf9c7d860141371c90d0dc1c923a350fed (patch) | |
tree | 4f6a6f497058580f3366542d96deedc61890b471 | |
parent | 1d56df94097678fbdf05fa9ca04e0b90ff65cf2c (diff) | |
download | meson-d53486bf9c7d860141371c90d0dc1c923a350fed.zip meson-d53486bf9c7d860141371c90d0dc1c923a350fed.tar.gz meson-d53486bf9c7d860141371c90d0dc1c923a350fed.tar.bz2 |
Add doc and release notes for cc.preprocess()
-rw-r--r-- | docs/markdown/snippets/preprocess.md | 14 | ||||
-rw-r--r-- | docs/yaml/objects/compiler.yaml | 22 |
2 files changed, 36 insertions, 0 deletions
diff --git a/docs/markdown/snippets/preprocess.md b/docs/markdown/snippets/preprocess.md new file mode 100644 index 0000000..7e6dd0a --- /dev/null +++ b/docs/markdown/snippets/preprocess.md @@ -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) +``` diff --git a/docs/yaml/objects/compiler.yaml b/docs/yaml/objects/compiler.yaml index 6f49ec5..f6743ad 100644 --- a/docs/yaml/objects/compiler.yaml +++ b/docs/yaml/objects/compiler.yaml @@ -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 + |