我正在为 add_custom_command 苦苦挣扎。让我详细解释一下这个问题。
我有这些 cxx 文件和 hxx 文件集。我在它们每个上运行一个 perl 脚本来生成某种翻译文件。该命令看起来像
perl trans.pl source.cxx -o source_cxx_tro
对于 header.hxx 文件也是如此。
所以我最终会得到一些多个命令(每个命令都用于一个文件)
然后我在这些命令生成的输出上运行另一个 perl 脚本(source_cxx_tro,header_hxx_tro)
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)
我期望的是在构建后期构建目标时,将首先构建 trofiles。但事实并非如此。${trofiles} 未构建,因此构建后命令以失败告终。有什么办法可以告诉 POST_BUILD 命令取决于以前的自定义命令?
有什么建议么 ?
在此先感谢,苏里亚