| # 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 |