首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >CMake添加调用clang分析器的目标

CMake添加调用clang分析器的目标
EN

Stack Overflow用户
提问于 2013-09-27 20:11:45
回答 2查看 10.5K关注 0票数 26

我基本上希望通过CMake实现与http://blog.alexrp.com/2013/09/26/clangs-static-analyzer-and-automake相同的功能。

代码语言:javascript
复制
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

这样你就可以运行

代码语言:javascript
复制
make analyze
make clean

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

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

有谁能给我指个方向吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-02-06 22:20:30

我找到了一个方法:

代码语言:javascript
复制
function(add_clang_static_analysis target)
    get_target_property(SRCs ${target} SOURCES)
    add_library(${target}_analyze OBJECT EXCLUDE_FROM_ALL ${SRCs})
    set_target_properties(${target}_analyze PROPERTIES
                          COMPILE_OPTIONS "--analyze"
                          EXCLUDE_FROM_DEFAULT_BUILD true)
endfunction()

将clang的plist文件(以这种方式获得扩展名.o )组合到一个报告中仍然是打开的($<TARGET_OBJECTS:objlibtarget>?)。

票数 6
EN

Stack Overflow用户

发布于 2014-02-15 01:18:31

您可以在运行cmake时使用scan-build

代码语言:javascript
复制
scan-build cmake /path/to/source
scan-build make

scan-build设置由cmake选取的CCCXX环境变量。

票数 30
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19050461

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档