2010-09-22 1 views
2

Может ли qmake обрабатывать зависимости сгенерированных исходных файлов?qt дополнительные компиляторы 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 

но видимо depend_command is not actually executed.


Другой идеей было бы разобрать зависимости от исходного IDL:

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

, но кажется, что мой синтаксис QMAKE не удается мне.

ответ

1

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

idl_h.dependency_type = TYPE_C 

к вашему ЧПИ, и падение .depend_command и .depends