The Meson Build System http://mesonbuild.com/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

1.7 KiB

clang-format include and ignore lists

When clang-format is installed and a .clang-format file is found at the main project's root source directory, Meson automatically adds a clang-format target that reformat all C and C++ files.

It is now possible to restrict files to be reformatted with optional .clang-format-include and .clang-format-ignore files.

The file .clang-format-include contains a list of patterns matching the files that will be reformatted. The ** pattern matches this directory and all subdirectories recursively. Empty lines and lines starting with # are ignored. If .clang-format-include is not found, the pattern defaults to **/* which means all files recursively in the source directory but has the disadvantage to walk the whole source tree which could be slow in the case it contains lots of files.

Example of .clang-format-include file:

# All files in src/ and its subdirectories
src/**/*

# All files in include/ but not its subdirectories
include/*

The file .clang-format-ignore contains a list of patterns matching the files that will be excluded. Files matching the include list (see above) that match one of the ignore pattern will not be reformatted. Unlike include patters, ignore patterns does not support ** and a single * match any characters including path separators. Empty lines and lines starting with # are ignored.

The build directory and file without a well known C or C++ suffix are always ignored.

Example of .clang-format-ignore file:

# Skip C++ files in src/ directory
src/*.cpp

A new target clang-format-check has been added. It returns an error code if any file needs to be reformatted. This is intended to be used by CI.