unix 如果编译器的绝对路径在makefile中是硬编码的,我应该如何使用ccache?

zf9nrax1  于 2022-11-04  发布在  Unix
关注(0)|答案(2)|浏览(162)

对我来说,修改构建代码的makefile的复杂嵌套不是一个选项,在不同的地方,它们构造了到非常特定的编译器的绝对路径,例如/home/arm2gcc/gcc-arm-none-eabi-8-2018-q4-major/bin/arm-none-eabi-gcc
这使得ccache很难用作前缀或放在路径的第一位。
因此,我想知道将我个人计算机上的编译器安装移动到/home/arm2gcc-real,并在/home/arm2gcc中放置重定向到真实的编译器的假脚本。
有谁能提出建议吗?或者有更好的方法吗?

r7s23pms

r7s23pms1#

***免责声明:*我对Ccache和CMake的经验有限。

您是否可以尝试在根CMakeLists.txt文件中添加以下内容:

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

如果这样做不起作用,我想我们可能需要一些关于如何在CMakeLists.txt文件中准确设置编译器的更多信息。

xwmevbvl

xwmevbvl2#

我建议:

mv .../bin/arm-none-eabi-gcc .../bin/arm-none-eabi-gcc.real

然后,创建一个脚本,用以下内容替换.../bin/arm-none-eabi-gcc


# !/bin/sh

exec ccache ${0}.real "$@"

相关问题