跳到主要内容

kmpkg_acquire_msys

下载并准备一个 MSYS2 实例。

用法

kmpkg_acquire_msys(<MSYS_ROOT_VAR>
PACKAGES <package>...
[NO_DEFAULT_PACKAGES]
[DIRECT_PACKAGES <URL> <SHA512> <URL> <SHA512> ...]
)

参数

MSYS_ROOT_VAR

一个输出变量,会被赋值为 MSYS2 的路径。

PACKAGES

要在 msys 中获取的软件包列表。

要确保某个软件包可用:kmpkg_acquire_msys(MSYS_ROOT PACKAGES make automake1.16)

NO_DEFAULT_PACKAGES

排除默认的基础软件包。

基础软件包列表包括:bash、coreutils、sed、grep、gawk、gzip、diffutils、make 和 pkg-config

DIRECT_PACKAGES

要在 msys 中获取的 URL/SHA512 键值对列表。

端口可使用此参数自行扩展需要获取的 msys 软件包列表。 这些 URL 可在 msys2 官网 找到,且应为直接的归档文件链接:

https://mirror.msys2.org/msys/x86_64/gettext-0.22.4-1-x86_64.pkg.tar.zst

说明

调用 kmpkg_acquire_msys 后,通常会接着调用 bash.exe

kmpkg_acquire_msys(MSYS_ROOT)
set(BASH "${MSYS_ROOT}/usr/bin/bash.exe")

kmpkg_execute_required_process(
COMMAND "${BASH}" --noprofile --norc "${CMAKE_CURRENT_LIST_DIR}\\build.sh"
WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel"
LOGNAME "build-${TARGET_TRIPLET}-rel"
)

示例

源码

scripts/cmake/kmpkg_acquire_msys.cmake