qt qmake дополнительные компиляторы с зависимостями между сгенерированными файлами - PullRequest
2 голосов
/ 23 сентября 2010

Может ли qmake обрабатывать зависимости сгенерированных исходных файлов?

У нас есть такой файл prf:

idl_h.name = Generate .H file for ${QMAKE_FILE_BASE}.idl
idl_h.input = IDLS  # variable containing our input files
idl_h.variable_out = HEADERS
idl_h.commands = <command that takes .idl and genrates .h>
idl_h.output = $$IDL_GEN_DIR/${QMAKE_FILE_BASE}.h
QMAKE_EXTRA_COMPILERS += idl_h

Это поколение работает отлично и создает файлы .h во время создания.Проблема в том, что входные файлы ($$IDLS) зависят друг от друга и не всегда создаются в правильном порядке.У нас есть что-то вроде app.idl, содержащее:

#include "common.idl"

Кажется, что следующее должно работать

idl_h.depend_command = g++ -EE ... $$IDL_GEN_DIR/${QMAKE_FILE_BASE}.h

, но, очевидно, зависимость_команда на самом деле не выполняется .


Другая идея состояла бы в том, чтобы разобрать зависимости от исходного idl:

idl_h.depends = $$system(cat ${QMAKE_FILE_IN} | grep "^#include" | sed -re 's/#include\s+["<]([^.]+)\.idl[">]/\1.h/')

, но, похоже, мой синтаксис qmake мне не удался.

1 Ответ

1 голос
/ 29 сентября 2010

Попробуйте добавить

idl_h.dependency_type = TYPE_C

к вашему prf и сбросьте .depend_command и .depends

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...