2016-03-07 1 views
2

Je veux construire mes ressources avec qmake comme suit [Qt 5.5]:Ajout cible personnalisée dans qmake

imageTarget.target = images.rcc 
imageTarget.depends = $$PWD/images.qrc 
imageTarget.commands = rcc -binary -no-compress $$PWD/images.qrc -o $$OUT_PWD/images.rcc 
QMAKE_EXTRA_TARGETS += imageTarget 

Quand je lance qmake pour mon fichier .pro, il génère la règle de faire pour cible cible images.rcc comme prévu :

images.rcc: /path/to/images.qrc 
rcc -binary -no-compress /path/to/images.qrc -o /output/path/to/images.rcc 

Jusqu'ici tout va bien.

Cependant, ce que je m'attendrais à ce que l'exécution qmake génère également le fichier de sortie images.rcc et ce n'est pas le cas. Mais quand je vais dans le répertoire makefile et que je tape la commande "make images.rcc", le images.rcc est généré. Ai-je manqué un point? Comment est-ce que je peux faire la cible dans l'étape de qmake sans besoin de faire supplémentaire?

Répondre

1

Avec

QMAKE_EXTRA_TARGETS += imageTarget 

vous suffit de définir une nouvelle cible - mais il ne se construit pas automatiquement lors de l'exécution make.

Essayez d'ajouter

PRE_TARGETDEPS += images.rcc 

Cela devrait créer automatiquement un nouveau images.rcc lors de l'exécution make si images.qrc a changé.

+0

Je ne peux pas obtenir cela pour travailler sur des builds avec des cibles iOS? – Larpon