CMake中如何通过FLTK_VERSION变量检测FLTK包版本是否≥1.3.7
CMake检测FLTK最低版本的实现方案
首先无版本约束调用find_package获取FLTK提供的FLTK_VERSION变量,再手动做版本校验即可,具体代码如下:
# 查找FLTK包,先获取其内置定义的版本变量 find_package(FLTK REQUIRED) # 校验版本不低于1.3.7 if(FLTK_VERSION VERSION_LESS "1.3.7") message(FATAL_ERROR "FLTK版本过低,当前版本为 ${FLTK_VERSION},要求最低版本为1.3.7") endif()
- CMake内置的
VERSION_LESS比较符会自动按语义版本规则拆分版本号逐段比较,不需要手动拆分版本数值,兼容性好。 - 如果需要兼容极老的未定义
FLTK_VERSION的FLTK版本,可以额外加变量存在性判断:
find_package(FLTK REQUIRED) if(NOT DEFINED FLTK_VERSION) message(FATAL_ERROR "无法识别当前FLTK版本,请升级到1.3.7及以上版本") endif() if(FLTK_VERSION VERSION_LESS "1.3.7") message(FATAL_ERROR "FLTK版本过低,当前版本为 ${FLTK_VERSION},要求最低版本为1.3.7") endif()
内容的提问来源于stack exchange,提问作者user3353819
相关产品推荐
相关产品推荐

