Como faço para usar meu próprio compilador com Nant?
-
01-07-2019 - |
Pergunta
Nant parece muito centrado no compilador - o que acho que é porque é considerado um sistema de desenvolvimento .NET.Mas eu sei que isso pode ser feito!Eu já vi isso.A plataforma que estamos construindo tem seu próprio compilador e não usa 'cl.exe' para c++.Estamos construindo um aplicativo C++ em uma plataforma diferente e gostaríamos de substituí-lo por nosso próprio compilador.Alguém pode me indicar uma maneira de fazer isso ou pelo menos como configurar um alvo próprio que usará o compilador da nossa plataforma de destino?
Solução
Aqui está um que eu fiz para Delphi. Cada 'arg' é um parâmetro separado com um valor definido em outro lugar. O alvo é chamado com os params configurados antes de chamá -lo.
<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>
Outras dicas
Você precisa escrever sua própria tarefa. este é uma boa referência.
Inicialmente, use a tarefa <exec> para executar um executável, passando todas as informações necessárias como parâmetros e/ou variáveis de ambiente.
Para uso futuro, você também pode investigar a criação de sua própria tarefa.Eu sei que com o ant padrão isso é feito com a tarefa <taskdef> e uma classe java.Infelizmente, não tenho certeza do equivalente de Nant.
Você também pode usar o <exec>
tarefa.