Environment variables
:::no-loc text="EDITOR":::
This environment variable can be set to the full path of an executable to be used for kmpkg edit. Please see
kmpkg help edit for command-specific help.
KMPKG_BINARY_SOURCES
This environment variable adds or removes binary sources. See Binary Caching for more details.
KMPKG_DEFAULT_BINARY_CACHE
This environment variable redirects the default location to store binary packages. See Binary Caching for more details.
KMPKG_DEFAULT_HOST_TRIPLET
This environment variable can be set to a triplet name which will be used for unqualified host port references in command lines and all host port references in dependency lists. See the host-dependencies documentation for more information.
KMPKG_DEFAULT_TRIPLET
This environment variable can be set to a triplet name which will be used for unqualified triplet references in command lines.
KMPKG_DISABLE_METRICS
When this environment variable is set, regardless of its value, telemetry collection is disabled.
KMPKG_DOWNLOADS
This environment variable can be set to an existing directory to use for storing downloads instead of the internal
downloads/ directory. It should always be set to an absolute path.
KMPKG_FEATURE_FLAGS
This environment variable can be set to a comma-separated list of off-by-default features in kmpkg. These features are subject to change without notice and should be considered highly unstable.
There are no off-by-default feature flags at this time.
KMPKG_FORCE_DOWNLOADED_BINARIES
This environment variable, if set, ignores the use of the system binaries and will always download and use the version defined by kmpkg.
KMPKG_FORCE_SYSTEM_BINARIES
This environment variable, if set, suppresses the downloading of CMake and Ninja and forces the use of the system binaries.
KMPKG_KEEP_ENV_VARS
This environment variable can be set to a list of environment variables, separated by ;, which will be propagated to
the build environment.
The values of the kept variables will not be tracked in package ABIs and will not cause rebuilds when they change. To
pass in environment variables that should cause rebuilds on change, see KMPKG_ENV_PASSTHROUGH.
Example: FOO_SDK_DIR;BAR_SDK_DIR
KMPKG_MAX_CONCURRENCY
This environment variables limits the amount of concurrency used by underlying buildsystems. If unspecified, this defaults to logical cores + 1.
KMPKG_NO_CI
Setting KMPKG_NO_CI disables kmpkg's CI environment detection heuristics.
KMPKG_NUGET_REPOSITORY
This environment variable changes the metadata of produced NuGet packages. See Binary Caching for more details.
KMPKG_OVERLAY_PORTS
This environment variable adds additional overlay ports or overlay port directories
considered after those listed on the command line. Multiple values are separated with the platform dependent PATH
separator (Windows ; | others :)
Example (Windows): C:\custom-ports\boost;C:\custom-ports\sqlite3;C:\other-ports
KMPKG_OVERLAY_TRIPLETS
This environment variable allows users to add directories to search for triplets.
List paths to overlays using the platform dependent PATH separator (Windows ;, others :)
See Example: overlay triplets for an example.
KMPKG_ROOT
This environment variable can be set to a directory to use as the root of the kmpkg instance. This will only be used if
the kmpkg executable is not located within a valid root and the command line switch --kmpkg-root is unused.
KMPKG_USE_NUGET_CACHE
This environment variable allows using NuGet's cache for every nuget-based binary source. See Binary Caching for more details.
KMPKG_VISUAL_STUDIO_PATH
This environment variable can be set to the full path to a Visual Studio instance on the machine. This Visual Studio instance
will be used if the triplet does not override it via the KMPKG_VISUAL_STUDIO_PATH triplet setting.
Example: D:\2017
VSLANG
This environment variable sets the language kmpkg uses to display messages. It should be set to one of the 14 supported LCIDs (locale identifier, 4-byte value corresponding to a language).
For example: 1033 corresponds to the English (US) language. For a full list of supported LCIDs see Localization.
X_KMPKG_ASSET_SOURCES
This section covers an experimental feature of kmpkg which may change or be removed at any time.
This environment variable allows using a private mirror for all SHA512-tagged assets. See Asset Caching for more details.
X_KMPKG_NUGET_ID_PREFIX
Adds a prefix to the name of all the binary packages pushed or restored from NuGet binary caches.
For example, when X_KMPKG_NUGET_ID_PREFIX is set to kmpkg_demo- the
zlib_x64-windows.1.2.13-kmpkg8918746ce8b60474e5ebe68e53355fa70eb05119be913a1d1dc0b930b3b7b6e8.nupkg
binary package becomes
kmpkg_demo-zlib_x64-windows.1.2.13-kmpkg8918746ce8b60474e5ebe68e53355fa70eb05119be913a1d1dc0b930b3b7b6e8.nupkg.