为某些cmake子项目禁用clang静态分析器

时间:2014-10-27 22:00:49

标签: c++ cmake clang

我在将clang的静态分析器集成到cmake工具链时遇到了问题。

有一个很大的C ++项目,有很多第三方库,我想从静态分析过程中排除。

假设我的shell脚本包含以下内容

CCC_CC=clang
CCC_CXX=clang++

cmake -G "Unix Makefiles" -DCMAKE_C_COMPILER=path-to-ccc-analyzer -DCMAKE_CXX_COMPILER=path-to-cxx-analyzer ../project_root

scan-build make -j3

然后我在第三方子目录中有CMakeLists.txt

project(my_third_party)

add_library(my_third_party STATIC main.cpp)

如何让clang忽略这个项目?

我通过网络发现我需要以这种方式设置CXX_FLAGS

project(my_third_party)

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Xanalyzer -analyzer-disable-checker")

add_library(my_third_party STATIC main.cpp)

但是在编译期间c++-analyzer被调用时,此方法似乎不起作用。 (是的,我也为C项目设置了CMAKE_C_FLAGS

正如我理解的那样,我需要直接调用clang++ --analyze以便能够禁用检查​​或以某种方式编辑ccc-analyzer perl脚本以跳过分析步骤。

我想念一下吗?这可以解决eaiser吗?=)

0 个答案:

没有答案