【发布时间】:2016-06-03 16:06:39
【问题描述】:
我想使用“cmake_minimum_required”工具定义 CMake 的最低版本。 我已经看到一些项目设置最低版本 2.8 一些其他设置 3.0 或 3.2。 我想了解您对该主题的意见和最佳做法。
【问题讨论】:
-
Opinions and best practices通常与why?问题的答案有关。 -
尽可能选择最大(最后)版本?
-
不是最后的,而是你需要的;最后一个版本(或前沿的夜间构建)可能不是您需要的东西。但首先您需要确定这些限制背后的原因,然后选择满足您大部分需求的那个 - 很可能可能不是最后一个版本。
-
如果我要开始一个新项目,我至少会选择 3.3。 3.x 版本确实引入了许多非常有用的命令(例如
target_...命令或if(... IN_LIST ...)),并且它具有更好的一致性检查(可通过policies配置)。我遇到了一些与我的环境相关的错误(例如,与ninja结合使用)并在 3.3 中修复。 -
@mustafagonul:如果您知道满足您的要求的最低版本,并且它是几个版本,那么选择最新和最好的版本基本上是故意烦人的。在撰写本文时,cmake.org 拥有 3.4.3。 Debian stable 有 3.0.2,Ubuntu wily 有 3.2.2,甚至 Gentoo stable 也“只有”3.3.1。因此,为了编译您的软件,基本上每个人都必须先手动下载并安装更新的 CMake(然后它会开始恶化,因为它不会 通过包管理器更新)。作为客户,我不喜欢这样。