# 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