在当前流行的 Linux 发行版中我可以依赖哪个 CMake 版本?

在当前流行的 Linux 发行版中我可以依赖哪个 CMake 版本?

假设我正在CMakeLists.txt为我的一个项目编写一个文件。我想使用一些较新的 CMake 功能...但我不想最终需要许多用户发行版中不存在的 CMake 版本。

所以,我的问题是:

  • 截至 2019 年 7 月,不晚于当前用户群份额超过 90% 的 GNU/Linux 发行版中包含的默认版本的最新 CMake 版本是什么?
  • 最新的 CMake 版本是什么,不晚于 Linux 发行版中包含的默认版本(也就是说,包括较旧的发行版截至 2019 年 7 月,至少 90% 的 GNU/Linux 用户安装了?

另外 - 对于所有 Un*x 操作系统和发行版都有同样的问题,如果您有相关数据的话。

答案1

pkgs.org告诉我它所知道的 Linux 发行版中 CMake 的可用版本如下:

  • Arch Linux:3.15.2
  • CentOS:2.8.12.2(CentOS 7 和 6)
  • Debian:3.13.4(Debian 10)、3.7.2(Debian 9)、3.0.2(Debian 8)
  • Fedora:3.14.5(Fedora 30 和 29)
  • 玛吉亚:3.14.3(玛吉亚 7)、3.10.2(玛吉亚 6)
  • OpenMandriva:3.14.5(OpenMandriva 4.0)、3.11.4(OpenMandriva 3.0)
  • openSUSE Leap:3.10.2(这是基于发行版的 openSUSE 发行版)
  • openSUSE Tumbleweed:3.13.4(这是 openSUSE 的滚动版本)
  • Slackware:3.5.2(Slackware 14.2)、2.8.12(Slackware 14.1)、2.8.8(Slackware 14.0)
  • Ubuntu:3.13.4 (Ubuntu 19.04)、3.10.2 (Ubuntu 18.04)、3.5.1 (Ubuntu 16.04)、2.8.12/3.5.1 (Ubuntu 14.04;3.5.1 作为软件包提供cmake3)

除了上述之外,RHEL 8 还有 3.11.4;以前版本的 RHEL 具有与 CentOS 相同的版本(如您所料)。 EPEL 附带一个cmake3软件包,为 CentOS 和 RHEL 7 提供版本 3.13.5,为 CentOS 和 RHEL 6 提供版本 3.6.1。

对于非 Linux 发行版:

  • FreeBSD:3.14.5
  • 网络BSD:3.14.5
  • OpenBSD:3.15.2
  • macOS(通过 Homebrew):3.15.2

上面的版本是给定发行版的每个发行版中可用的最新版本,不一定是默认版本 - 我希望大多数用户能够在给定发行版中保持其发行版最新。

我不知道需要什么才能覆盖 90% 的安装基础。如果您坚持使用上述所有发行版的最新版本,则 3.5.2 涵盖除 CentOS 之外的所有内容,而 3.10.2 则涵盖除 CentOS 和 Slackware 之外的所有内容。无论如何,CentOS 的情况应该是暂时的,因为 CentOS 8 即将推出,并且可以通过使用 EPEL 来解决。如果您想包含仍在广泛使用的版本,那么您可以使用 2.8.12.2,因为 CentOS 和 RHEL 拥有庞大的安装基础(但再次请参阅 EPEL),或者如果您想忽略它,则可以使用 3.5.1,但仍然包括 Debian 和 Ubuntu 的流行版本。

我怀疑桌面上最受欢迎的发行版是 Ubuntu,其次可能是 Fedora(忽略 macOS 和 ChromeOS);在服务器上,RHEL、CentOS 和其他 RHEL 衍生版本、Debian、Ubuntu 以及服务器主机使用的专有发行版(按某种顺序)。但想要获得可靠的数据是不可能的。 (Distrowatch 的受欢迎程度数据反映了每个发行版上 Distrowatch 页面的受欢迎程度,而不是每个发行版的使用情况)。

相关内容