Como: adicionar ferramentas personalizadas de build a projetos do MSBuild
Uma ferramenta de build personalizada é uma ferramenta de linha de comando definida pelo usuário associada a um arquivo específico.
Para um arquivo específico, defina no arquivo de projeto (.vcxproj
) a linha de comando a ser executada, quaisquer outros arquivos de entrada ou saída e uma mensagem a ser exibida. Se o MSBuild determinar que os arquivos de saída estão desatualizados em relação aos seus arquivos de entrada, ele exibirá a mensagem e executará a ferramenta de linha de comando.
Especificar ferramentas de build personalizadas e etapas de build personalizadas
Para especificar quando a ferramenta de build personalizada for executada, use um ou ambos os elementos XML CustomBuildBeforeTargets
e CustomBuildAfterTargets
no arquivo de projeto. Por exemplo, você pode especificar que sua ferramenta de build personalizada seja executada após o compilador MIDL e antes do compilador C/C++. Especifique o elemento CustomBuildBeforeTargets
que executará a ferramenta antes que um destino específico seja executado. Use o elemento CustomBuildAfterTargets
que executará a ferramenta depois que um destino específico for executado. Use os dois elementos para executar a ferramenta entre a execução de dois destinos. Se nenhum dos elementos for especificado, sua ferramenta de build personalizada será executada em seu local padrão, que é antes do destino MIDL.
As etapas de build personalizadas e as ferramentas de build personalizadas compartilham as informações especificadas nos elementos XML CustomBuildBeforeTargets
e CustomBuildAfterTargets
. Especifique esses destinos uma vez em seu arquivo de projeto.
Para adicionar uma etapa de build personalizada
Adicione um grupo de itens ao arquivo de projeto e adicione um item para cada arquivo de entrada. Especifique o comando e suas entradas, saídas e uma mensagem como metadados de item, conforme mostrado aqui. Este exemplo pressupõe que um arquivo "faq.txt" existe no mesmo diretório que seu projeto. A etapa de build personalizada copia-o para o diretório de saída.
<ItemGroup> <CustomBuild Include="faq.txt"> <Message>Copying readme...</Message> <Command>copy %(Identity) $(OutDir)%(Identity)</Command> <Outputs>$(OutDir)%(Identity)</Outputs> </CustomBuild> </ItemGroup>
Para definir onde as ferramentas de build personalizadas são executadas na compilação
Adicione o grupo de propriedades a seguir ao arquivo de projeto. Especifique pelo menos um dos destinos. Você pode omitir o outro se estiver interessado apenas em executar a etapa de build antes (ou depois) de um destino específico. Este exemplo executa a etapa personalizada após a compilação, mas antes de vincular.
<PropertyGroup> <CustomBuildAfterTargets>ClCompile</CustomBuildAfterTargets> <CustomBuildBeforeTargets>Link</CustomBuildBeforeTargets> </PropertyGroup>
Confira também
Passo a passo: Usando o MSBuild para criar um projeto C++
Como usar eventos de build em projetos do MSBuild
Como adicionar uma etapa de build personalizada a projetos do MSBuild
Macros comuns para comandos e propriedades de MSBuild
Metadados de itens conhecidos do MSBuild