如何指定与 CMAKE_CXX_CLANG_TIDY 变量一起使用的其他参数

Mik*_*ery 7 cmake clang-static-analyzer clang-tidy

我正在尝试使用 make use of clang-tidycmake 的集成,我想传递这个-check论点。我尝试-DCMAKE_CXX_CLANG_TIDY="/usr/local/opt/llvm38/bin/clang-tidy-3.8;-checks=*"在调用 cmake 时添加,但我的 makefile 命令最终看起来像:

/usr/local/Cellar/cmake/3.6.2/bin/cmake -E __run_iwyu --tidy="/usr/local/opt/llvm38/bin/clang-tidy-3.8;-checks=*" --source=/Users/ellery/work/.....

换句话说,它似乎是 ; 分离的 args 没有被分开解析。我还尝试CXX_CLANG_TIDY使用相同的值直接在我的目标上设置目标属性,并且我得到了相同的行为。

有没有人clang-tidy通过 cmake成功调用了额外的参数?

mis*_*sev 7

它在 cmake 3.7.2 和 clang-tidy 4.0 上按预期工作。

例如直接在命令行上指定:

cmake -DCMAKE_CXX_CLANG_TIDY="clang-tidy;-style=file;-checks=*"
Run Code Online (Sandbox Code Playgroud)

或在 CMakeLists.txt 中:

set(CMAKE_CXX_CLANG_TIDY "clang-tidy;-style=file;-checks=*")
Run Code Online (Sandbox Code Playgroud)

你必须确保clang-tidy参数是正确的,否则它似乎无声无息地失败了。