scons vs. cmake vs. qmake vs. autotools - Wo liegen die Unterschiede und Vor- und Nachteile?
-
Und welche Praxiserfahrung habt ihr mit den jeweiligen Buildsystemen?
Was verwendet ihr auf der Arbeit, wenn Crossplattformentwicklung gefragt ist?
-
Dieser Thread wurde von Moderator/in nachtfeuer aus dem Forum Rund um die Programmierung in das Forum Compiler- und IDE-Forum verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Buildtools schrieb:
Und welche Praxiserfahrung habt ihr mit den jeweiligen Buildsystemen?
qmake sehe ich nur für Qt-Sachen, da quasi verpflichtend.
autotools sehe ich nur bei 3rd-party-libs und ärgere mich immer, weils nicht klappt.
Buildtools schrieb:
Was verwendet ihr auf der Arbeit, wenn Crossplattformentwicklung gefragt ist?
SCons, aber 3 Monate reingesteckt. Mit python in SCons rekursiv durch Verzeichnisse laufen und pro Verzeichnis eine Datei "SConsSettings" lesen, wodrin steht, was (exe/ oder dll/so) aus dem Verzeichnis werden soll, welche anderen Verzeichnisergebnisse dazugelinkt werden oder welche anderen Verzeichnisse ihre Quellen spenden sollen, Compiler- und Linkersettings, und jedes Verzeichnis erbt alle Einstellungen des Oberverzeichnisses.
Für die Hauseigene Software isses ideal.
Und fast alle 3rd-party-libs kopiere ich in den hauseigenen Baum und lasse sie mitsconsen, statt mich mit den autotools rumzuschlagen.
-
und wenn eine 3rd party library mit Makefile(s) kommt - ist ja im open source Bereich nicht selten?
Ist scons klug genug, um einen Ersatz für das Makefile selber aus den Quelldateien herstellen zu können? Wenn nicht: Worin liegt der Vorteil, selber scons-Files zu schreiben, wenn das/die Makefile(s) bereits mitgeliefert werden und nur aufgerufen zu werden bräuchten?
-
klassenmethode schrieb:
und wenn eine 3rd party library mit Makefile(s) kommt - ist ja im open source Bereich nicht selten?
Läuft aber eventuell nur auf aktuellen Distros. xercesc auf AS/400 oder 32Bit-Builds dafür auf 64Bit-Linux kannste knicken. Und dann 120k große (auto)makfiles anstarren und verzweifeln.
klassenmethode schrieb:
Ist scons klug genug, um einen Ersatz für das Makefile selber aus den Quelldateien herstellen zu können?
Es könnte alle Quelldateien dieses Verzeichnisses nehmen.
Ähnlich wie https://www.c-plusplus.net/forum/88418-full
Es kann von selber python und ist daher leichter zu scripten als gnumake.klassenmethode schrieb:
Wenn nicht: Worin liegt der Vorteil, selber scons-Files zu schreiben, wenn das/die Makefile(s) bereits mitgeliefert werden und nur aufgerufen zu werden bräuchten?
Eigentlich war eines der Haupt-Ziele, die Bibliotheksabhängigkeiten zu verfolgen und Zyklen korrekt aufzulösen.
-
Wir verwenden überall CMake.
-
theta schrieb:
Wir verwenden überall CMake.
Das interessiert nicht.
Was interessiert ist die Frage warum ihr CMake verwendet.
-
volkard schrieb:
Es könnte alle Quelldateien dieses Verzeichnisses nehmen.
Ähnlich wie https://www.c-plusplus.net/forum/88418-fullFunktioniert das auch unter Windows?
-
Hugfksdfgmer schrieb:
volkard schrieb:
Es könnte alle Quelldateien dieses Verzeichnisses nehmen.
Ähnlich wie https://www.c-plusplus.net/forum/88418-fullFunktioniert das auch unter Windows?
Ja, es wurde sogar ursprünglich unter Windows gebaut.
https://www.c-plusplus.net/forum/41468-2