分隔软件包的两个最低要求版本

时间:2019-03-13 17:09:17

标签: cmake

我的CMake项目依赖于存在错误的软件包。该错误已在两个不同功能分支的错误修复版本中修复。假设该错误已在2.4.4和2.5.1中修复,但仍在2.4.3和2.5.0中存在。我的一些用户被依赖包的2.4功能训练所困,另一些用户则被2.5所吸引,因此我遇到的问题是对前者实施2.4.4,对后者实施2.5.1。调用find_package时该怎么做?如果我打电话:

find_package(ExternalPackage 2.4.4 REQUIRED)

那么对于2.4版本的人来说就可以了,但这也适用于2.5.0版本;以同样的方式,如果我打电话:

find_package(ExternalPackage 2.5.1 REQUIRED)

然后我的代码将无法在2.4.x上运行。有没有办法来解决这个问题?谢谢。

1 个答案:

答案 0 :(得分:1)

软件包版本检查由软件包提供的版本文件完成。唯一可以影响其行为的是可以发送给EXACT的{​​{1}}参数。

我的建议是检查版本find_package,但断言该版本不是2.4.4

2.5.0