38 lines
951 B
Markdown
38 lines
951 B
Markdown
# Running clang-tidy
|
|
|
|
* Add `"checkout_clang_tidy": True` to `.gclient` file in the `custom_vars`.
|
|
```
|
|
{
|
|
"custom_vars": {
|
|
"checkout_clang_tidy": True,
|
|
}
|
|
}
|
|
```
|
|
* `gclient sync`
|
|
|
|
There should now be `third_party/llvm-build/Release+Asserts/bin/clang-tidy`
|
|
|
|
* `cd out`
|
|
* `git clone https://chromium.googlesource.com/chromium/tools/build`
|
|
|
|
The Chromium build folder contains the `tricium` files used to run `clang-tidy`
|
|
|
|
Running clang-tidy over all the source can be done with:
|
|
|
|
```
|
|
cd ..
|
|
out/build/recipes/recipe_modules/tricium_clang_tidy/resources/tricium_clang_tidy_script.py \
|
|
--base_path $PWD \
|
|
--out_dir out/Debug \
|
|
--findings_file all_findings.json \
|
|
--clang_tidy_binary $PWD/third_party/llvm-build/Release+Asserts/bin/clang-tidy \
|
|
--all
|
|
```
|
|
|
|
`--all` can be replaced by specific files if desired to run on individual source
|
|
files.
|
|
|
|
|
|
## References
|
|
* https://chromium.googlesource.com/chromium/src.git/+/HEAD/docs/clang_tidy.md
|