Я собираю систему сборки для моего приложения Qt, используя файл qmake.pro, который использует шаблон "subdirs". Это отлично работает и позволяет мне указать порядок создания каждой цели, поэтому зависимости работают хорошо. Однако теперь я добавил инструмент для проекта, который генерирует номер версии (содержащий дату сборки, версию SVN и т.д.), Которая используется основным приложением - я могу сначала создать этот инструмент версии, но когда он будет построен, я хочу для его выполнения до создания каких-либо других целей (он генерирует заголовочный файл, содержащий номер версии, который включает основное приложение.)
Например, мой простой файл qmake выглядит примерно так:
TEMPLATE = subdirs
CONFIG += ordered
SUBDIRS = version \
lib \
tests \
mainapp
Когда "версия" построена, я хочу ее выполнить (передавая некоторые аргументы в командной строке) до того, как будет создан "lib".
Кто-нибудь знает, возможно ли это? Я вижу, что qmake имеет команду "system", которая может выполнять приложения, но я не знаю, как я мог бы использовать это.
Связанный с этим вопрос касается моих модульных тестов. Они живут в проекте "тест" и используют инфраструктуру QTest. Я хочу выполнить тесты exe перед созданием "mainapp", и если тесты не сработают (т.е. Тесты exe не возвращают ноль), я хочу выйти из процесса сборки.
Я понимаю, что qmake предназначен для создания make файлов, поэтому я, возможно, очень хочу здесь слишком многого, но если кто-нибудь может дать мне несколько указателей, это будет очень желанно.