Läuft ein Programm/Skript von QMake

Wir haben eine ziemlich große code-Basis. Die überwiegende Mehrheit der der code kompiliert wird mit qmake zum erzeugen der makefiles. Allerdings gibt es einige sub-Projekte, die hergestellt werden durch ausführen von batch-Dateien oder die Ausführung anderer Programme.

Ich würde gerne in der Lage sein, alles zu haben kompiliert mit qmake, aber ich kann nicht herausfinden, wie man qmake einfach ein Skript ausführen.

Eine Sache, die ich probiert habe ist mit QMAKE_EXTRA_TARGETS in meinem pro-Datei, etwa so:

TEMPLATE = lib
SOURCES = placeholder.cpp
CONFIG += no_link staticlib
batch_runner.target   = placeholder.cpp
batch_runner.commands = my_batch_file.bat
QMAKE_EXTRA_TARGETS   = batch_runner

Dann habe ich die batch-Datei erzeugen placeholder.cpp etwa so:

# do the real work here
# ...
# create placeholder.cpp so qmake and nmake are happy
echo //dummy >> placeholder.cpp

Dieser scheint gut zu funktionieren. Das Problem ist, dass es etwas abgedroschen. Wenn ich nicht angeben batch_runner.Ziel (d.h. ich leer lassen) oder nicht zu setzen placeholder.cpp in den QUELLEN dann die batch-Datei nie ausgeführt wird. Dies ist, weil qmake nicht batch_runner.Befehle die Aktion für alle anderen Abhängigkeiten im Makefile.

Gibt es einen besseren Weg, um QMake zu konstruieren, ein Makefile derart, dass ein Skript ausgeführt wird, wenn das Makefile ausgeführt?

InformationsquelleAutor der Frage Tom Hennen | 2010-08-31

Schreibe einen Kommentar