Смешивание C и сборочных исходников и сборка с помощью cmake
m использует eclipse для создания проекта avr-gcc, который смешивает код сборки и исходные файлы на языке C. Я хочу избавиться от автоматической генерации затмений в make-файлах, потому что мне нужно автоматизировать некоторые процессы в make-файлах и по другим причинам.
Я использовал 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} )
в файле Toolchain вы должны разместить:
SET(ASM_OPTIONS "-x assembler-with-cpp")
SET(CMAKE_ASM_FLAGS "${CFLAGS} ${ASM_OPTIONS}" )
вторая строка - просто если вам нужно передать дополнительные параметры при компиляции asm-файлов. Я хотел передать все CFLAGS плюс некоторые ASM_OPTIONS