vcpkg exportação
Sinopse
vcpkg export [options] {<package>... | --x-all-installed}
Descrição
Exporta pacotes criados do diretório instalado para um SDK de desenvolvedor autônomo.
export
produz um SDK (Software Development Kit) autônomo e distribuível que pode ser usado em outra máquina sem adquirir separadamente vcpkg. Ele contém:
- Os binários pré-criados para os pacotes selecionados
- Suas dependências transitivas
- Arquivos de integração, como um conjunto de ferramentas CMake ou props/targets do MSBuild
Observação
O comportamento deste comando é diferente no Modo Clássico e no Modo Manifesto
O export
comando não instala nenhum pacote ou dependências transitivas. Ele só exporta pacotes que já estão instalados.
Consulte o Modo Manifesto ou o Modo Clássico para obter mais detalhes.
Modo Clássico
No modo clássico, vcpkg export
aceita argumentos de especificação de pacote qualificados para tripletes (por exemplo: zlib:x64-windows
)
Você especifica pacotes a serem exportados adicionando <port name>:<triplet>
argumentos à linha de comando.
Por exemplo, para exportar o sqlite
pacote para x64-windows
e x64-linux
, use:
vcpkg export sqlite:x64-windows sqlite:x64-linux --zip
Este comando exporta os pacotes especificados em formato zip. Ambos sqlite:x64-windows
e sqlite:x64-linux
devem ser instalados antes da execução vcpkg export
do .
Modo de manifesto
No modo de manifesto, o comando exporta todos os pacotes atualmente instalados. O diretório de instalação inclui todos os pacotes declarados no manifesto (vcpkg.json
), bem como suas dependências transitivas. Execute vcpkg install
antes de usar este comando para garantir que todos os pacotes necessários estejam instalados.
Nesse modo, não é possível especificar pacotes individuais a serem exportados. O comando opera em todo o estado instalado como uma única entidade, respeitando as dependências e versões especificadas no arquivo de manifesto.
Outra diferença é a exigência da --output-dir
opção. Essa opção especifica o diretório onde os pacotes exportados serão armazenados.
Por exemplo, a partir do diretório de manifesto
vcpkg export --zip --output-dir=.\exports
Exporta todos os pacotes atualmente instalados para o .\exports
diretório em um arquivo zip. A --zip
opção especifica que os pacotes exportados devem ser compactados em um arquivo zip.
Integração padrão
A maioria dos formatos de exportação contém um conjunto padrão de arquivos de integração:
- A CMake toolchain na
/scripts/buildsystems/vcpkg.cmake
- Props/targets do MSBuild em
/scripts/buildsystems/msbuild/vcpkg.props
e/scripts/buildsystems/msbuild/vcpkg.targets
- A árvore de instalação em
/
Alguns formatos de exportação diferem deste conjunto padrão; Consulte a ajuda do formato individual abaixo para obter mais detalhes.
Formatos
Formatos SDK oficialmente suportados:
Formatos experimentais do SDK (podem ser alterados ou removidos a qualquer momento):
Diretório Raw
vcpkg export --raw [options] <package>...
Crie um layout de diretório descompactado em <output-dir>/<output>/
.
Contém os arquivos de integração padrão.
Zip
vcpkg export --zip [options] <package>...
Crie um layout de diretório compactado zip em <output-dir>/<output>.zip
.
Contém os arquivos de integração padrão.
7Zip
vcpkg export --7zip [options] <package>...
Crie um layout de diretório 7zip em <output-dir>/<output>.7z
.
Contém os arquivos de integração padrão.
NuGet
vcpkg export --nuget [options] <package>...
Crie um pacote NuGet em <output-dir>/<nuget-id>.<nuget-version>.nupkg
.
Contém os arquivos de integração padrão, bem como integração adicional do MSBuild para oferecer suporte à inclusão em um projeto do MSBuild C++ (.vcxproj
) por meio do Gerenciador de Pacotes NuGet. Observe que você não pode misturar vários pacotes NuGet produzidos com export
juntos -- apenas um dos pacotes será usado. Para adicionar bibliotecas adicionais, você deve criar uma nova exportação com o conjunto completo de dependências.
Opções específicas de formato:
IFW
Observação
Esta seção cobre uma característica experimental do vcpkg que pode mudar ou ser removida a qualquer momento.
vcpkg export --ifw [options] <package>...
Exporte para um instalador baseado em IFW.
Opções específicas de formato:
--ifw-configuration-file-path
--ifw-installer-file-path
--ifw-packages-directory-path
--ifw-repository-directory-path
--ifw-repository-url
Chocolatey
Observação
Esta seção cobre uma característica experimental do vcpkg que pode mudar ou ser removida a qualquer momento.
vcpkg export --x-chocolatey [options] <package>...
Exporte um pacote de chocolate.
Opções específicas de formato:
Pré-fabricado
Observação
Esta seção cobre uma característica experimental do vcpkg que pode mudar ou ser removida a qualquer momento.
vcpkg export --prefab [options] <package>...
Exportar para o formato pré-fabricado.
Opções específicas de formato:
--prefab-artifact-id
--prefab-group-id
--prefab-maven
--prefab-min-sdk
--prefab-target-sdk
--prefab-version
Opções
Todos os comandos vcpkg suportam um conjunto de opções comuns.
<package>
Esta é a lista de pacotes construídos de nível superior que serão incluídos no SDK. Quaisquer dependências desses pacotes também serão incluídas para garantir que o SDK resultante seja independente.
Sintaxe do pacote
<port name>:<triplet>
Referências de pacote sem um triplete são automaticamente qualificadas pelo triplete de destino padrão.
Nota: <port name>:<triplet>
argumentos não são permitidos ao usar vcpkg export
no modo de manifesto.
--x-all-installed
Observação
Esta seção cobre uma característica experimental do vcpkg que pode mudar ou ser removida a qualquer momento.
Exporte todos os pacotes instalados. Essa opção está implícita ao usar vcpkg export
no modo de manifesto.
--dry-run
Não execute a exportação, apenas imprima o plano de exportação.
--ifw-configuration-file-path=
Especifique o caminho do arquivo temporário para a configuração do instalador.
--ifw-installer-file-path=
Especifique o caminho do arquivo para o instalador exportado.
--ifw-packages-directory-path=
Especifique o caminho do diretório temporário para os pacotes recompactados.
--ifw-repository-directory-path=
Especifique o caminho do diretório para o repositório exportado.
--ifw-repository-url=
Especifique a URL do repositório remoto para o instalador on-line.
--x-maintainer=
Especifique o mantenedor para o pacote Chocolatey exportado.
--nuget-description=
Especifica a descrição de saída para arquivos .nupkg do NuGet .
O padrão é "Vcpkg NuGet export".
--nuget-id=
Especifica a id de saída para arquivos .nupkg do NuGet .
Essa opção substitui a --output
opção especificamente para o exportador NuGet. Consulte --output
para obter os valores padrão.
--nuget-version=
Especifica a versão de saída para arquivos .nupkg do NuGet .
Assume o padrão de 1.0.0
.
--output=
Especifica o nome base de saída.
Cada tipo de SDK usa esse nome base para determinar seus arquivos de saída específicos. Consulte a documentação específica do SDK acima para obter detalhes.
Assume o padrão de vcpkg-export-<date>-<time>
. O uso por script de export
deve sempre passar esse sinalizador para garantir a saída determinística.
--output-dir=
Especifica o diretório de saída.
Todos os arquivos SDK de nível superior serão produzidos neste diretório. Essa opção é necessária no modo de manifesto. No modo clássico, isso é opcional e padrão para o diretório raiz vcpkg.
--prefab-artifact-id=
Artifact Id é o nome do projeto de acordo com as especificações do Maven.
--prefab-group-id=
O GroupId identifica exclusivamente seu projeto de acordo com as especificações do Maven.
--prefab-maven
Habilite o Maven.
--prefab-min-sdk=
Android versão mínima suportada sdk.
--prefab-target-sdk=
Versão sdk suportada pelo Android target.
--prefab-version=
Versão é a versão do projeto de acordo com as especificações do Maven.
--x-version-suffix=
Especifique o sufixo de versão a ser adicionado para o pacote Chocolatey exportado.