跳到主要内容

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 项目的安装流程)。

示例

源码

scripts/cmake/kmpkg_install_nmake.cmake