C- und Assembler-Quellen mischen und mit cmake aufbauen

Ich verwende Eclipse zum Erstellen eines avr-gcc-Projekts, das Assemblycode und C-Quelldateien mischt. Ich möchte die automatische Makefile-Generierung von Eclipse loswerden, da ich einige Prozesse in die Makefiles und aus anderen Gründen automatisieren muss.

Ich habe cmake vor einiger Zeit verwendet und war damit zufrieden, also möchte ich versuchen, meine Quelldateien damit zu kompilieren. Alles läuft wie erwartet mit C-Quellen. Das Problem ist, dass ich am Ende einige Assembly-Dateien (eigentlich 2) kompilieren und sie zum Ziel hinzufügen muss.

Ich habe herumgegoogelt, aber ich habe keinen Weg gefunden, dies zu tun. hat jemand eine idee wie das geht?

Das Problem ist, dass ich in Eclipse -x Assembler-with-cpp habe

zur gcc argument liste hinzugefügt. Ich muss einen Weg finden, um diesen Parameter selektiv zur Standard-GCC-Argumentliste nur für die ASM-Dateien hinzuzufügen. Ich habe keinen Weg gefunden, dies zu tun.

danke im Voraus

LÖSUNG: Stellen Sie in CMakeLists.txt jede Datei ein, die in derselben Liste kompiliert werden soll

enable_language(C ASM)

set ( SOURCES 
    foo.c
    bar.c
    foobar.s
)

add_executable(program  ${SOURCES} ) 

In die Toolchain-Datei sollten Sie Folgendes einfügen:

SET(ASM_OPTIONS "-x assembler-with-cpp")
SET(CMAKE_ASM_FLAGS "${CFLAGS} ${ASM_OPTIONS}" )

Die zweite Zeile ist nur, wenn Sie beim Kompilieren von asm-Dateien zusätzliche Optionen übergeben müssen. Ich wollte alle CFLAGS plus einige ASM_OPTIONS übergeben

Antworten auf die Frage(2)

Ihre Antwort auf die Frage