qmake: пользовательский шаг для каждого вызова - PullRequest
0 голосов
/ 26 апреля 2018

Я могу легко отредактировать Makefile, чтобы добавить пользовательский шаг.Например, у меня есть строка:

first: release

Если я изменю ее на

first: pre-build release

, тогда я смогу разместить некоторые операции после метки "pre-build:".

Вопрос в том, как написать соответствующую инструкцию в файл .pro, чтобы заставить qmake инструмент генерировать необходимые строки в Makefile?

1 Ответ

0 голосов
/ 30 апреля 2018

Вы можете добавить собственную цель к полученной Makefile, используя переменную QMAKE_EXTRA_TARGETS, например:

QMAKE_EXTRA_TARGETS += beforebuild
beforebuild.commands = echo Hello world!
beforebuild.CONFIG = phony

Однако, вы не можете поставить эту цель на first: all line, если вы не исправили исходный код qmake (рассмотрите следующий фрагмент из makefile.cpp: t << "first: " << targets.first()->target << endl).

В принципе, возможно вызвать некоторую зависимость между all (или release / debug) и ваша цель beforebuild, поэтому beforebuild все равно будет автоматически выполняться make, как описано в этой статье (русский язык).Тем не менее, полученное решение кажется мне слишком уродливым и подверженным ошибкам.

Я думаю, что просто выполнить make beforebuild first (возможно, с помощью сценария оболочки) намного проще.Если вы не используете Qt Creator, в этом случае вам следует попробовать рецепт по ссылке выше.

...