2016-08-18 8 views
3

Überprüfen der CLion-Hilfe https://www.jetbrains.com/help/clion/2016.2/importing-existing-non-cmake-project.html Ich sehe, wie ein Nicht-CMake-Projekt in CLion importiert wird.Nicht-cmake-GitHub-Projekt in CLion importieren

Und ich bin auch in der Lage eine Make-Datei ein Projekt von GitHub https://www.jetbrains.com/help/clion/2016.2/cloning-a-repository-from-github.html

Das Projekt https://github.com/quickfix/quickfix verwendet ./bootstrap und ./configure Setup zu klonen.

Ich möchte dieses Makefile in mein CLion-Projekt importieren und daraus bauen und ausführen. Ist das möglich?

Antwort

3

Während es möglich ist, ein Projekt, das nicht CMake-basiert ist, in Ihr CLion-Projekt zu importieren, unterstützt CLion selbst nicht direkt Makefiles als Ausgangspunkt für ein Projekt. Ich weiß, dass dies von vielen Leuten gewollt wurde, und soweit ich weiß, planen die Schöpfer von CLion irgendwann, Unterstützung dafür zu integrieren.

In der Zwischenzeit gibt es jedoch keinen praktischen Weg, dies direkt zu tun. CMake ist ein Build-System-Konfigurator, in dem es erzeugt seine eigene Reihe von Makefiles, um alles zu erstellen, basierend auf den Dingen, die Sie in Ihre CMakeLists.txt-Datei schreiben.

Ihre beste Wette, wenn Sie die Quickfix-Bibliothek in einem Projekt von Ihnen verwenden möchten, ist die CMake process zum Erstellen einer externen Abhängigkeit lernen, und verknüpfen Sie es dann mit Ihrem Projekt. Ein guter Blogbeitrag zu so etwas findet sich unter here. Wenn Sie lediglich Änderungen an CLion aus Gründen der Bequemlichkeit vornehmen möchten, aber die ursprünglichen Build-Dateien beibehalten möchten, können Sie CLion dazu veranlassen, eine eigene kleine CMakeLists.txt-Datei zu generieren, um alles importieren und farbcodieren zu können Stellen Sie Ihre Debug-Konfiguration usw. so ein, dass sie auf die Binärdateien verweist, die durch Ausführen von make in der Befehlszeile generiert wurden.

Lange Rede, kurzer Sinn, es gibt keine einfache Möglichkeit, das zu tun, wovon Sie sprechen, aber je nach dem beabsichtigten Zweck gibt es ein paar alternative Wege zu einem ähnlichen Ende. Hoffe das hilft!