From: Karthik Nayak Date: Wed, 2 Jul 2025 09:23:20 +0000 (+0200) Subject: meson: add rule to run 'git clang-format' X-Git-Tag: v2.51.0-rc0~75^2 X-Git-Url: http://git.ipfire.org/gitweb/gitweb.cgi?a=commitdiff_plain;h=3f7e447aaf40724e54fe81c99bee104829e3d23d;p=thirdparty%2Fgit.git meson: add rule to run 'git clang-format' 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 Signed-off-by: Junio C Hamano --- diff --git a/meson.build b/meson.build index 596f5ac711..7f2d7b5f8c 100644 --- a/meson.build +++ b/meson.build @@ -2132,6 +2132,18 @@ if headers_to_check.length() != 0 and compiler.get_argument_syntax() == 'gcc' alias_target('check-headers', hdr_check) endif +git_clang_format = find_program('git-clang-format', required: false, native: true) +if git_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(),