Add new CMake target to run clang-tidy
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.