使用自定义 cmake 版本变量测试包版本集
Posted
技术标签:
【中文标题】使用自定义 cmake 版本变量测试包版本集【英文标题】:testing for a package version set using custom cmake version variable 【发布时间】:2021-09-25 05:15:24 【问题描述】:我在我的项目中使用 CMake 链接到 FLTK,并希望确保如果其他人尝试在他们的机器上这样做,他们拥有最新版本 (1.3.7)。
在 CMake 中执行此操作的正常方式是
find_package(FLTK 1.3.7 REQUIRED)
但是,这需要在相关的FLTKConfig.cmake
文件中设置诸如PACKAGE_FIND_VERSION_MAJOR
等变量。可惜这个包里没有设置这些,但是设置的是set (FLTK_VERSION 1.3.7)
如何在我的CMakeLists.txt
文件中测试此变量(可能设置为 1.3.6 或 1.4.0 或其他)是否大于或等于 1.3.7?
【问题讨论】:
【参考方案1】:if
命令supports VERSION
keyword 执行版本号比较:
if($FLTK_VERSION VERSION_GREATER_EQUAL 1.3.7)
【讨论】:
太好了,谢谢。在您的回答中使用VERSION_GREATER_EQUAL
给了我所需的行为。以上是关于使用自定义 cmake 版本变量测试包版本集的主要内容,如果未能解决你的问题,请参考以下文章