Partilhar via


Como: Adicionar uma etapa de compilação personalizada para projetos do MSBuild

Uma etapa de compilação personalizada é uma etapa definida pelo usuário em uma compilação. Uma etapa de compilação personalizada se comporta como qualquer outra etapa da ferramenta de comando , como a etapa de compilação padrão ou a etapa da ferramenta de link.

Especifique uma etapa de compilação personalizada no arquivo de projeto (.vcxproj). A etapa pode especificar uma linha de comando a ser executada, quaisquer arquivos de entrada ou saída adicionais e uma mensagem a ser exibida. Se o MSBuild determinar que os arquivos de saída estão desatualizados em relação aos arquivos de entrada, ele exibirá a mensagem e executará o comando.

Para especificar o local da etapa de compilação personalizada na sequência de destinos de compilação, use um ou ambos os CustomBuildAfterTargetsCustomBuildBeforeTargets elementos XML no arquivo de projeto. Por exemplo, você pode especificar que a etapa de compilação personalizada seja executada após o destino da ferramenta de link e antes do destino da ferramenta de manifesto. O conjunto atual de objetivos disponíveis depende da sua versão específica.

Especifique o CustomBuildBeforeTargets elemento para executar a etapa de compilação personalizada antes que um destino específico seja executado, o CustomBuildAfterTargets elemento para executar a etapa após a execução de um destino específico ou ambos os elementos para executar a etapa entre dois destinos adjacentes. Se nenhum dos elementos for especificado, sua ferramenta de compilação personalizada será executada em seu local padrão, que é após o destino Link .

Etapas de compilação personalizadas e ferramentas de compilação personalizadas compartilham as informações especificadas nos elementos XML CustomBuildBeforeTargets e CustomBuildAfterTargets. Portanto, especifique esses destinos apenas uma vez no arquivo de projeto.

Para definir o que é executado pela etapa de compilação personalizada

  1. Adicione um grupo de propriedades ao arquivo de projeto. Neste grupo de propriedades, especifique o comando, suas entradas e saídas e uma mensagem, conforme mostrado no exemplo a seguir. Este exemplo cria um arquivo .cab a partir do arquivo main.cpp que você criou em Passo a passo: Usando o MSBuild para criar um projeto C++.

    <ItemDefinitionGroup>
      <CustomBuildStep>
        <Command>makecab.exe $(ProjectDir)main.cpp $(TargetName).cab</Command>
        <Outputs>$(TargetName).cab</Outputs>
        <Inputs>$(ProjectDir)main.cpp</Inputs>
      </CustomBuildStep>
    </ItemDefinitionGroup>
    

Para definir onde na compilação a etapa de compilação personalizada será executada

  1. Adicione o seguinte grupo de propriedades ao arquivo de projeto. Você pode especificar ambos os destinos ou omitir um se quiser apenas que a etapa personalizada seja executada antes ou depois de um destino específico. Este exemplo diz ao MSBuild para executar a etapa personalizada após a etapa de compilação, mas antes da etapa de link.

    <PropertyGroup>
      <CustomBuildAfterTargets>ClCompile</CustomBuildAfterTargets>
      <CustomBuildBeforeTargets>Link</CustomBuildBeforeTargets>
    </PropertyGroup>
    

Ver também

Passo a passo: Usando o MSBuild para criar um projeto C++
Como: Usar eventos de compilação em projetos do MSBuild
Como: Adicionar ferramentas de compilação personalizadas para projetos do MSBuild