Ich suche eine IDE für Linux.
Zunächst mal die Eckdaten des Projekts:
- Sprache C/C++
- Bindings zu Python
- 389 Dateien in 111 Ordnern.
- Benötigt den Aufruf externer Tools zur Compilezeit.
- Odnerstruktur nicht veränderbar (!)
- Erzeugt 1 Executable
- Erzeugt 4 static libs
- Erzeugt 12 (oder mehr) dynamic libaries
- Erstellt unter Windows VC8
- Verwendet als externe Bibliotheken u.a. libxml, xerces, flex, bison, boost, stl, etc.
- IDE sollte Plugin-Fähig sein
- IDE sollte SVN Support haben
- Verwendet Doxygen
- Es MUSS einstellbar sein wo temporäre files während der Kompilierung abgelegt weden
- Es MUSS einstellbar sein wo die vertigt verlinkten Programme abgelegt werden
- Gute Debugging-Möglichkeiten
Die Portierung der ext. Bibs macht kein Problem. Da auch der Systemabhängige Code des Projekts in einer dynlib liegt muss quasi nur diese portiert werden. Daran arbeite ich bereits und das ist so gut wie abgeschlossen.
Ok KDevelop lässt nicht mal zu, dass ich meine Ordnerstruktur übernehme. Gibt es überhaupt eine IDE die Ansatzweise mit den oben genannten Anforderungen zurechtkommt?
Wenn jetzt der Ratschlag kommt 'make' zu verwenden (ich weiss nicht ob ich mich gleich erschiessen soll><) gleich noch eine Frage.
Ich habe ein bisschen mit automake und autoconf rumgespielt. Kann es sein dass diese Tools nicht direkt das Problem der vielen Quellen vereinfachen sondern im Endeffekt am Ende den gleichen Aufwand verursachen?
Die Ordnerstruktur des Projekts sieht ungefähr so aus:
bin/release <- fertige releaseversion kommt da rein
bin/debug <- fertige debugversion kommt da rein
data/ <- diverse daten die das programm lädt, dtd, xml etc.
lib/release <- releaseversion von erzeugten statischen bibliotheken
lib/debug <- debugversion von erzeugten statischen bibliotheken
scripts/[OS]/[IDE]/[SUBROJEKT 1] <- "make" files diverser ide's für unterprojekt 1
.
.
.
scripts/[OS]/[IDE]/[SUBPROJEKT N] <- "make" files diverser ide's für unterprojekt N
include/[subprojekt 1] <- header files für unterprojekt 1
.
.
.
include/[subprojekt N] <- header files diverser für unterprojekt N
src/[subprojekt 1] <- src files diverser für unterprojekt 1
.
.
.
src/[subprojekt N] <- src files diverser für unterprojekt N
doc/ <- erzeugte dokumentatoin
obj/debug <- temporäre (obj files) die bei der Debug-Kompilierung anfallen
obj/release <- temporäre (obj files) die bei der release-Kompilierung anfallen.
Thx
Zunächst mal die Eckdaten des Projekts:
- Sprache C/C++
- Bindings zu Python
- 389 Dateien in 111 Ordnern.
- Benötigt den Aufruf externer Tools zur Compilezeit.
- Odnerstruktur nicht veränderbar (!)
- Erzeugt 1 Executable
- Erzeugt 4 static libs
- Erzeugt 12 (oder mehr) dynamic libaries
- Erstellt unter Windows VC8
- Verwendet als externe Bibliotheken u.a. libxml, xerces, flex, bison, boost, stl, etc.
- IDE sollte Plugin-Fähig sein
- IDE sollte SVN Support haben
- Verwendet Doxygen
- Es MUSS einstellbar sein wo temporäre files während der Kompilierung abgelegt weden
- Es MUSS einstellbar sein wo die vertigt verlinkten Programme abgelegt werden
- Gute Debugging-Möglichkeiten
Die Portierung der ext. Bibs macht kein Problem. Da auch der Systemabhängige Code des Projekts in einer dynlib liegt muss quasi nur diese portiert werden. Daran arbeite ich bereits und das ist so gut wie abgeschlossen.
Ok KDevelop lässt nicht mal zu, dass ich meine Ordnerstruktur übernehme. Gibt es überhaupt eine IDE die Ansatzweise mit den oben genannten Anforderungen zurechtkommt?
Wenn jetzt der Ratschlag kommt 'make' zu verwenden (ich weiss nicht ob ich mich gleich erschiessen soll><) gleich noch eine Frage.
Ich habe ein bisschen mit automake und autoconf rumgespielt. Kann es sein dass diese Tools nicht direkt das Problem der vielen Quellen vereinfachen sondern im Endeffekt am Ende den gleichen Aufwand verursachen?
Die Ordnerstruktur des Projekts sieht ungefähr so aus:
bin/release <- fertige releaseversion kommt da rein
bin/debug <- fertige debugversion kommt da rein
data/ <- diverse daten die das programm lädt, dtd, xml etc.
lib/release <- releaseversion von erzeugten statischen bibliotheken
lib/debug <- debugversion von erzeugten statischen bibliotheken
scripts/[OS]/[IDE]/[SUBROJEKT 1] <- "make" files diverser ide's für unterprojekt 1
.
.
.
scripts/[OS]/[IDE]/[SUBPROJEKT N] <- "make" files diverser ide's für unterprojekt N
include/[subprojekt 1] <- header files für unterprojekt 1
.
.
.
include/[subprojekt N] <- header files diverser für unterprojekt N
src/[subprojekt 1] <- src files diverser für unterprojekt 1
.
.
.
src/[subprojekt N] <- src files diverser für unterprojekt N
doc/ <- erzeugte dokumentatoin
obj/debug <- temporäre (obj files) die bei der Debug-Kompilierung anfallen
obj/release <- temporäre (obj files) die bei der release-Kompilierung anfallen.
Thx