qmake управляет для сгенерированного кода

Я понял, что мой более ранний вопрос был немного перепутан правилами и зависимостями. Следующий .pro файл генерирует make-файл, который работает правильно, ЕСЛИ исходные файлы в 'сгенерированном' каталоге существуют в то время qmake выполнения.

idl.target   = generated/qmtest.h
idl.commands = code_generator 
idl.config   = no_link
idl.depends  = $$SOURCES $$HEADERS $$FORMS

TEMPLATE       = app
INCLUDEPATH    += generated
SOURCES        += generated/*.cpp
PRE_TARGETDEPS += generated/qmtest.h
QMAKE_EXTRA_UNIX_TARGETS += idl

Но когда qmake работает, его единственная генерация make-файла, и PRE_TARGETDEPS и QMAKE_EXTRA_UNIX_TARGETS не помогают мне. Как я могу заставить qmake генерировать make-файл, который добавит содержание сгенерированного / к ИСТОЧНИКАМ?

8
задан swarfrat 5 January 2010 в 15:44
поделиться

1 ответ

[

] Это может понадобиться за два прохода.[

] [

]В ваш файл qmake добавьте следующую строку:[

] [
include( generated/generated.pri )
] [

]Затем, в конце скрипта code_generator, добавьте исходники в файл generated.pri (используя для примера bash, но идея одинакова почти для всех языков):[

] [
rm generated/generated.pri
for file in $( ls generated/*.cpp ); do
    echo "SOURCES += ${file}" >> generated/generated.pri
done
] [

]При первом запуске файла qmake, генерируемый/сгенерируемый.pri предположительно будет пустым. Когда вы запускаете make, он заполнит файл generated.pri. Во второй раз он заново создаст make файл (как изменённый исходный .pri файл), а затем скомпилирует его заново. Возможно, вы сможете выполнять другие команды, которые сделают второй этап за вас.[

].
5
ответ дан 5 December 2019 в 19:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: