
27 Aug
2025
27 Aug
'25
10:39 a.m.
各位开发者:
根据软件演进规划,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月。
13
Age (days ago)
13
Last active (days ago)
0 comments
1 participants
participants (1)
-
Funda Wang