
各位开发者: 根据软件演进规划,openEuler 于2026年的第一个创新版本中,cmake 将升级到 4。相较于当前已经使用多年的 cmake 3 来说,该版本即将产生如下变化: 1. 抛弃与 cmake < 3.5 的策略兼容性 如果你的CMakeLists.txt中声明了如下版本依赖: cmake_minimum_required(VERSION 2.8.12) 使用 cmake 4 构建时将报错。 2. %cmake 宏不再提供 LIB_INSTALL_DIR 和 LIB_SUFFIX 等构建变量 请不要在 CMakeLists.txt 中依赖这些变量来取得 lib64 或 /usr/lib64 这样的文件路径。而应该使用 cmake 自带模块 GNUInstallDirs 中的 CMAKE_INSTALL_LIBDIR 等变量来指代共享库路径。 有关补丁可参见 [1] 由于 openEuler 1.0 时携带的是 cmake 3.12,以上适应性修改并不影响与 openEuler 较早 LTS 各分支内的构建兼容性,补丁可同时适用于较早分支。但由于 openEuler 25.03 起 %cmake 系列宏产生了重大变化,有向后移植需求的开发者应该谨慎处理。 基于 openEuler 25.09 everything 的 cmake 4.1 测试工程[2]中,构建失败的包于此 issue 记录[3]。开发者请在 master 分支中尽早处理涉及的 issue 及 PR。cmake 4 的升级上线节点视乎 cmake 4.2 上游发布时间而定,但不晚于2025年12月。 [1]: https://gitee.com/src-openeuler/qhull/pulls/16 [2]: https://eulermaker.compass-ci.openeuler.openatom.cn/project/overview?osProje... [3]: https://gitee.com/src-openeuler/cmake/issues/IBPYOG