gpt4 book ai didi

cmake - 使用 CMake 检测当前的 CMake 版本

转载 作者:行者123 更新时间:2023-12-04 00:41:18 28 4
gpt4 key购买 nike

我正在开发一个使用 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 ,但我们想这样做。

因此,如果使用 CMake 3.7.2,我想输出警告消息,而不是强制每个人使用 3.8.0 版本。有点像这样:
# not working - just pseudocode
if(CMAKE_VERSION == "3.7.2")
message("Please consider to switch to CMake 3.8.0")
endif()

我试图阅读 VERSION变量,但这不起作用。有没有人现在如何实现这种检查?

最佳答案

存在一些变量,描述为 here :

CMAKE_MAJOR_VERSION
major version number for CMake, e.g. the "2" in CMake 2.4.3
CMAKE_MINOR_VERSION
minor version number for CMake, e.g. the "4" in CMake 2.4.3
CMAKE_PATCH_VERSION
patch version number for CMake, e.g. the "3" in CMake 2.4.3


此外,变量 CMAKE_VERSION包含版本的字符串。
例如,在您的情况下,您将使用以下内容:
if(${CMAKE_VERSION} VERSION_LESS "3.8.0") 
message("Please consider to switch to CMake 3.8.0")
endif()
其他比较运算符是 VERSION_EQUALVERSION_GREATER .

关于cmake - 使用 CMake 检测当前的 CMake 版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43697154/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com