Compartilhar via


vcpkg novo

Sinopse

vcpkg new --application
vcpkg new --name hello --version 1.0 [--version-relaxed | --version-date | --version-string]

Cria um arquivo de manifesto () e um arquivo de configuração padrão (vcpkg.jsonvcpkg-configuration.json) pronto para uso em seu projeto no diretório de trabalho atual.

Use o --application sinalizador se seu projeto for um aplicativo de usuário final.

Se não estiver usando --application, --name e --version são obrigatórios. --version-date, --version-relaxedou --version-string pode forçar que um formato de versão específico seja selecionado. Para obter mais informações sobre os formatos de controle de versão, consulte Referência de controle de versão.

Opções

Todos os comandos vcpkg suportam um conjunto de opções comuns.

--application

Cria um manifesto adequado para uso em aplicativos, removendo a necessidade de fornecer nome e versão.

--name

O nome a ser escrito no manifesto.

--version

Indica a versão a ser gravada no manifesto. Se nenhuma das outras opções de formato de versão for passada, inferirá o formulário apropriado a ser usado com base na forma da entrada.

--version-relaxed

Indica que a versão a ser gravada no manifesto é uma versão 'relaxada'. As versões relaxadas obedecem ao formato do versionamento semântico, mas permitem qualquer número de valores numéricos. Consulte Referência de controle de versão para obter mais informações.

--version-date

Indica que a versão a ser gravada no manifesto é uma versão 'data'. As versões de data são uma data ISO 8601 (por exemplo, "AAAA-MM-DD"). Consulte Referência de controle de versão para obter mais informações.

--version-string

Indica que a versão a ser gravada no manifesto é uma versão de 'cadeia de caracteres' sem ordenação

semântica. Consulte Referência de controle de versão para obter mais informações.

Exemplos

Observação

vcpkg new gera metadados e vcpkg.jsonvcpkg-configuration.json arquivos. Isso inclui a integração com a experiência de artefatos experimentais. Em particular, os registros com "kind": "artifact" são para a característica experimental vcpkg-artifacts.

Com --application

$ vcpkg new --application
$ type vcpkg.json
{}
$ type .\vcpkg-configuration.json
{
  "default-registry": {
    "kind": "git",
    "baseline": "64adda19c86e89526b5e27703a193c14477cce07",
    "repository": "https://github.com/microsoft/vcpkg"
  },
  "registries": [
    {
      "kind": "artifact",
      "location": "https://github.com/microsoft/vcpkg-ce-catalog/archive/refs/heads/main.zip",
      "name": "microsoft"
    }
  ]
}

Com --name e --version

$ vcpkg new --name hello --version 2023-07-05
$ type vcpkg.json
{
  "name": "hello",
  "version-date": "2023-07-05"
}
$ type .\vcpkg-configuration.json
{
  "default-registry": {
    "kind": "git",
    "baseline": "64adda19c86e89526b5e27703a193c14477cce07",
    "repository": "https://github.com/microsoft/vcpkg"
  },
  "registries": [
    {
      "kind": "artifact",
      "location": "https://github.com/microsoft/vcpkg-ce-catalog/archive/refs/heads/main.zip",
      "name": "microsoft"
    }
  ]
}

Com seleção explícita de formato de versão

$ vcpkg new --name hello --version 1.0 --version-date
error: `1.0` is not a valid date version. Dates must follow the format YYYY-MM-DD and disambiguators must be dot-separated positive integer values without leading zeroes.
$ vcpkg new --name hello --version 1.0 --version-string
$ type vcpkg.json
{
  "name": "hello",
  "version-string": "1.0"
}
$ type .\vcpkg-configuration.json
{
  "default-registry": {
    "kind": "git",
    "baseline": "64adda19c86e89526b5e27703a193c14477cce07",
    "repository": "https://github.com/microsoft/vcpkg"
  },
  "registries": [
    {
      "kind": "artifact",
      "location": "https://github.com/microsoft/vcpkg-ce-catalog/archive/refs/heads/main.zip",
      "name": "microsoft"
    }
  ]
}