Я связал clang для моего проекта cpp с CMakeLists.txt с помощью

set(CMAKE_CXX_CLANG_TIDY "clang-tidy;-checks=google-*,cppcoreguidelines-*")

Поскольку я хотел бы переместить всю конфигурацию clang в файл, я немного погуглил и обнаружил, что для этого использования есть файл .clang-tidy.

Однако мне не удалось настроить CMakeList.txt для фактического использования этого файла.

Может ли кто-нибудь сказать мне, как мне изменить эту строку в CMakeList.txt, чтобы связать ее с файлом .clang-tidy?

5
Brandon Lee 2 Апр 2020 в 21:53
Не знаю, как включить файл .clang-tidy. Но вы можете поместить set(CMAKE_CXX_CLANG_TIDY "clang-tidy;-checks=google-*,cppcoreguidelines-*") в отдельный файл cmake (например, clang-tidy.cmake) и включить его в основной CMakeLists.txt.
 – 
JohnKoch
2 Апр 2020 в 22:08
Знаете ли вы, есть ли способ добавить фильтр извне? или более организованно, чем ставить их все в одну строку?
 – 
Brandon Lee
2 Апр 2020 в 22:15
Cmake поддерживает многострочную строку, начиная с версии 3.0. stackoverflow.com/a/27983206/5360439
 – 
JohnKoch
2 Апр 2020 в 22:20
Кажется, вы хорошо знаете clang-tidy, не могли бы вы взглянуть и на этот? stackoverflow.com/q/61001314/13200816
 – 
Brandon Lee
3 Апр 2020 в 00:37

1 ответ

Если у вас есть .clang-tidy в корне проекта, все, что вам нужно сделать, это указать исполняемый файл clang-tidy, например.

set(CMAKE_CXX_CLANG_TIDY "clang-tidy")

И clang-tidy будет неявно использовать .clang-tidy.

2
Ave Milia 8 Окт 2020 в 00:10