我正在为add_custom_command而苦苦挣扎。让我详细解释一下问题。
我有一组cxx文件和hxx文件。我对每个文件都运行一个perl脚本,以生成某种类型的翻译文件。命令看起来像这样
perl trans.pl source.cxx -o source_cxx_tro
对于header.hxx文件也是如此。
因此,我最终会得到一些多个命令(每个命令对应一个文件)。
然后我对这些命令生成的输出(source_cxx_tro、header_hxx_tro)再运行另一个Perl脚本。
perl combine.pl source_cxx_tro header_hxx_tro -o dir.trx
dir.trx是输出文件。
我有类似这样的东西。
Loop_Over_All_Files()
Add_Custom_Command (OUTPUT ${trofile} COMMAND perl trans.pl ${file} -o ${file_tro})
List (APPEND trofiles ${file_tro})
End_Loop()
Add_Custom_Command (TARGET LibraryTarget POST_BUILD COMMAND perl combine.pl ${trofiles} -o LibraryTarget.trx)
我期望的是在构建 post build 目标时,先构建 trofiles。但事实并非如此。${trofiles} 没有被构建,因此 post build 命令以失败结束。 有没有办法让 POST_BUILD 命令依赖于前一个自定义命令?
有什么建议吗?
谢谢, Surya