13

CMakeLists.txt脚本中,习惯上具有:

cmake_minimum_required(VERSION x.y)

对于适当的 xy 版本号。但是 - 你怎么知道那个最低版本是什么?我不使用旧版本;随着我的发行版更新,CMake 也会更新,所以我什至可能已经引入了需要更新版本的命令,而我只是不知道。

理论上我可以要求我测试过的版本CMakeLists.txt——但它们是相当新的,我不想将我的代码的用户限制在这个范围内。

4

2 回答 2

11

没有自动的方法可以做到这一点。以下是我使用过的一些方法:

  1. 如果你用过 CMake 一段时间,你可能会大致记得哪些功能是新旧的。选择您使用的一些您认为较新的功能,并阅读文档以了解支持它们的版本。
  2. 如果您只能安装一两个旧版本,那可能就足够了。CMake 2.8.x 非常受欢迎,因此安装它并测试它是否有效(也许修复它确实有效)对于某些用户来说将是一项不错的服务。
  3. 别担心。将最小值设置为 2.8.10,然后在用户遇到特定问题时接受补丁或错误报告。将此数字设置得太低不太可能会造成任何严重的危害——通常它只会导致与“CMake 版本太旧”不同的错误消息。
于 2016-12-27T02:27:35.937 回答
5

tl;dr:尝试使用不同的 CMake 版本进行构建。

根据声称的最低要求版本从https://cmake.org/files/下载 CMake 二进制文件。您可以将它们解压缩到某个目录并使用此 CMake 以确保它仍然是所需的最低版本。您可以同时拥有任意多个版本。不要忘记删除构建目录。

你没有提到的一个问题,但也很重要:用更新的版本检查你的代码。新政策可能会导致数十个警告,许多项目试图在发布中避免警告。因此,拥有具有相同程序的最新版本可能会更好。

于 2016-12-27T09:02:56.160 回答