CMake + ccache:RULE_LAUNCH_COMPILE 或 CMAKE_<LANG>_COMPILER_LAUNCHER
Posted
技术标签:
【中文标题】CMake + ccache:RULE_LAUNCH_COMPILE 或 CMAKE_<LANG>_COMPILER_LAUNCHER【英文标题】:CMake + ccache: RULE_LAUNCH_COMPILE or CMAKE_<LANG>_COMPILER_LAUNCHER 【发布时间】:2020-10-29 13:29:03 【问题描述】:在 CMake 中使用 ccache 时,似乎有两种设置项目的方法。
第一个是RULE_LAUNCH_COMPILE
find_program(CCACHE "ccache")
if(CCACHE)
set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE "$CCACHE")
endif()
第二个是CMAKE_<LANG>_COMPILER_LAUNCHER
:
find_program(CCACHE "ccache")
if(CCACHE)
set(CMAKE_C_COMPILER_LAUNCHER $CCACHE)
set(CMAKE_CXX_COMPILER_LAUNCHER $CCACHE)
endif(CCACHE)
哪一个被认为是最佳实践? :)
感谢您的帮助。
【问题讨论】:
【参考方案1】:第一个将为构建中的所有语言使用启动器。第二个将为C
和CXX
使用相同的启动器,但不适用于其他语言。这两种方法略有不同,因为第二种方法允许针对不同语言使用不同的启动器。第二种方法允许更精细的控制并且可能是优选的。还有用于控制哪些项目使用启动器的环境变量和目录和目标属性。
https://crascit.com/2016/04/09/using-ccache-with-cmake/
【讨论】:
以上是关于CMake + ccache:RULE_LAUNCH_COMPILE 或 CMAKE_<LANG>_COMPILER_LAUNCHER的主要内容,如果未能解决你的问题,请参考以下文章
CMake + ccache:RULE_LAUNCH_COMPILE 或 CMAKE_<LANG>_COMPILER_LAUNCHER