跳到主要内容

kmpkg env

命令概要

信息

该命令仅在 Windows 系统中支持。

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

命令描述

在当前终端中创建一个干净的构建环境。该环境是一个 cmd 会话,其初始化配置与 kmpkg 构建端口时使用的环境一致。

会话的配置取决于你的三元组设置:可通过 --triplet 选项指定目标三元组,若未指定则会推导默认三元组。根据配置不同,该命令可能会通过 vcvars 脚本初始化 Visual Studio 构建环境。

会话中大部分环境变量会被清空,仅保留 KMPKG_KEEP_ENV_VARS 环境变量中指定的变量,以及 KMPKG_ENV_PASSTROUGH 三元组设置中配置的变量。

使用 --bin--debug-bin--include--tools--python 选项时,会将对应三元组 installed 目录下的路径添加到会话环境变量的开头。若需在会话中使用 kmpkg 安装的工具和库,可启用这些选项。关于 installed 目录的层级结构,可参考构建系统的手动集成文档

你也可选择性指定要执行的单个命令,命令执行完成后会话会立即终止。

示例

创建构建环境会话

PS C:\Users\kmpkg\kmpkg> kmpkg env
Microsoft Windows [Version 10.0.25905.1000]
(c) Microsoft Corporation. 保留所有权利。

C:\Users\kmpkg\kmpkg>

执行单个命令

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

CMake 套件由 Kitware 维护和支持 (kitware.com/cmake)。

保留环境变量

PS C:\Users\kmpkg\kmpkg> $env:CLEARED_ENV_VAR="hello"
PS C:\Users\kmpkg\kmpkg> kmpkg env "set CLEARED_ENV_VAR"
环境变量 CLEARED_ENV_VAR 未定义
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

向环境中添加 --tools 路径

PS C:\Users\kmpkg\kmpkg> kmpkg install minizip[tool]
PS C:\Users\kmpkg\kmpkg> kmpkg env --tools "minizip"
MiniZip 1.1,zLib + MiniZip64 包的演示程序,由 Gilles Vollant 编写
有关 MiniZip 的更多信息,请访问 http://www.winimage.com/zLibDll/minizip.html

使用方法 : minizip [-o] [-a] [-0 至 -9] [-p 密码] [-j] 压缩包名.zip [待添加的文件]

-o 覆盖已存在的 file.zip
-a 追加内容到已存在的 file.zip
-0 仅存储(不压缩)
-1 更快的压缩速度
-9 更高的压缩率

-j 排除路径,仅存储文件名。

命令选项

所有 kmpkg 命令均支持一组通用选项

--triplet=<triplet>

指定配置环境时的目标三元组。该选项会影响 Visual Studio 构建环境的初始化方式,以及其他选项所使用的 installed 目录路径。

更多信息请参考通用选项中的--triplet

--bin

将对应三元组 installed 目录下的 bin 文件夹添加到会话的 PATH 环境变量中。

--debug-bin

将对应三元组 installed 目录下的 debug/bin 文件夹添加到会话的 PATH 环境变量中。

--include

将对应三元组 installed 目录下的 include 文件夹添加到会话的 INCLUDE 环境变量中。

--tools

将对应三元组 installed 目录下的 tools 文件夹添加到会话的 PATH 环境变量中。

--python

将对应三元组 installed 目录下的 python 文件夹添加到会话的 PYTHONPATH 环境变量中。