我找到的唯一在线资源是 CMAKE_<LANG>_CPPLINT
上的 CMake 文档。 (链接 here )和这个例子(链接 here ),但我不知道如何在 CMakeLists.txt 文件中实际使用它。
我尝试了提供的示例,但无法使其工作。仅供引用,我按照说明安装了 cpplint here .
到目前为止,我可以使用以下 CMake 命令在 CMakeLists.txt 中运行 cpplint python 脚本:
execute_process(COMMAND cpplint path/To/File/To/Analyse.cpp)
但是,我很确定这不是执行此操作的正确方法。
最佳答案
Daniel Pffeifer 的“Effective Cmake”(https://www.youtube.com/watch?v=rLopVhns4Zs&=&t=77m13s)介绍了在 CMake 中使用静态分析工具的推荐方法。
您可以在调用 cmake
时定义它,例如:
cmake "-DCMAKE_CXX_CPPLINT=cpplint" ..
或放入
CMakeLists.txt
:set(CMAKE_CXX_CPPLINT "cpplint")
推荐的选项是第一个(我们不应该在项目中定义什么不是项目要求)。
CMake 将调用
cpplint
对于它编译的每个文件。您可以在分号后传递额外的参数(例如 -DCMAKE_CXX_CPPLINT=cpplint;--linelength=100
)。这种方法的缺点:
cpplint
分别为每个文件调用)。 cpplint
扫描)。 请注意,您可以以相同的方式使用其他静态分析工具:
"-DCMAKE_CXX_CLANG_TIDY=/usr/bin/clang-tidy-3.9;-checks=*"
"-DCMAKE_CXX_CPPCHECK=/usr/bin/cppcheck;--std=c++11"
"-DCMAKE_CXX_INCLUDE_WHAT_YOU_USE=/usr/bin/iwyu;--transitive_includes_only"
cmake -DCMAKE_LINK_WHAT_YOU_USE=TRUE
其中一些将需要“编译数据库”(
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
)。
关于cmake - 如何在 CMake 中使用 cpplint 代码样式检查?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51582604/