Karthik Nayak <karthik.188@xxxxxxxxx> writes: > 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@xxxxxxxxx> > --- > meson.build | 12 ++++++++++++ > 1 file changed, 12 insertions(+) > > diff --git a/meson.build b/meson.build > index 7fea4a34d6..20ce0525a1 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 > > +git_clang_format = find_program('git-clang-format', required: false) I think we should include `native: true` as well. > +if git_clang_format.found() > + run_target('style', > + command: [ > + 'git', 'clang-format', We should be using the `git_clang_format` variable here to ensure we call the tool we've found. > + '--style', 'file', > + '--diff', > + '--extensions', 'c,h' > + ] > + ) > +endif > + > foreach key, value : { > 'DIFF': diff.full_path(), > 'GIT_SOURCE_DIR': meson.project_source_root(), > > -- > 2.49.0 > > -- Cheers, Toon