在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)
哪一个被认为是最佳实践? :)
谢谢你的帮助。

最佳答案

第一个将使用启动器生成构建中的所有语言。第二个将对CCXX使用相同的启动器,但对其他语言不使用。两种方法略有不同,因为第二种方法允许使用不同语言的不同启动器。第二种方法可以进行更精细的控制,因此可能是首选方法。还有用于控制哪些项目使用启动器的环境变量以及目录和目标属性。
https://crascit.com/2016/04/09/using-ccache-with-cmake/

关于c++ - CMake + CCache:RULE_LAUNCH_COMPILE或CMAKE_ <LANG> _COMPILER_LAUNCHER,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/64592095/

10-10 14:01