Прочитать на английском

Поделиться через


vcpkg new

Краткие сведения

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

Создает файл манифеста () и файл конфигурации по умолчанию (vcpkg.jsonvcpkg-configuration.json), готовый к использованию в проекте в текущем рабочем каталоге.

Используйте флаг, --application если проект является приложением конечного пользователя.

Если не используется --application, --name и --version требуются. --version-date, --version-relaxedили --version-string может принудительно выбрать определенный формат версии. Дополнительные сведения о форматах управления версиями см . в справочнике по версиям.

Параметры

Все команды vcpkg поддерживают набор общих параметров.

--application

Создает манифест, подходящий для использования в приложениях, удаляя требование указать имя и версию.

--name

Имя для записи в манифест.

--version

Указывает версию для записи в манифест. Если ни один из других параметров формата версии не передается, введите соответствующую форму для использования на основе формы входных данных.

--version-relaxed

Указывает, что версия для записи в манифест является "расслабленной" версией. Расслабленные версии подчиняются формату семантического управления версиями, но разрешают любое количество числовых значений. Дополнительные сведения см . в справочнике по управление версиями.

--version-date

Указывает, что версия для записи в манифест является версией date. Версии даты — это дата ISO 8601 (например, YYYY-MM-DD). Дополнительные сведения см . в справочнике по управление версиями.

--version-string

Указывает, что версия для записи в манифест является "строковой" версией без упорядочивания

Семантика. Дополнительные сведения см . в справочнике по управление версиями.

Примеры

Примечание

vcpkg new создает метаданные в vcpkg.json файлах и vcpkg-configuration.json файлах. Это включает интеграцию с опытом экспериментальных артефактов. В частности, реестры с которыми "kind": "artifact" используются для экспериментальной функции vcpkg-artifacts.

С добавлением --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"
    }
  ]
}

С --name и --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"
    }
  ]
}

Выбор явного формата версии

$ 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"
    }
  ]
}