是否可以使用ccache或类似方法加速clang-tidy?

时间:2018-12-03 16:07:09

标签: c++ c static-analysis clang-tidy ccache

自从在我们的CI服务器上使用ccache以来,我们发现构建时间方面的瓶颈现在是我们的静态分析阶段,它使用clang-tidy等工具。有人知道有一种clang-tidy可以加速ccache的方式,而普通的编译器却可以加速这种方式吗?

2 个答案:

答案 0 :(得分:0)

clang-tidy-cache,尽管我不知道它如何与ccache一起工作。

答案 1 :(得分:0)

我在这里找到了另一个重要的细节:

https://gitlab.kitware.com/cmake/cmake/-/merge_requests/1791/diffs

在这里使用:

https://reviews.bitcoinabc.org/D5150?id=15995

因此,为了在使用集成clang-tidy时能够缓存编译器的输出: 设置(CMAKE_CXX_CLANG_TIDY ...

您需要使用COMPILER_LAUNCHER方法配置ccache的方法

find_program(CCACHE ccache)
if(CCACHE)
    set(CMAKE_C_COMPILER_LAUNCHER ${CCACHE})
    set(CMAKE_CXX_COMPILER_LAUNCHER ${CCACHE})
endif(CCACHE)

而不是启动器规则方法:

find_program(CCACHE ccache)
if(CCACHE)
    set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE ${CCACHE})
    set_property(GLOBAL PROPERTY RULE_LAUNCH_LINK ${CCACHE})
endif(CCACHE)