Share via


vcpkg-configuration.json Referência

O vcpkg-configuration.json arquivo faz parte do manifesto de um projeto, juntamente com vcpkg.jsono . Todos os campos no vcpkg-configuration.json arquivo são usados apenas a partir do projeto de nível superior -- os vcpkg-configuration.json arquivos em quaisquer dependências são ignorados.

No Modo de Manifesto, vcpkg-configuration.json pode estar em um arquivo separado ao lado vcpkg.json ou pode ser incorporado no "vcpkg-configuration" field.

No Modo Clássico, vcpkg usará o vcpkg-configuration.json arquivo na raiz da instância vcpkg.

Para obter uma visão geral do uso de registros com vcpkg, consulte Usando registros.

O esquema JSON mais recente está disponível em https://raw.githubusercontent.com/microsoft/vcpkg-tool/main/docs/vcpkg-configuration.schema.json. IDEs com suporte a esquema JSON, como Visual Studio e Visual Studio Code, podem usar esse arquivo para fornecer preenchimento automático e verificação de sintaxe. Para a maioria dos IDEs, você deve definir "$schema" em seu vcpkg-configuration.json para esta URL.

Exemplo

{
  "$schema": "https://raw.githubusercontent.com/microsoft/vcpkg-tool/main/docs/vcpkg-configuration.schema.json",
  "default-registry": {
    "kind": "git",
    "repository": "https://internal/mirror/of/github.com/Microsoft/vcpkg",
    "baseline": "eefee7408133f3a0fef711ef9c6a3677b7e06fd7"
  },
  "registries": [
    {
      "kind": "git",
      "repository": "https://github.com/northwindtraders/vcpkg-registry",
      "baseline": "dacf4de488094a384ca2c202b923ccc097956e0c",
      "packages": [ "beicode", "beison" ]
    }
  ],
  "overlay-ports": [
    "./team-ports",
    "./custom-ports"
   ],
  "overlay-triplets": [ "./my-triplets" ]
}

Este exemplo adiciona um registro privado, https://github.com/northwindtraders/vcpkg-registry, como a origem das bibliotecas beicode e beison. Todas as outras portas são encontradas a partir de um espelho interno do Catálogo Curado hospedado em https://internal/mirror/of/github.com/Microsoft/vcpkg.

O exemplo também configura sobreposições personalizadas para portas e trigêmeos presentes no repositório de código-fonte.

Campos de nível superior

Nome Tipo Descrição
registro padrão Registro ou nulo Registro usado para todas as portas sem um registro específico
portas de sobreposição string[] Lista de caminhos a serem usados como sobreposições de porta
sobreposição-trigêmeos string[] Lista de caminhos a serem usados como sobreposições de trigêmeos
Registros Registro[] Registros adicionais a serem usados para subconjuntos de portas

"default-registry"

O registro a ser usado para todas as portas sem um registro mais específico. Um registro ou null. Opcional.

As portas que não correspondem a nenhum "packages" padrão são resolvidas para o registro padrão. Se o registro padrão for especificado como null, as portas que não corresponderem não serão resolvidas. Se o registro padrão for omitido, ele será implicitamente definido como um registro interno usando o valor de "builtin-baseline" como o "baseline".

"registries"

Registros adicionais a serem usados para portas específicas. Uma série de Registros. Opcional.

"overlay-ports"

Uma lista de caminhos de sobreposição de porta. Uma matriz de cadeias de caracteres. Opcional.

Cada caminho na matriz deve apontar para:

  • Um diretório de porta contendo vcpkg.json e portfile.cmake
  • Um diretório contendo diretórios de porta com o nome das portas (zlib's vcpkg.json deve estar em zlib/vcpkg.json).

Os caminhos relativos são resolvidos em relação ao vcpkg-configuration.json arquivo. Caminhos absolutos podem ser usados, mas são desencorajados.

"overlay-triplets"

Uma lista de caminhos de sobreposição de trigêmeos. Uma matriz de cadeias de caracteres. Opcional.

Cada caminho na matriz deve apontar para um diretório de arquivos tripletes (consulte a documentação de trigêmeos). Os caminhos relativos são resolvidos em relação ao vcpkg-configuration.json arquivo. Caminhos absolutos podem ser usados, mas são desencorajados.

Campos do Registro

Nome Obrigatória Type Descrição
referência Yes string Restrição de versão mínima em todas as portas deste registro
kind Yes string Tipo de registro que está sendo usado
pacotes Sim, se não for padrão string Lista de portas a partir deste registro
caminho Registro do sistema de arquivos string Caminho para o registro do sistema de arquivos
referência Não string Referência do Git a ser usada para versões disponíveis
repositório Registro Git string URI do registro Git

Cadastro: "kind"

O tipo de registro que está sendo usado. Uma cadeia de caracteres. Obrigatória.

"kind" Valor Tipo de Registro
"filesystem" Registro do sistema de arquivos
"git" Registro Git
"builtin" Registro interno

Cadastro: "baseline"

O identificador específico do Registro para as versões mínimas a serem usadas a partir deste Registro. Uma cadeia de caracteres. Obrigatória.

Para o Git Registries e para o Builtin Registry, ele deve ser um git commit sha de 40 caracteres no repositório do registro que contém um versions/baseline.jsonarquivo .

Para registros do sistema de arquivos, pode ser qualquer cadeia de caracteres de linha de base válida que o registro define.

Cadastro: "reference"

A referência do Git usada para listar as versões disponíveis de um Registro do Git. Uma cadeia de caracteres. Opcional.

Se não for especificado, o HEADpadrão será . Esse campo pode ser uma ramificação de tópico para acessar versões que ainda não foram totalmente publicadas.

Cadastro: "repository"

O URI do Registro Git. Uma cadeia de caracteres. Necessário para registros Git.

A cadeia de caracteres pode ser qualquer formato de URI que o Git entenda:

  • "https://github.com/microsoft/vcpkg"
  • "git@github.com:microsoft/vcpkg"
  • "/dev/vcpkg-registry"

Os caminhos relativos têm comportamento não especificado que será alterado em versões futuras do vcpkg.

Cadastro: "path"

O caminho para o Registro do sistema de arquivos. Uma cadeia de caracteres. Necessário para registros do sistema de arquivos.

Os caminhos relativos são resolvidos em relação ao vcpkg-configuration.json.

Cadastro: "packages"

A lista de padrões de porta atribuídos a este registro. Uma matriz de cadeias de caracteres. Obrigatório para todos os registros fora do "default-registry".

Cada inscrição deve ser:

  • O nome de um pacote
  • Um prefixo de nome de pacote, seguido de * (Adicionado na versão da ferramenta 2022-12-14)

Os padrões de pacote podem conter apenas letras minúsculas, dígitos e -, com um opcional *à direita.

Exemplos de padrões válidos:

  • *: corresponde a todos os nomes de porta
  • boost: Corresponde apenas à porta boost
  • b*: Corresponde às portas que começam com a letra b
  • boost-*: Corresponde às portas que começam com o prefixo boost-

Exemplos de padrões inválidos:

  • *a*( deve ser o último caractere no prefixo)
  • a** (apenas um * é permitido)
  • a++( não é um caractere padrão válido)
  • a??( não é um caractere padrão válido)

Consulte a documentação Usando registros para obter mais informações sobre como os nomes de porta são resolvidos.