Skip to content

Add new CMake target to run clang-tidy

Florian Uhlig requested to merge f.uhlig/cbmroot:add_clang_tidy_to_CI into master

Refs #2969

The target will run clang-tidy on all changed source and header files The target is only created if the used clang-tidy supports all required checks. The required checks will be extracted from the clang-tidy configuration file, so the list should be alwyas correct.

Instead of having a hardcoded list of required checks the list is extracted from the clang-tidy config file such that the list is always up to date.

Add CMake script to execute the TidyCheck in our CI

Download and install external packages needed when running clang-tidy. To speed up things execute clang-tidy in parallel on differnt files if more cores are available.

Add shell script used by the CMake target

Check changed header files only if there is a corresponding source file in the compile_commands database. Currently there is no way to test header files without corresponding source file (compilation unit). Create missing but expected output directories. Remove clang-tidy command line option The option was moved to the config file.

The script find_files.sh is now used from two places so pass the required information as parameters. Remove one unneded parameter

Add and disable clang-tidy test in the CI chain

The check is disabled since it isn't yet decided if clang-tidy should be integrated in the CI chain.

Merge request reports