跳到主要内容

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.logbuild-debug.log 等日志文件。

TARGETS、RELEASE_TARGETS、DEBUG_TARGETS

指定对应构建配置下要执行的构建目标:

  • TARGETS:对 Debug 和 Release 构建均生效的通用目标;
  • RELEASE_TARGETS:仅对 Release 构建生效的目标(优先级高于 TARGETS);
  • DEBUG_TARGETS:仅对 Debug 构建生效的目标(优先级高于 TARGETS)。

可传入多个目标(如 allinstallclean 等),按传入顺序执行。

示例

基础用法(构建默认目标)

# 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

源码

ports/kmpkg-qmake/kmpkg_qmake_build.cmake