我正在开发一个使用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.
Run Code Online (Sandbox Code Playgroud)
我想强制所有开发人员切换到CMake 3.8.0,但由于某些原因,并非所有开发人员都拥有管理权限,并且无法立即从3.7.2切换到3.8.0.实际上,我们不需要3.8.0版本的任何新功能,但我们的政策是始终使用最新和最好的工具来防止将来"移植"问题 - 例如从Qt4快速切换到Qt5是一个很好的决定在过去 - 我知道切换到最新的库和工具也有一些缺点,如这里讨论的,但我们想这样做.
因此,如果使用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()
Run Code Online (Sandbox Code Playgroud)
我试图读取VERSION
变量,但这不起作用.现在有人如何实现这项检查?
oLe*_*Len 19
目前存在的那几个变量,描述在这里:
CMAKE_MAJOR_VERSION
CMake的主要版本号,例如CMake的CMake 2.4.3
CMAKE_MINOR_VERSION
次要版本号中的"2" ,例如CMake的CMake 2.4.3
CMAKE_PATCH_VERSION
补丁版本号中的"4" ,例如CMake 2.4.3中的"3"
此外,变量CMAKE_VERSION
包含版本的字符串.在您的情况下,您可以使用以下内容:
if(${CMAKE_VERSION} VERSION_LESS "3.8.0")
message("Please consider to switch to CMake 3.8.0")
endif()
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
12228 次 |
最近记录: |