如果编译器绝对路径在makefile中被硬编码,我应该如何使用ccache?
Posted
技术标签:
【中文标题】如果编译器绝对路径在makefile中被硬编码,我应该如何使用ccache?【英文标题】:How should I use ccache if the compiler absolute path is hard-coded in the makefile? 【发布时间】:2021-01-04 17:40:07 【问题描述】:修改构建我们代码的复杂的 makefile 嵌套对我来说不是一个选项,并且在不同的地方它们构建到非常特定的编译器的绝对路径,例如/home/arm2gcc/gcc-arm-none-eabi-8-2018-q4-major/bin/arm-none-eabi-gcc
这使得将 ccache 用作前缀或将其放在路径中的第一个位置变得困难。
所以我想知道将我个人机器上的编译器安装移动到例如/home/arm2gcc-real
并将虚假脚本放入 /home/arm2gcc
中,重定向到真正的编译器。
谁能建议如何做到这一点?还是有更好的办法?
【问题讨论】:
提交工单以清理构建系统。 我看过了,看起来挺大的!事实上,拥有一个可以工作的 ccache 将是在说服人们相信它有助于正确构建的道路上迈出的一步。 【参考方案1】:免责声明:我对 Ccache 和 CMake 的经验有限。
您可以尝试将其添加到根 CMakeLists.txt 文件中吗:
find_program(CCACHE ccache)
if(CCACHE)
set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE $CCACHE)
endif()
如果这不起作用,我想我们可能需要更多关于如何在 CMakeLists.txt 文件中准确设置编译器的信息。
【讨论】:
以上是关于如果编译器绝对路径在makefile中被硬编码,我应该如何使用ccache?的主要内容,如果未能解决你的问题,请参考以下文章