跳到主要内容

kmpkg_build_nmake

构建 NMake Makefile 项目。

用法

kmpkg_build_nmake(
SOURCE_PATH <${SOURCE_PATH}>
[PROJECT_SUBPATH <${SUBPATH}>]
[PROJECT_NAME <${MAKEFILE_NAME}>]
[LOGFILE_ROOT <prefix>]
[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>...]
[ENABLE_INSTALL]
)

参数

SOURCE_PATH

指定包含源文件的目录。 按照惯例,在端口文件中通常将其设置为变量 SOURCE_PATH

PROJECT_SUBPATH

指定包含 makefile 的子目录。

PROJECT_NAME

指定 makefile 的名称。 默认值为 makefile.vc

LOGFILE_ROOT

指定日志文件的前缀。

CL_LANGUAGE

指定用于在 _CL_ 环境变量中设置标志的语言。 默认语言为 CXX。 若要禁用对 _CL_ 的修改,请使用 NONE

PREFER_JOM

指定应尝试使用 jom 进行并行构建。 这对于快速构建处理大量独立目标、且无法从 cl 命令的 /MP 选项获益的 makefile 非常有用。 为缓解不支持并发的 makefile 带来的问题,当 jom 构建出错时,会自动运行常规的 nmake 构建。

PRERUN_SHELL

构建前需要调用的脚本。

PRERUN_SHELL_DEBUG

调试版本构建前需要调用的脚本。

PRERUN_SHELL_RELEASE

发布版本构建前需要调用的脚本。

OPTIONS

传递给构建命令的额外选项。

OPTIONS_RELEASE

仅传递给发布版本构建命令的额外选项。这些选项会附加在 OPTIONS 之后。

OPTIONS_DEBUG

仅传递给调试版本构建命令的额外选项。这些选项会附加在 OPTIONS 之后。

TARGET

传递给构建命令的目标列表。 若未指定,则会传递 all 目标。

ENABLE_INSTALL

install 添加到传递给构建命令的目标列表中,并在 INSTALLDIR makefile 变量中传递安装前缀。

说明

如果你的 makefile 支持 “install” 目标,可使用别名函数 kmpkg_install_nmake()

示例

源码

scripts/cmake/kmpkg_build_nmake.cmake