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-full

    Funktioniert 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-full

    Funktioniert das auch unter Windows?

    Ja, es wurde sogar ursprünglich unter Windows gebaut.
    https://www.c-plusplus.net/forum/41468-2


Log in to reply