自定义工具链的CMake工具链文件(-c编译器选项不同含义)

CMake toolchain file for custom toolchain (-c compiler option different meaning)

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

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

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

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

好的,我找到了解决方案。为了实现它,我必须通过设置 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>")

解决了我的问题