Nant で独自のコンパイラを使用するにはどうすればよいですか?
-
01-07-2019 - |
質問
Nant は非常にコンパイラ中心であるように見えます。これは、Nant が .NET 開発システムと考えられているためだと推測されます。しかし、それができることはわかっています!見たことある。私たちが構築しているプラットフォームには独自のコンパイラーがあり、C++ の「cl.exe」は使用しません。別のプラットフォームで C++ アプリを構築しており、独自のコンパイラーでオーバーライドしたいと考えています。誰かがそれを行う方法、または少なくともターゲットプラットフォームのコンパイラを使用する独自のターゲットをセットアップする方法を教えてもらえますか?
解決
これは私が Delphi 用に作成したものです。各「arg」は、別の場所で定義された値を持つ個別のパラメータです。ターゲットは、呼び出す前にパラメータを設定して呼び出されます。
<target name="build.application">
<exec program="dcc32" basedir="${Delphi.Bin}" workingdir="${Application.Folder}" verbose="true">
<arg value="${Application.Compiler.Directive}" />
<arg value="-Q" />
<arg value="/B" />
<arg value="/E${Application.Output.Folder}" />
<arg value="/U${Application.Lib.Folder};${Application.Search.Folder}" />
<arg value="${Application.Folder}\${Delphi.Project}" />
</exec>
</target>
他のヒント
独自のタスクを作成する必要があります。 これ 良い参考になります。
最初に、<exec> タスクを使用して実行可能ファイルを実行し、必要な情報をパラメータや環境変数として渡します。
将来の使用のために、独自のタスクを作成することを検討することもできます。標準の Ant では、これが <taskdef> タスクと Java クラスで行われることはわかっています。残念ながら、Nant に相当するものはわかりません。
を使用することもできます <exec>
タスク。
所属していません StackOverflow