c++ - CMake添加目标以调用clang分析器

标签 c++ cmake clang clang-static-analyzer

我基本上希望达到与 http://blog.alexrp.com/2013/09/26/clangs-static-analyzer-and-automake 相同的效果,但使用 CMake。

analyze_srcs = foo.c
analyze_plists = $(analyze_srcs:%.c=%.plist)
CLEANFILES = $(analyze_plists)

$(analyze_plists): %.plist: %.c
  @echo "  CCSA  " $@
  @$(COMPILE) --analyze $< -o $@

analyze: $(analyze_plists)
.PHONY: analyze

这样你就可以运行了

make analyze
make clean

我想我需要使用 add_custom_command/add_custom_target 并以某种方式仅为该目标更改“目标文件”扩展名。

然后获取生成文件的列表,以将它们传递给脚本以将它们组合成一个输出文件。

谁能指出我正确的方向?

最佳答案

运行cmake时可以使用scan-build

scan-build cmake /path/to/source
scan-build make

scan-build 设置 CCCXX 环境变量,由 cmake 获取。

关于c++ - CMake添加目标以调用clang分析器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19050461/

相关文章:

c++ - 在 sigpipe 之后恢复 stdout 和 stderr

list - CMake - 我应该如何删除以空格分隔的列表中的重复项?

c++ - 使用 CMake 构建 Boost 系统库?

c - 在 OS X 10.9 上找不到 uchar.h 文件

c++ - 如何在 macOS 的旧扩展 clang 和 gcc 编译器中初始化数组和 vector ?

c++ - 设置指向结构的指针

c++ - 迭代 std::set 如何返回排序结果

c++ - 将 gprof 与套接字一起使用

opencv - Cmake的CI2CV构建错误

c - _Generic() 宏不扩展