qmake
qmake (ein Nachfolger von tmake[1]) ist ein Generator für Makefiles. Es ist Teil der Qt-Bibliothek der Firma Qt Development Frameworks. qmake erstellt ausgehend von einer Konfigurationsbeschreibung ein Makefile, mit dessen Hilfe man in der Lage ist, eine Sammlung von Quelltexten zu einem Programm oder einer Bibliothek zu übersetzen. Obwohl es speziell für die Arbeit mit Qt entwickelt worden ist, ist auch eine Verwendung für von Qt unabhängiger Software möglich.
Verwendung
Da Makefiles je nach Compiler und Plattform unterschiedlich aussehen, ist eine plattformübergreifende Entwicklung kaum möglich. Hier greift das Konzept von qmake. Es benötigt eine sehr einfach aufgebaute Projekt-Datei, die die Dateiendung .pro
besitzt. Auf allen von qmake unterstützten Plattformen ist nun eine Erzeugung eines Makefiles möglich, das auf dem jeweiligen System verwendet werden kann, wobei es auch mit Qt-spezifischen Erweiterungen umgehen kann.
Arbeitsweise
Eine Projekt-Datei für qmake umfasst zunächst eine Beschreibung, ob es sich bei dem aktuellen Projekt um ein Programm oder um eine Bibliothek handelt. Des Weiteren können unterschiedliche Konfigurationen angegeben werden. Dadurch ist qmake
in der Lage, ein Makefile zu erzeugen, das die benötigten Bibliotheken korrekt einbindet. Ebenso ist der Programmierer in der Lage, Debug- oder Release-Versionen seines Programms zu erzeugen.
Schließlich muss der Programmierer noch alle Quelltext-Dateien angeben, die zu seinem Programm gehören. Dabei ist eine Kategorisierung der Dateien nötig. Diese erfolgt, wie in C++ üblich, in Header- und Quelltext-Dateien. Zusätzlich ist auch die Angabe von Ressource-Dateien möglich, die Bilder, Dialogdefinitionen oder andere Daten enthalten, die zum Programm gehören. Neben dem Buildprozess kann in einer .pro-Datei auch noch die Installation beschrieben werden.
Im Ergebnis findet der Programmierer nach einem erfolgreichen Lauf von qmake ein Makefile vor, mit Hilfe dessen das gewünschte Programm erzeugt werden kann. Dabei werden sowohl sämtliche Abhängigkeiten beachtet, als auch weitere Regeln im Makefile definiert, mit denen die Ausgaben des Compilers wieder gelöscht werden können. Auch kann das Makefile Regeln zur Installation des erzeugten Programmes enthalten.
Es lassen sich auch Projektdateien für Microsoft-IDEs erstellen und unter macOS wird automatisch eine Projektdatei für Apples IDE Xcode anstatt der Makefiles generiert.
Beispiel
# beispiel.pro TEMPLATE = app HEADERS += mainwindow.h SOURCES += mainwindow.cpp main.cpp RESOURCES += mainwindow.qrc
Nach dem Ausführen des Befehles qmake beispiel.pro
existiert nun ein komplettes aber plattformspezifisches Makefile, welches sich mit make oder einem seiner Derivate ausführen lässt.
Siehe auch
Weblinks
- Offizielle Website von tmake (englisch)
- qmake Handbuch von Qt 5 (englisch)
Einzelnachweise
- Make alternatives (Memento des Originals vom 13. Mai 2008 im Internet Archive) Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis. Qmake had a predecessor, tmake, implemented in Perl