2013-02-24 20 views
14

Ich versuche, eine Eclipse .project und .cproject aus einer vorhandenen cmake-Datei zu generieren. CmakeLists.txt set (CMAKE_ECLIPSE_VERSION = 4.2), die anscheinend nichts tun kann, da es eine lokale Variable ist, nicht die globale env-Variable, wenn ich richtig verstehe.cmake erkennt CMAKE_ECLIPSE_VERSION Einstellung nicht

Der Versuch, die Flagge auf der Kommandozeile wie folgt hinzuzufügen:

cmake -G"Eclipse CDT4 - Unix Makefiles" -DCMAKE_ECLIPSE_VERSION=4.2 . 

Erzeugt die folgende Warnung. Wie kann man die Eclipse-Version kennenlernen?

- Konnte die Eclipse-Version nicht bestimmen, unter der Annahme von mindestens 3,6 (Helios). Passen Sie CMAKE_ECLIPSE_VERSION an, wenn dies falsch ist.

Ich habe die .project-Datei überprüft und es scheint mit cdt 4 zu verwenden. Ziemlich alt.

kesten

+0

Ich habe genau das gleiche Problem. Es wäre wirklich cool, wenn es eine Lösung für dieses Problem gäbe. – Daniel

+3

Ein Workaround, den ich gefunden habe, stellt sicher, dass Eclipse in Ihrem PATH ist, damit CMake es finden kann. Dann müssen Sie die Eclipse-Version nicht manuell angeben. – Daniel

+0

Würde es Ihnen etwas ausmachen, meine Antwort als akzeptiert zu markieren? Es ist klarer, dass es funktioniert, falls andere die Frage lesen :) –

Antwort

20

hatte ich das gleiche Problem und nachdem ich bemerkte CMake den Code suchen, dass die tatsächliche Variable verwendet, um die Eclipse-Version zu erhalten, ist benannt _ECLIPSE_VERSION (beginnend mit Unterstrich) und nicht CMAKE_ECLIPSE_VERSION. So sieht der Code aus:

cmake -G"Eclipse CDT4 - Unix Makefiles" -D_ECLIPSE_VERSION=4.2 . 

Das hat bei mir funktioniert!

BEARBEITEN: Ältere Versionen von CMake erkennen Eclipse 4.2 nicht (das CDT 8.1 verwendet) erkennt aber 3.7 (das CDT 8.0 verwendet) Ich habe -D_ECLIPSE_VERSION = 3.7 verwendet und Juno hat die Projektkonfiguration gut aufgenommen (zuvor hatte ich ungelöste Inklusionen aufgrund der Inkompatibilität der CDT4-Dateien, die standardmäßig generiert wurden). Wie von m3tikn0b gezeigt, erkennen neuere Versionen von CMake bis Eclipse Kepler 4.3.

+3

die cmake Version, die ich mit heute getestet (2.8.12.1) unterstützt -D_ECLIPSE_VERSION = 4.2 und erkennt sie als "Juno" – m3tikn0b

+0

Oder in den CMakeLists.txt 'set (_ECLIPSE_VERSION "4.4")' – gerardw

1

das gleiche Problem hier. Nach Suche fand ich die folgende Lösung:

zuvor versucht:

cmake -G"Eclipse CDT4 - Unix Makefiles" -D_ECLIPSE_VERSION=4.2 ../src 

und es funktioniert nicht. Dann habe ich versucht:

cmake -G"Eclipse CDT4 - Unix Makefiles" -DCMAKE_ECLIPSE_VERSION=4.2 ../src 

Das funktionierte für mich .. Ich hoffe, es hilft.