cmake? qmake? oder anderes?
-
Hallo liebes Forum.
Ich habe ein Prokekt angefangen, welches aktuell noch über einfache Makefiles erstellt wird. Um mir die Projektpflege ein wenig zu erleichtern, habe ich vor mir ein alternatives Buildsystem anzusehen. Gearbeitet habe ich bisher nur mit normalen Makefiles, bzw. die Arbeit von der IDE übernehmen lassen, da ich bisher auch nicht platformunabhängig entwickelt habe.
Ich hab zwar keine Scheu, etwas neues zu lernen, allerdings möchte ich mir doch die Mühe ersparen, mich zuerst in verschiedene Systeme einzuarbeiten, bevor ich entscheiden kann, welches sich am ehesten lohnt. Daher hoffe ich, daß mir vielleicht hier jemand einen Hinweis geben kann, ob sich cmake oder qmake oder gar ein anderes am ehesten lohnt, oder ob das im Endeffekt egal ist.
Auf meiner Wunschliste steht folgendes:
- Das Projekt besteht aus einem executable und mehreren Libs, die alle gebaut werden müssen (die Libs können dabei auch ihre eigenen Build-Skripte haben, die sollten nur auch irgendwie gestartet werden können, wenn der Build fürs Hauptprojekt startet)
- möglichst wenig Konfigurationsaufwand. Z.B. möchte ich einfach einstellen: Baue alle .cpp und .c Dateien unter src/, anstatt selbst alle Files auflisten zu müssen.
- Build unter Linux (muss)
- Build unter Windows via Cygwin oder MinGW (muss)
- Unterstützung für VisualStudio (nett, aber kein muss)
- Unterstützung für iOS Builds wäre nett (cmake hat scheinbar zumindest eine unterstützung für XCode, ich habe allerdings noch nicht nachgelesen ob man damit auch für einen iOS-Build konfigurieren kann)
- Build per Commandline ohne IDE ist ein muss.
Vielen Dank schon einmal
-
CMake scheint deine Anforderungen zu erfüllen (nur bei iOS weiß ich es nicht). Ich selbst benutze seit einigen Jahren CMake. Es funktioniert eigentlich ganz gut, aber leider sind viele Sachen an CMake sehr hässlich. Die Skriptsprache ist irgend was selbst gewurschteltes womit man eigentlich nicht arbeiten will. Aber da CMake weit verbreitet ist, findet man sehr viele Beispiele und Lösungen einfach mit Google.
Es gibt wohl ein Tool das ähnlich zu CMake ist und auf Lua basiert. premake heißt das glaube ich. Aber das war früher zu sehr auf Windows zugeschnitten und hatte nichtmal einen richtigen configure Schritt. Da kann man ja sonst gleich wieder eigene Makefiles schreiben. Ansonsten habe ich früher mal waf benutzt. Das ist ein in Python geschriebenes Tool. Im Gegensatz zu CMake generiert es jedoch keine Projektdateien, sondern ist ein kompletter Ersatz für Make und co.
-
Danke schonmal für die Info. Ich denke auch, daß cmake meine Anforderungen erfüllen dürfte (ich lass mich mal überraschen was iOS angeht - da rechne ich sowieso mit ausreichend Schmerz :))
Kennst du vielleicht noch ein öffentliches Projekt, bei dem man sich ein paar CMake-Skripte ansehen kann? Mit der Doku und einem Tutorial bin ich schon recht weit gekommen, würde mir aber gern noch ein paar Beispiele aus echten Projekten ansehen.
-
Ich habe CMake noch nicht fuer iOS verwendet, aber moeglich duerfte das prinzipiell schon sein: http://code.google.com/p/ios-cmake/wiki/HowTo