我们使用tundra作为我们的构建系统,并希望通过clang的静态分析器运行我们的构建。用于调用clang分析器的scan-build脚本通过修改CC和CXX环境变量来工作,但这种方法不适用于苔原,因为tundra明确地设置了它自己的环境。
答案 0 :(得分:0)
在clang-analyze.lua中,用“ccc-analyzer”替换CC,CXX和LD命令,这是clang-analyzer虚拟编译器。
env:set_many {
["CC"] = "ccc-analyzer",
["CXX"] = "ccc-analyzer",
["LD"] = "ccc-analyzer",
}
将新的构建配置添加到使用clang-analyze工具链的项目中,如下所示:
Configs = {
{
Name = "linux-analyze",
SupportedHosts = "linux",
Inherit = unix_common,
Tools = { "clang-analyze" },
},
确保您的PATH
运行scan-build:
scan-build --use-cc clang --use-c++ clang++ ./tundra2 --rebuild linux-analyze-debug-default`
如果您的常规编译器是gcc,那么您将像这样运行scan-build:
scan-build --use-cc gcc --use-c++ g++ ./tundra2 --rebuild linux-analyze-debug-default`
从那里,您应该能够弄清楚如何将其集成到CI系统中。