vcpkg new
vcpkg new --application
vcpkg new --name hello --version 1.0 [--version-relaxed | --version-date | --version-string]
Creates a manifest file (vcpkg.json
) and a default configuration file
(vcpkg-configuration.json
) ready to use in your project in the current
working directory.
Use the --application
flag if your project is an end-user application.
If not using --application
, --name
and --version
are required. --version-date
,
--version-relaxed
, or --version-string
can force that a particular version format is selected.
For more information about the versioning formats, see
Versioning reference.
All vcpkg commands support a set of common options.
Creates a manifest suitable for use in applications, removing the requirement to supply name and version.
The name to write into the manifest.
Indicates the version to write into the manifest. If none of the other version format switches are passed, infers the appropriate form to use based on the form of the input.
Indicates that the version to write into the manifest is a 'relaxed' version. Relaxed versions obey semantic versioning's format, but allow any number of numeric values. See versioning reference for more information.
Indicates that the version to write into the manifest is a 'date' version. Date versions are an ISO 8601 date (e.g. "YYYY-MM-DD"). See versioning reference for more information.
Indicates that the version to write into the manifest is a 'string' version with no ordering
semantics. See versioning reference for more information.
Note
vcpkg new
generates metadata in vcpkg.json
and vcpkg-configuration.json
files. This includes
integration with the experimental artifacts experience. In particular, the registries with
"kind": "artifact"
are for the experimental vcpkg-artifacts feature.
$ 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"
}
]
}
$ 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"
}
]
}
vcpkg feedback
vcpkg is an open source project. Select a link to provide feedback: