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

ein*_*lum -1 compatibility cmake distributions

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

所以,我的问题是:

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

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

Ste*_*itt 5

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
  • NetBSD: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 页面在每个发行版上的流行度,而不是每个发行版的使用情况)。

  • @einpoklum Distrowatch 衡量对 Distrowatch 感兴趣的人的兴趣,这是少数 Linux 用户。这些统计与使用统计无关。即使在桌面上,绝大多数用户也只使用一种发行版,并不关心使用其他发行版。 (2认同)