使用自定义 cmake 版本变量测试包版本集

testing for a package version set using custom cmake version variable

我在我的项目中使用 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?

if命令supports VERSION keyword执行版本号比较:

if(${FLTK_VERSION} VERSION_GREATER_EQUAL 1.3.7)