kmpkg_install_nmake
构建并安装基于 MSVC Makefile 的项目。
用法
kmpkg_install_nmake(
SOURCE_PATH <${SOURCE_PATH}>
[PROJECT_SUBPATH <${SUBPATH}>]
[PROJECT_NAME <${MAKEFILE_NAME}>]
[CL_LANGUAGE <language-name>]
[PREFER_JOM]
[PRERUN_SHELL <${SHELL_PATH}>]
[PRERUN_SHELL_DEBUG <${SHELL_PATH}>]
[PRERUN_SHELL_RELEASE <${SHELL_PATH}>]
[OPTIONS <-DUSE_THIS_IN_ALL_BUILDS=1>...]
[OPTIONS_RELEASE <-DOPTIMIZE=1>...]
[OPTIONS_DEBUG <-DDEBUGGABLE=1>...]
[TARGET <all>...]
)
参数
SOURCE_PATH
指定包含源码文件的根目录。
按照惯例,该参数通常在端口文件中赋值为变量 SOURCE_PATH。
PROJECT_SUBPATH
指定存放 Makefile 的子目录路径(相对于 SOURCE_PATH)。
PROJECT_NAME
指定 Makefile 的文件名。
默认值为 makefile.vc。
CL_LANGUAGE
指定用于配置 _CL_ 环境变量编译标志的编程语言。
默认语言为 CXX;若需禁用对 _CL_ 环境变量的修改,可将该参数设为 NONE。
PREFER_JOM
指定优先尝试使用 jom 执行并行构建。
该选项适用于以下场景:Makefile 包含大量独立构建目标,且无法通过 cl 命令的 /MP 选项提升构建速度。
若 jom 构建失败(例如 Makefile 不支持并发),会自动回退到常规的 nmake 构建。
PRERUN_SHELL
构建开始前需要执行的脚本路径(对 Debug/Release 构建均生效)。
PRERUN_SHELL_DEBUG
仅在 Debug 构建开始前执行的脚本路径。
PRERUN_SHELL_RELEASE
仅在 Release 构建开始前执行的脚本路径。
OPTIONS
传递给所有构建模式(Debug/Release)的额外构建选项。
OPTIONS_RELEASE
仅传递给 Release 构建的额外选项(会追加到 OPTIONS 之后)。
OPTIONS_DEBUG
仅传递给 Debug 构建的额外选项(会追加到 OPTIONS 之后)。
TARGET
传递给构建命令的目标列表。
若未指定,默认使用 all 目标。
说明
该命令会将所有参数透明转发至 kmpkg_build_nmake(),并自动添加 ENABLE_INSTALL 参数(即启用 Makefile 项目的安装流程)。