Bru*_*nes 3 c embedded cmake 68hc12
我正在使用名为 HC12 的旧版 C 编译器编写固件。目前我使用 GNU Make 作为构建系统。我希望开始使用 CMake,但遇到了一个问题:编译器不支持某些标准 C 编译器语法,即“-o”标志。
我制作了一个自定义工具链文件并添加了所有 c 标志,但 CMake 似乎在生成的 GNU Makefile 中隐式添加了“-o”来编译源文件。
HC12 编译器允许我使用 -objn="name_of_file" 来指定输出文件名。
我的问题:有没有办法让 CMake 停止放置隐式“-o”,以便我可以使用这个编译器?
我知道该处理器有一个 GCC 端口,但目前无法选择更改编译器。
您可以将类似的文件作为Modules/Compiler/ti.cmake
参考,并为您的 HC12 编译器创建一个文件,并更改其中定义的这些宏:
# the input file options from TI, change to what your compiler needs
# They are used below in the command where ${lang} is either C, CXX or ASM
set(__COMPILER_HC12C_SOURCE_FLAG_C "--c_file")
set(__COMPILER_HC12C_SOURCE_FLAG_CXX "--cpp_file")
set(__COMPILER_HC12C_SOURCE_FLAG_ASM "--asm_file")
# add output file option
set(__COMPILER_HC12C_OUTPUT_FLAG_C "--objn")
macro(__compiler_HC12C lang)
# ...
set(CMAKE_${lang}_COMPILE_OBJECT "<CMAKE_${lang}_COMPILER> --compile_only ${__COMPILER_HC12C_SOURCE_FLAG_${lang}}=<SOURCE> <DEFINES> <INCLUDES> <FLAGS> ${__COMPILER_HC12C_OUTPUT_FLAG_${lang}}=<OBJECT>")
# --------------------------------------- ---------------------------------------
# ...
endmacro()
Run Code Online (Sandbox Code Playgroud)
希望这会有所帮助。
归档时间: |
|
查看次数: |
182 次 |
最近记录: |