入力ディレクトリからいくつかのGLSLシェーダーを処理するantターゲットを作成し、それらを別のフォルダーに出力しようとしました。また、出力ファイルが既に存在する場合は処理を避けたいと思います。
私が使用する実行可能ファイルは、出力ディレクトリ引数を取るか、出力ファイル パスを直接取ることができます。
現在、私は持っています:
<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 が出力フォルダーを指すようにする方法がわかりません。
何か案が?
ありがとう!