Glossary: vcpkg
Some of the terms used in this documentation have similar meanings when discussed by the community. Because of that, and to avoid confusion and ambiguity this article provides specific meanings for these terms.
An artifact that needs to be downloaded typically from the Internet and made available locally, often the input of a build process. Assets include source code archives, pre-built binaries, or other files that are required to build a package.
The installation output produced by vcpkg packaged into a restorable format. Binary packages hold the build-output of a package (binaries, build system integration files, usage documentation, license, and other files).
Files created during the build process, essentially the output of your build process. Artifacts include libraries, executables, headers, logs, and other files that are generated by compiling the source code.
A mode of operation that installs packages into a shared tree.
See classic mode documentation to learn more.
A piece of software (source code, binary files, documentation, license, etc.) that is intended to be reused by other software. Most ports in the vcpkg registry install C/C++ libraries.
A file named vcpkg.json
that describes the
metadata, such as dependencies, of a port or a project.
See the manifests documentation to learn more.
A locally available port or triplet. Usually used to provide a port or triplet that is not part of a registry, or to override the name of a port or triplet in a registry.
See the overlays documentation to learn more.
A package can contain a library, collection of libraries, build scripts, software tools, or other components necessary for their use. The goal of vcpkg is to install these packages available during your projects builds.
A package manager is a tool that manages dependencies for a project by offering features to install, upgrade, and integrate software libraries and tools. Package managers help you find, install, and update the libraries and tools that your project needs, and handle the compatibility and configuration issues that may arise.
A set of code changes/diffs applied to a source code project before building. These changes are usually not integrated into the latest upstream release. Patches are used to fix bugs, add features, or customize the behavior of a package.
A vcpkg-specific term, a port contains:
- Metadata about a package: name, version, dependencies, supported features, etc.
- Instructions to acquire, build if necessary, and install the package.
See the ports documentation to learn more.
A package manager such as apt-get designed to be used with a particular platform such as Linux, or brew for MacOS. System package managers install packages and libraries system wide, rather than for a particular project.
A set of properties or script used to describe a target or host environment, which affects how vcpkg builds a library. The triplet specifies linkage type, build flags, and other options that affect how a package is built and installed.
See triplet documentation to learn more.
Refers to the repository where the source code changes for a project originates from. Upstream is usually the original or official source of a project, where the main development takes place. Upstream may also refer to the maintainers or authors of a project.
vcpkg feedback
vcpkg is an open source project. Select a link to provide feedback: