2012-09-06 76 views
1

是否有可能爲多個輸入運行一次的QMAKE_EXTRA_COMPILERS目標?我有一些遺留腳本一次生成所有文件。爲多個文件運行QMAKE_EXTRA_COMPILERS一次

說是這樣的:

FILE_LIST = __Test1.cpp __Test2.cpp __Test.h 

Extra.name = Extra Compilers Tests 
Extra.input = FILE_LIST 
Extra.output = ${QMAKE_FILE_IN} 
Extra.commands += <generate what is in FILE_LIST with a single command> 
Extra.CONFIG += no_link target_predeps ordered 
Extra.variable_out = GENERATED_SOURCES 

QMAKE_EXTRA_COMPILERS += Extra 

我可能重寫劇本,但它會很好,如果我能得到QMAKE_EXTRA_COMPILERS做的工作對我來說。

Oce

+1

我找到了一些我在用CONFIG選項「combine」找到的東西。 – Oceand

回答

1

我找到了我正在尋找與「結合」選項。

所以說我們有這樣的事情。

ExtraGen.name = Id Generator 
ExtraGen.input = GENINPUT 
ExtraGen.output = $$GENOUTPUT 
ExtraGen.clean_command = $$ExtraGen.output 
ExtraGen.commands = <Process> ${QMAKE_FILE_IN} 
ExtraGen.CONFIG = combine 
ExtraGen.variable_out = HEADERS 
#silent:ExtraGen.commands = @echo Processing ${QMAKE_FILE_IN} && $$ExtraGen.commands 
QMAKE_EXTRA_COMPILERS += ExtraGen 

因此,只要在ExtraGen之前定義了GENOUTPUT,此工作就會很好。這是一種痛苦,因爲我想在一個包含的pri文件中定義ExtraGen。

有沒有辦法解決這個問題,或者我是否已將自己置於角落?

Oce

+0

這本應該是個問題。儘管如此,也許試試'$ {QMAKE_VAR_GENOUTPUT}'。這是一個沒有記錄的功能,它使qmake在「運行時」擴展變量'GENOUTPUT'。但是,我不確定這是否適用於'.output'。 – Ignitor