c - 用于自定义工具链的 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。
解决方案
好的,我能够找到解决方案。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>")
解决了我的问题
推荐阅读
- python - ElementTree 写法
- survey - 如何在 Confirmit 工具中应用跳过逻辑来跳过问题?
- database - 为什么我的经典 ASP 代码插入重复记录(即两条记录而不是一条)?
- c++ - C++ 中的实际构建日期
- wordpress - 建议:wordpress中需要一个轮播滑块[图片来自api]
- python - 如何编写一个预提交挂钩来检查是否修改了带有版本号的 txt 文件
- c# - 如何初始化一次基类属性而不是从所有派生类传递它?
- vue.js - 渲染子组件以在 vue-test-utils 中获取其 html
- swift - 如何在框架内使用 Alamofire?
- qt - Qt Installer Framework - 如何在卸载时仅删除某些文件和文件夹