kmpkg_qmake_build
该函数在 kmpkg-qmake 版本 2022-11-16 中新增。
用于构建此前通过 kmpkg_qmake_configure 完成配置的 QMake 项目。
用法
kmpkg_qmake_build(
[SKIP_MAKEFILES]
[BUILD_LOGNAME arg1]
[TARGETS arg1 [arg2 ...]]
[RELEASE_TARGETS arg1 [arg2 ...]]
[DEBUG_TARGETS arg1 [arg2 ...]]
)
使用该函数前,必须依赖辅助端口 kmpkg-qmake(需配置为 host 依赖):
"dependencies": [
{
"name": "kmpkg-qmake",
"host": true
}
]
参数说明
SKIP_MAKEFILES
跳过对 Makefile 的修正操作——默认情况下,函数会修正 Makefile 中「指向已安装文件的引用」,将其重定向到「包目录(packages)」;设置该参数后,此修正逻辑会被禁用。
BUILD_LOGNAME
构建日志文件的配置无关前缀(即 Debug/Release 构建会基于该前缀生成不同日志文件)。
默认值为 build,例如会生成 build-release.log、build-debug.log 等日志文件。
TARGETS、RELEASE_TARGETS、DEBUG_TARGETS
指定对应构建配置下要执行的构建目标:
TARGETS:对 Debug 和 Release 构建均生效的通用目标;RELEASE_TARGETS:仅对 Release 构建生效的目标(优先级高于TARGETS);DEBUG_TARGETS:仅对 Debug 构建生效的目标(优先级高于TARGETS)。
可传入多个目标(如 all、install、clean 等),按传入顺序执行。
示例
基础用法(构建默认目标)
# 1. 配置 QMake 项目
kmpkg_qmake_configure(
SOURCE_PATH ${SOURCE_PATH}
OPTIONS "QT_INSTALL_PREFIX=${CURRENT_PACKAGES_DIR}"
)
# 2. 构建项目(使用默认目标)
kmpkg_qmake_build()
自定义构建目标
kmpkg_qmake_build(
BUILD_LOGNAME "myproject-build" # 日志文件前缀改为 myproject-build
TARGETS "all" # 通用目标:构建所有产物
RELEASE_TARGETS "install" # Release 构建额外执行 install 目标
DEBUG_TARGETS "debug-install" # Debug 构建执行自定义 debug-install 目标
)
官方示例参考
可在 kmpkg 仓库中搜索实际应用案例:
Search kumose/kmpkg for kmpkg_qmake_build