我使用eclipse构建混合汇编代码和C源代码文件的avr-gcc项目。 我想摆脱eclipse的自动生成文件生成,因为我需要将一些进程自动化到makefile以及其他原因。混合使用C和汇编源代码并使用cmake构建
我前几次使用cmake,我很高兴,所以我想尝试使用它编译我的源文件。一切按照预期与C源一起运行。问题是,最后我需要编译一些汇编文件(实际上是2)并将它们添加到目标中。
我搜索了一下,但我没有找到一个方法来做到这一点。 有人有关于如何做到这一点的想法?
的问题是,在月食我 -x汇编程序与-CPP
加入到GCC参数列表。我需要找到一种方法来选择性地将此参数添加到标准gcc参数列表中,仅用于asm文件。我没有找到任何方式来做到这一点。
预先感谢您
解决方案:在的CMakeLists.txt 集合中的每个文件,在工具链文件的同一列表
enable_language(C ASM)
set (SOURCES
foo.c
bar.c
foobar.s
)
add_executable(program ${SOURCES})
编译,你应该把:
SET(ASM_OPTIONS "-x assembler-with-cpp")
SET(CMAKE_ASM_FLAGS "${CFLAGS} ${ASM_OPTIONS}")
第二行就是如果你需要在编译asm文件时传递额外的选项。我想要通过所有的CFLAGS加上一些ASM_OPTIONS
你能描述更准确编译汇编源代码时出现了什么问题? – 2013-02-28 10:57:41
我编辑了我的帖子。请看看它的新细节。我希望他们明白什么是问题。再次感谢你 – andyinno 2013-02-28 13:30:11
我不明白。你不想使用Eclipse生成的makefile,并抱怨Eclipse的Makefile文件写入? – vonbrand 2013-02-28 20:14:11