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 环境变量中。