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