如何从苔原运行clang的静态分析仪

时间:2016-07-01 07:51:35

标签: clang-static-analyzer

我们使用tundra作为我们的构建系统,并希望通过clang的静态分析器运行我们的构建。用于调用clang分析器的scan-build脚本通过修改CC和CXX环境变​​量来工作,但这种方法不适用于苔原,因为tundra明确地设置了它自己的环境。

1 个答案:

答案 0 :(得分:0)

  1. 制作tundra2 / scripts / tundra / tools / clang.lua的副本,并将其命名为clang-analyze.lua
  2. 在clang-analyze.lua中,用“ccc-analyzer”替换CC,CXX和LD命令,这是clang-analyzer虚拟编译器。

    env:set_many {
      ["CC"] = "ccc-analyzer",
      ["CXX"] = "ccc-analyzer",
      ["LD"] = "ccc-analyzer",
    }
    
  3. 将新的构建配置添加到使用clang-analyze工具链的项目中,如下所示:

    Configs = {
    {
        Name = "linux-analyze",
        SupportedHosts = "linux",
        Inherit = unix_common,
        Tools = { "clang-analyze" },
    },
    
  4. 确保您的PATH

  5. 可以访问ccc-analyzer
  6. 运行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`
    
  7. 从那里,您应该能够弄清楚如何将其集成到CI系统中。