Misturando fontes C e assembly e construindo com cmake
Estou usando o eclipse para construir um projeto avr-gcc que mistura código assembly e arquivos fonte C. Eu quero me livrar da geração automática do makefile do eclipse porque eu preciso automatizar algum processo nos makefiles e por outras razões.
Eu usei cmake algumas vezes atrás e fiquei feliz com isso, então eu quero tentar compilar meus arquivos de origem usando-o. Tudo funciona como esperado com fontes C. O problema é que, no final, preciso compilar alguns arquivos de montagem (na verdade, 2) e adicioná-los ao destino.
Eu pesquisei por aí, mas não encontrei uma maneira de fazer isso. alguém tem uma ideia de como fazer isso?
O problema é que no eclipse eu tenho -x assembler-with-cpp
adicionado à lista de argumentos do gcc. Eu preciso encontrar uma maneira de adicionar seletivamente esse parâmetro à lista de argumentos padrão do gcc apenas para os arquivos asm. Não encontrei nenhuma maneira de fazer isso.
Agradeço antecipadamente
SOLUÇÃO: defina no CMakeLists.txt todos os arquivos para compilar na mesma lista
enable_language(C ASM)
set ( SOURCES
foo.c
bar.c
foobar.s
)
add_executable(program ${SOURCES} )
no arquivo Toolchain você deve colocar:
SET(ASM_OPTIONS "-x assembler-with-cpp")
SET(CMAKE_ASM_FLAGS "${CFLAGS} ${ASM_OPTIONS}" )
a segunda linha é apenas se você precisar passar opções extras ao compilar arquivos asm. Eu queria passar todos os CFLAGS mais alguns ASM_OPTIONS