【发布时间】:2017-04-29 15:05:52
【问题描述】:
我正在开发一个使用 CMake 的项目。顶部的CMakeLists.txt 文件包含以下行:
cmake_minimum_required(VERSION 3.7.2) # Kittens will die if you switch to an earlier version of CMake. We suggest using CMake 3.8.0.
我想强制所有开发人员切换到 CMake 3.8.0,但由于某些原因,并非所有开发人员都具有管理权限并且无法立即从 3.7.2 切换到 3.8.0。实际上,我们不需要 3.8.0 版本的任何新功能,但我们的政策是始终使用最新和最强大的工具来防止将来出现“移植”问题——例如从 Qt4 快速切换到 Qt5 是一个不错的决定过去 - 我知道总是切换到最新的库和工具也有一些缺点,正如 here 所讨论的那样,但我们希望这样做。
正因如此,与其强制大家使用 3.8.0 版本,不如在使用 CMake 3.7.2 时输出警告信息。有点像这样:
# not working - just pseudocode
if(CMAKE_VERSION == "3.7.2")
message("Please consider to switch to CMake 3.8.0")
endif()
我试图读取VERSION 变量,但这不起作用。现在有谁可以实现这个检查?
【问题讨论】:
-
我认为所有开发人员都可以构建软件,因此他们也可以构建 cmake。这比用不相关的东西使项目膨胀要好。
-
CMake 不需要安装。是否有可能在您的项目中部署适合您需求的版本?这就是我在我的项目中所做的,例如Visual Studio 2017 或 Android NDK 可以。
标签: cmake