make vs cmake vs scons oder wie man eine C++ Applikation baut?



  • Hallo ihr!
    Ich wollte nur wissen wie sie C++ Projekte bauen, compilieren etc.? Benutzt ihr make? Oder cmake? Ich hab mir eine universelle Makefile gebastelt, aber jemand hat mir gesagt, dass es zu altmodisch ist rein make zu benutzen. Man sollte besser cmake oder scons dazu verwenden.
    Jetzt versuchte ich cmake auszuprobieren, leider fällt mir das schwierig ein. Ist es immer so?



  • Ich nutze in der Regel angepasste Varianten der ultimativen Makefile. Die Versuche mit CMake und SCons habe ich nach einiger Zeit aufgegeben. Bei SCons weiß ich nicht mehr genau, was gestört hat. Bei CMake war es nach einem Upgrade von einer Minor-Rev zur anderen auf einmal nicht mehr möglich statische Libraries zu bauen. Da fehlte einem irgend wie die Kontrolle, die man von Make kennt.

    Aber wenn ich Software verteilen würde, dann würde ich wohl ein autotools Buildsystem drüberstülben. Autoconf finde ich sogar noch akzeptabel. Aber mit Automake kam ich nie wirklich klar und das war eher ein C&P von anderen Projekten :).

    Wenn du dich darum nicht kümmern willst, dann kannst du aber auch eine IDE - wie KDevelop - nehmen, die Makefiles etc. selbst verwaltet.



  • Ich benutz eigentlich immer SCons. Ich hab mir dafür auch sowas in der Art der „ultimativen Makefile“ gebastelt, was ich einfach in das Verzeichnis werfe, ein paar Pfade anpasse und gut is.



  • wenn deine programme nicht auf plattformunabhängigkeit getrimmt sind, reicht ein normales make mit guter dokumentation vollkommen aus, denke ich.



  • ich hab meine eigene Makefile Schablone, die ich benuntze, ähnlich zu der ultimativen Makefile. Bei "ernsten" Projekten verwende ich (auschließlich) das autotools Buildsystem, denn die Tools sparen einem sehr viel Zeit bei der Erstellung von plattform übergreifenden configure Skripten und Makefiles. Am Anfang sehen sie recht kompliziert aus, die Makefile.am unverständlich, aber mit ein bisschen Übung kann man auch komplexere Sachen damit bauen.

    An meiner Firma wird auch cmake verwendet, ich habe allerdings cmake selber nie benutzt also kann ich keinen Vergleich zwischen autotools und cmake stellen.


Anmelden zum Antworten