Partilhar via


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

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

Especifique uma etapa de compilação personalizada no arquivo de projeto (.vcxproj). A etapa pode especificar uma linha de comando para executar, qualquer entrada adicional ou arquivos de saída e uma mensagem para exibir. Se MSBuild determina que os arquivos de saída estão desatualizados em relação aos seus arquivos de entrada, ele exibe a mensagem e executa o comando.

Para especificar a localização da compilação personalizada etapa na seqüência de destinos de compilação, use um ou ambos os CustomBuildAfterTargets e CustomBuildBeforeTargets os elementos XML no arquivo de projeto. Por exemplo, você poderia especificar que a etapa de compilação personalizado é executado após o destino de link de ferramenta e antes do destino da ferramenta de manifesto. O conjunto real de destinos disponíveis depende da sua compilação específica.

Especificar o CustomBuildBeforeTargets elemento para executar a etapa de compilação personalizada antes de ser executado em um destino específico, 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 elemento for especificado, a ferramenta de compilação personalizada executa em seu local padrão, que é posterior a Link de destino.

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

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

  • Adicione um grupo de propriedade para o arquivo de projeto. Nesse grupo de propriedade, especifique o comando, suas entradas e saídas e uma mensagem, conforme mostrado no exemplo a seguir. Este exemplo cria um arquivo. cab do arquivo main.cpp que você criou na Demonstra Passo a passo: Usando o MSBuild para criar um projeto do Visual C++.

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

Para definir onde na compilação de etapa de compilação personalizada executará

  • Adicione o grupo de propriedade a seguir ao arquivo de projeto. Você pode especificar ambos os destinos, ou você pode omitir um se desejar apenas a etapa personalizada para executar antes ou depois de um destino específico. Este exemplo informa 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>
    

Consulte também

Tarefas

Demonstra Passo a passo: Usando o MSBuild para criar um projeto do Visual C++

Como: Use eventos compilação em projetos do MSBuild

Como: Adicionar ferramentas de compilação personalizado para projetos do MSBuild