/ / CMake for Code :: Blocks - wie man KEINE Makefile erhält - cmake, mingw, codeblocks, cortex-m3

CMake für Code :: Blocks - wie man ein Makefile nicht bekommen - CMake, Mingw, Codeblocks, Cortex-m3

Hier ist mein Setup: Windows 7 x64, MingW, Msys, CMake, Freescale-Kinetis-SDK, Code :: Blocks

Ich versuche, die von CMake festgelegten Projekteinstellungen in ein ordnungsgemäßes Code :: Blocks-Projekt zu übernehmen build_debug.bat Datei mit -G "CodeBlocks - Unix Makefiles", es produziert tatsächlich eine .cbp Datei sowie die normale Makefile (und es baut das Projekt auf). Jedoch wenn ich das öffne .cbp Datei in Code :: Blocks zeigt im Grunde nur auf die Makefileund das Projekt läuft gerade make auf der Makefile.

Wenn ich die Auswahl "Dies ist ein benutzerdefiniertes Makefile" von aufholeProjektoptionen und fügen eine Quelldatei wie eine normale IDE zum Projektbaum hinzu. Sie wird nicht korrekt erstellt, dh die Include-Dateien, Bibliotheken, Linkerzeugnisse, Kompilierungsoptionen usw. werden nicht in das Projekt selbst importiert Anscheinend ist das Projekt im Grunde nur ein Halter für das Makefile, daher hat dies als IDE keinen großen Nutzen.

Natürlich, wenn ich die Quelldatei dem Original hinzufüge CMakeLists.txt Das ist Teil der Distribution, und führen Sie cmake erneut aus (über die Datei build_debug.bat). Dann funktioniert es einwandfrei.

Gibt es eine Möglichkeit, eine "echte" IDE zu bekommen?Konfiguration aus CMake? Ich denke, die Antwort ist Nein, da eine "echte" IDE-Konfiguration eine statische Sache ist und ein Makefile ein allgemeines (Turing-Komplett) -Programm ist. Daher gibt es im Allgemeinen keine Möglichkeit, dies automatisch zu erstellen, obwohl ich dies für 99 vermute % der Fälle, in denen Sie lediglich Include-Verzeichnisse, lib-Dateien und Compiler-Optionen angeben, sind also nicht unbedingt allgemein programmierbar.

Ich kann wahrscheinlich versuchen, herauszufinden, wo das tief liegtverdeckte gcc-Aufrufe erhalten ihre Include-Dateien, welche Bibliotheken eingebunden sind und welche Kompilierungsoptionen verwendet werden, und fügen all das Zeug manuell in ein systemeigenes Code :: Blocks-Projekt hinzu, aber dies scheint den Zweck zu vernachlässigen für mich von den Paketanbietern bereits erledigt und wird sehr mühsam, wenn für eine andere CPU oder ein Entwicklungsboard gebaut wird.

Vielen Dank

Antworten:

0 für die Antwort № 1
  1. "Echte Konfiguration" ist ein CMakeLists.txt, und du brauchen zum Ändern von CMakeLists beim Bearbeiten der Projektkonfiguration. Sowohl die von CMake erzeugten Makefiles als auch die IDE-Einstellungen sind temporär und sollten nicht bearbeitet werden.

  2. Einige IDEs können die Projektkonfiguration direkt im verwalten CMakeLists.txt