我尝试创建一个 ant 目标,它处理来自输入目录的一些 GLSL 着色器,将它们输出到另一个文件夹中。如果输出文件已经存在,我想避免处理。
我使用的可执行文件可以采用输出目录参数,也可以直接采用输出文件路径。
目前,我有:
<target name="optimize_programs">
<apply executable="TOOLS/glsl_processor" dir="." verbose="true" >
<srcfile/>
<arg value="-output_directory=OUTPUT/PROGRAMS/" />
<fileset dir="INPUT/PROGRAMS/OPENGLES2" includes="**/*.glfx" />
<flattenmapper />
</apply>
</target>
着色器被正确处理,但问题是它们每次都被处理,即使输出文件已经存在。
我怀疑这是因为 flattenmapper 不知道 glsl_processor 输出。
我试图用来告诉 glsl_processor 输出文件的位置:
<target name="optimize_programs">
<apply executable="TOOLS/glsl_processor" dir="." verbose="true" >
<srcfile/>
<targetfile/>
<fileset dir="INPUT/PROGRAMS/OPENGLES2" includes="**/*.glfx" />
<flattenmapper />
</apply>
</target>
但我不知道如何让 targetfile 指向输出文件夹。
任何想法?
谢谢!