]> git.ipfire.org Git - thirdparty/git.git/commitdiff
meson: add rule to run 'git clang-format'
authorKarthik Nayak <karthik.188@gmail.com>
Wed, 2 Jul 2025 09:23:20 +0000 (11:23 +0200)
committerJunio C Hamano <gitster@pobox.com>
Wed, 2 Jul 2025 16:05:29 +0000 (09:05 -0700)
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>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
meson.build

index 596f5ac7110ebf608ced79dc335226d10a09b4a8..7f2d7b5f8c876546365983c5d6f35deb8364aac8 100644 (file)
@@ -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(),