[PATCH 4/4] meson: add rule to run 'git clang-format'
- From
Karthik Nayak <karthik.188@gmail.com>
- Date
- Jun 25, 2025, 16:43 UTC
- Message-ID
- <20250625-525-make-clang-format-more-robust-v1-4-67a49ecc2fd5@gmail.com>
- In-Reply-To
- <20250625-525-make-clang-format-more-robust-v1-0-67a49ecc2fd5@gmail.com>
The Makefile has a 'style' rule to run 'git clang-format'. While Meson intrinsically supports a 'clang-format' target, which can be run when using the ninja backend by running 'ninja clang-format', this runs the formatting on all existing files.
Our Meson build doesn't yet support a way to run 'git clang-format', which runs the formatter between the working directory and commit provided. Add a new 'style' target to Meson to mimic the target in the Makefile.
Signed-off-by: Karthik Nayak <karthik.188@gmail.com> --- meson.build | 12 ++++++++++++ 1 file changed, 12 insertions(+)
diff --git a/meson.build b/meson.build index 7fea4a34d6..578db26df2 100644 --- a/meson.build +++ b/meson.build @@ -2144,6 +2144,18 @@ if headers_to_check.length() != 0 and compiler.get_argument_syntax() == 'gcc' alias_target('check-headers', hdr_check) endif +clang_format = find_program('clang-format', required: false) +if clang_format.found() + run_target('style', + command: [ + 'git', 'clang-format', + '--style', 'file', + '--diff', + '--extensions', 'c,h' + ] + ) +endif + foreach key, value : { 'DIFF': diff.full_path(), 'GIT_SOURCE_DIR': meson.project_source_root(),
-- 2.49.0