我试图使用咯咯-整齐与cmake的集成,并且我想传递-check
参数。在调用cmake时,我尝试过添加-DCMAKE_CXX_CLANG_TIDY="/usr/local/opt/llvm38/bin/clang-tidy-3.8;-checks=*"
,但是我的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
直接设置在目标上,并得到相同的行为。
是否有人通过cmake成功地使用额外的arg调用了clang-tidy
?
发布于 2017-03-23 18:08:54
它与cmake 3.7.2和clang-tiy4.0的工作原理一样。
例如,在命令行上直接指定:
cmake -DCMAKE_CXX_CLANG_TIDY="clang-tidy;-style=file;-checks=*"
或者在CMakeLists.txt中:
set(CMAKE_CXX_CLANG_TIDY "clang-tidy;-style=file;-checks=*")
您必须确保clang-tidy
参数是正确的,否则它似乎会默默地失败。
发布于 2016-11-06 18:44:43
一切都是正确的。CMake在生成makefile时不解析这些参数,而是当makefile被执行时解析。当文件编译成功后,clang将自动执行.
您可以尝试在CMAKE_CXX_CLANG_TIDY中直接设置CMakeLists.txt:
set(CMAKE_CXX_CLANG_TIDY "clang-tidy" "-checks=*")
https://stackoverflow.com/questions/40433573
复制相似问题