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