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
|