Skip to main content

kmpkg env

Synopsis

info

This command is only supported on Windows.

kmpkg env [<optional command>] [--triplet=<triplet>] [--options]

Description

Creates a clean build environment in your current terminal. The created environment is a cmd session initialized to match the one kmpkg uses to build ports.

The session's configuration depends on your triplet settings. Use the --triplet option to specify the triplet to target, otherwise, a default triplet is deduced. Depending on your settings this may initialize a Visual Studio build environment via vcvars.

Most environment variables are cleared from the session, with the exception of the environment variables specified in the KMPKG_KEEP_ENV_VARS environment variable and the KMPKG_ENV_PASSTROUGH triplet setting.

Using the --bin, --debug-bin, --include, --tools, or --python options prepends the respective paths from the triplet's installed folder to the session's environment variables. Use these if you want to make tools and libraries installed by kmpkg available in the session. See the build system manual integration documentation to learn more about the installed folder's hierarchy.

Optionally, you can specify a single command to execute. The session will terminate immediately afterwards.

Examples

Create a build environment session

PS C:\Users\kmpkg\kmpkg> kmpkg env
Microsoft Windows [Version 10.0.25905.1000]
(c) Microsoft Corporation. All rights reserved.

C:\Users\kmpkg\kmpkg>

Run a single command

PS C:\Users\kmpkg\kmpkg> kmpkg env "cmake --version"
cmake version 3.20.21032501-MSVC_2

CMake suite maintained and supported by Kitware (kitware.com/cmake).

Preserve environment variables

PS C:\Users\kmpkg\kmpkg> $env:CLEARED_ENV_VAR="hello"
PS C:\Users\kmpkg\kmpkg> kmpkg env "set CLEARED_ENV_VAR"
Environment variable CLEARED_ENV_VAR not defined
PS C:\Users\kmpkg\kmpkg> $env:KMPKG_KEEP_ENV_VARS="CLEARED_ENV_VAR"
PS C:\Users\kmpkg\kmpkg> kmpkg env "set CLEARED_ENV_VAR"
CLEARED_ENV_VAR=hello

Add --tools to the environment

PS C:\Users\kmpkg\kmpkg> kmpkg install minizip[tool]
PS C:\Users\kmpkg\kmpkg> kmpkg env --tools "minizip"
MiniZip 1.1, demo of zLib + MiniZip64 package, written by Gilles Vollant
more info on MiniZip at http://www.winimage.com/zLibDll/minizip.html

Usage : minizip [-o] [-a] [-0 to -9] [-p password] [-j] file.zip [files_to_add]

-o Overwrite existing file.zip
-a Append to existing file.zip
-0 Store only
-1 Compress faster
-9 Compress better

-j exclude path. store only the file name.

Options

All kmpkg commands support a set of common options.

--triplet=<triplet>

Specifies the triplet to target when configuring the environment. This affects how the Visual Studio build environment is initialized and the installed paths used by the other options.

See --triplet in the common options for more information.

--bin

Adds the triplet's installed bin folder to the session's PATH environment variable.

--debug-bin

Adds the triplet's installed debug/bin folder to the session's PATH environment variable.

--include

Adds the triplet's installed include folder to the session's INCLUDE environment variable.

--tools

Adds the triplet's installed tools folder to the session's PATH environment variable.

--python

Adds the triplet's installed python folder to the session's PYTHONPATH environment variable.