Nant似乎非常以编译器为中心 - 这是因为它被认为是.NET开发系统。但我知道可以做到!我已经看到了它。我们正在构建的平台有自己的编译器,并且不使用'cl.exe'用于c ++。我们正在不同的平台上构建一个C ++应用程序,并希望用我们自己的编译器覆盖。任何人都可以指出我的方法,或至少如何设置我自己的目标,将使用我们的目标平台的编译器?
答案 0 :(得分:5)
这是我为Delphi所做的一个。每个'arg'都是一个单独的param,其值在别处定义。在调用目标之前调用目标,然后调用它。
<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>
答案 1 :(得分:3)
您需要编写自己的任务。 This是一个很好的参考。
答案 2 :(得分:1)
最初,使用&lt; exec&gt;任务运行可执行文件,将任何所需信息作为参数和/或环境变量传递。
为了将来使用,您还可以调查编写自己的任务。我知道使用标准的ant,这是通过&lt; taskdef&gt;完成的。任务和java类。不幸的是,我不确定Nant的等价物。
答案 3 :(得分:0)
您还可以使用<exec>
任务。