2015-11-10 7 views
7

Dies scheint wirklich grundlegend. Wie kann ich Dateien zu einem Projekt hinzufügen, ohne die CMakeLists.txt manuell bearbeiten zu müssen.Clion, wie Dateien zu einem Projekt hinzugefügt werden

Zum Beispiel Quelldateien in einem anderen Verzeichnis

+0

CMake ist ein Build-System und kein Projektmanagement. Wenn Sie nur eine Kopfzeile hinzufügen möchten, müssen Sie nichts tun. Bitte präzisieren Sie Ihre Frage. – usr1234567

+1

Ja, die Frage bezieht sich auf Einschränkungen mit clion nicht mit cmake –

Antwort

2

CLION analysiert die CMakeLists.txt und verwendet es eine Projektansicht zu generieren, aber ich glaube, der einzige Weg, um Dateien zum Projekt hinzuzufügen, ist die CMakeLists.txt enthält diese Dateien zu bearbeiten. Ich erwarte, dass sich dies in etwa ändern wird, wie IntelliJ mit einer pom.xml-Datei in einem Java-Projekt integriert wird, aber für den Moment bearbeiten Sie die CMakeLists.txt.

+1

+1 Du willst wirklich nicht, dass clion deine 'CMakeLists.txt' editiert. Sie können 'file (GLOB ...)' und 'file (GLOB_RECURSE ...)' suchen, um automatisch neu hinzugefügte Quellen zu finden. Aber du musst CMake zwingen, erneut ausgeführt zu werden, damit sie hinzugefügt werden können. – kmac

+0

@kmac Ich bin kein Fan des 'GLOB'-Ansatzes, insbesondere wenn Sie plattformspezifische Quellen haben und diese konditional zum Projekt hinzufügen möchten. Für einfache Projekte ist es in Ordnung, aber ich ziehe es vor, die Dateien explizit hinzuzufügen. – legalize

+0

Ja, das ist ein heiß diskutiertes Thema. Ich denke, dass es ein sehr nützliches Werkzeug ist, obwohl es nicht immer angemessen ist. Selbst wenn in komplexen Projekten Komponenten in kleinere Bibliotheken (oder sogar Quell-Unterordner) unterteilt werden, kann GLOB immer noch gut funktionieren, wenn es sinnvoll eingesetzt wird. Wir arbeiten so glücklich an einem Projekt mit 400.000 Zeilen Code - keine Reue :). – kmac

0

Keine andere Option. Sie müssen die CMakeLists.txt bearbeiten. CLion ist komplett CMake-basierte IDE. Auch wenn Sie externe Bibliotheken verknüpfen müssen, müssen Sie die oben genannte Datei bearbeiten. Es funktioniert nicht wie in GUI-basierten Code-Blöcken zum Beispiel.