IDF Clang-Tidy
The IDF Clang Tidy is a tool that uses clang-tidy to run static analysis on your current app.
Warning
This functionality and the toolchain it relies on are still under development. There may be breaking changes before a final release.
Only clang based toolchain is currently supported. It has to be activated by setting IDF_TOOLCHAIN=clang
in the environment or in CMake cache before configuring the project.
Warning
This tool does not support RISC-V based chips yet. For now, we do not provide clang based toolchain for RISC-V.
Prerequisites
If you have never run this tool before, take the following steps to get this tool prepared.
Run
idf_tools.py install esp-clang
to install the clang-tidy required binariesNote
This toolchain is still under development. After the final release, you do not have to install them manually.
Run the export scripts (
export.sh
/export.bat
/ ... ) again to refresh the environment variables.
Extra Commands
clang-check
Run idf.py clang-check
to re-generate the compilation database and run clang-tidy
under your current project folder. The output would be written to <project_dir>/warnings.txt
.
Run idf.py clang-check --help
to see the full documentation.
clang-html-report
Run
pip install codereport
to install the additional dependency.Run
idf.py clang-html-report
to generate an HTML report in folder<project_dir>/html_report
according to thewarnings.txt
. Please open the<project_dir>/html_report/index.html
in your browser to check the report.
Bug Report
This tool is hosted in espressif/clang-tidy-runner. If you were to face any bugs or have any feature request, please report them via Github issues