Skip to main content
Version: nightly 🚧

用例: 打包 Gitee 项目

演示如何打包一个Gitee项目。

创建清单文件

清单文件(称为kmpkg.json)是描述包元数据的 json 文件。

对于 libogg,我们将创建包含以下内容的文件 ports/libogg/kmpkg.json

{
"name": "libogg",
"version-string": "1.3.3",
"description": "Ogg is a multimedia container format, and the native file and stream format for the Xiph.org multimedia codecs."
}

您可以使用kmpkg format-manifest ports/libogg/kmpkg.json将清单文件格式化为我们的规范。

创建端口文件

portfile.cmake 描述了如何构建和安装该包。首先,我们使用 kmpkg_from_gitee 从 Gitee 下载项目:

kmpkg_from_gitee(
OUT_SOURCE_PATH SOURCE_PATH
REPO kumo-hub/ogg
REF v1.3.3
SHA512 0bd6095d647530d4cb1f509eb5e99965a25cc3dd9b8125b93abd6b248255c890cf20710154bdec40568478eb5c4cde724abfb2eff1f3a04e63acef0fbbc9799b
HEAD_REF master
)

要更新的重要部分是 GitHub 存储库路径的“REPO”、要使用的稳定标记/提交的“REF”以及带有下载文件的校验和的“SHA512”(您可以通过将其设置为“0”来轻松获取) `,尝试安装包,并复制校验和)。

最后,我们使用 CMake 配置项目,安装包,并复制许可证文件:

kmpkg_cmake_configure(SOURCE_PATH ${SOURCE_PATH})
kmpkg_cmake_install()
file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/libogg" RENAME copyright)

如果您的软件包需要其他选项,请检查 kmpkg_cmake_configurekmpkg_cmake_install 的文档。

现在您可以运行“kmpkg install libogg”来构建和安装该软件包。

S建议的示例端口文件

ports/ 目录中有许多可以用作示例的库,包括许多不基于 CMake 的库。

  • 仅标头库
    • rapidjson
    • range-v3
  • 非 CMake,自定义构建系统
    • openssl
    • ffmpeg