首页 > 解决方案 > 用于自定义工具链的 CMake 工具链文件(-c 编译器选项不同含义)

问题描述

我尝试为 Tasking Aurix 编译器(ctc)创建 CMake 工具链文件,其中-c选项具有不同的含义:

-c --iso=<year>                    ISO C standard (90, 99) (default: 99)

是否可以省略-c目标文件配方的参数,或者可以为此类配方设置自定义模板?

目前我有丑陋的解决方法,所以在 CMake 之后我调用脚本来编辑生成的 makefile 并将选项更改-c-c 99但最好我希望能够直接从 CMake 生成有效的 makefile。

标签: cmakefilecmakeinfineon

解决方案


好的,我能够找到解决方案。CMAKE_<LANG>_COMPILE_OBJECT为了实现它,我必须通过设置变量来覆盖默认行为 ,所以在我的例子中是下面的行

set(target_compiler ${CMAKE_C_COMPILER})
set(CMAKE_C_FLAGS "-c 99")
set(CMAKE_C_COMPILE_OBJECT "${target_compiler} <INCLUDES> <FLAGS> -o <OBJECT> <SOURCE>")

解决了我的问题


推荐阅读