Unity builds break clang-tidy
When enabling unity builds, clang-tidy seems to be blinded:
[:~/tmp/cmaketest/build] $ cmake -DCMAKE_CXX_CLANG_TIDY=clang-tidy .. > /dev/null
[:~/tmp/cmaketest/build] $ make
Scanning dependencies of target e
[ 50%] Building CXX object CMakeFiles/e.dir/main.cpp.o
/Users/markus/tmp/cmaketest/main.cpp:2:18: error: invalid case style for method 'reimplementMe' [readability-identifier-naming,-warnings-as-errors]
virtual void reimplementMe(int a) {}
^~~~~~~~~~~~~
reimplement_me
/Users/markus/tmp/cmaketest/main.cpp:5:18: error: prefer using 'override' or (rarely) 'final' instead of 'virtual' [cppcoreguidelines-explicit-virtual-functions,-warnings-as-errors]
virtual void reimplementMe(int a) {}
~~~~~~~~ ^
override
4 warnings generated.
2 warnings treated as errors
make[2]: *** [CMakeFiles/e.dir/main.cpp.o] Error 2
make[1]: *** [CMakeFiles/e.dir/all] Error 2
make: *** [all] Error 2
[:~/tmp/cmaketest/build] $ rm -rf *
[:~/tmp/cmaketest/build] $ cmake -DCMAKE_CXX_CLANG_TIDY=clang-tidy -DCMAKE_UNITY_BUILD=On .. > /dev/null
[:~/tmp/cmaketest/build] $ make
Scanning dependencies of target e
[ 50%] Building CXX object CMakeFiles/e.dir/Unity/unity_0.cxx.o
[100%] Linking CXX executable e
[100%] Built target e
main.cpp - example taken from here CMakeLists.txt