Mit verschiedenen Build-Verzeichnisse und QMake arbeiten

Alles rund um die Programmierung mit Qt
Antworten
blueSpirit
Beiträge: 10
Registriert: 16. Juli 2008 09:35

Mit verschiedenen Build-Verzeichnisse und QMake arbeiten

Beitrag von blueSpirit »

Hallo,

ich hab bisher bei grösseren Projekten nur mit den Autotools gearbeitet
und habe folgendes Vorgehen kennengelernt und finde es sehr praktisch:

Es gibt einen "source-tree" - also ein Verzeichnis mit dem Quellcode,
welches auch das "configure"-Skript enthält. Dazu parallel gibt es
verschiedene Build-Verzeichnisse, in welchen das "../src_tree/configure"
mit unterschiedlichen Parametern aufgerufen wird.

Anwendungsfall:
Wir stellen Handgeräte her, welche auf ARM laufen. Also hätte ich jeweils
einen Build-Ordner fuer
  • * ARM -O2
    * ARM -O0 -g
    * x86 -O02 (XServer)
    * x86 -O0 -g (XServer)
    * x86 -O2 (Framebuffer)
Ein Entwicklungsschritt zB. beim Bugfixen sieht so aus, dass ich zuerst
den Bug in x86 behebe, und anschließend auch auf ARM testen muss.

Mit QMake muss ich aber mindestens das komplette Makefile neu erstellen,
weil ich bisher nichts gefunden habe, wie ich einen "build outside the
source tree" durchführen könnte.

Habt ihr einen Tipp für mich?

Vielen Dank,
Charly

PS: Ich könnte jetzt zusätzlich zu den nach Architektur getrennten
OBJ-Verzeichnissen auch noch verschiedene Makefiles anlegen
(make -f Makefile.arm-debug) aber das finde ich irgendwie hässlich.
Alternativ könnten wir von QMake ganz weggehen und CMake
einsetzen...
CaptnChaos
Beiträge: 605
Registriert: 28. Juni 2007 15:01
Kontaktdaten:

Beitrag von CaptnChaos »

du kannst auch subdirs definieren.
Oder du behältst deine Ordnerstruktur bei, erstellst in jedem deiner "build" Ordern eine pro Datei und gibst bei DEPENDPATH das Quellenverzeichniss ein.
blueSpirit
Beiträge: 10
Registriert: 16. Juli 2008 09:35

Beitrag von blueSpirit »

Vielen Dank, ich werde es ausprobieren.
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Mit QMake muss ich aber mindestens das komplette Makefile neu erstellen,weil ich bisher nichts gefunden habe, wie ich einen "build outside the source tree" durchführen könnte.
Das verstehe ich gerade nicht - Du hast 5 verschiedene Build-Verzeichnisse (was ich auch machen würde) und was hast Du dann für ein Problem?
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Antworten