问题
我有一个包含以下内容的CMakeLists.txt
文件:
pkg_check_modules(FOO REQUIRED foo>=0.1.0.1)
当我在该目录中运行带有cmake3 -G Ninja .
的 Cmake v3.17.2 时:
Checking for module 'foo>=0.1.0.1'
Requested 'foo >= 0.1.0.1' but version of foo is Uncontrolled
详
- 这是在RHEL7内部运行的
yum info foo | grep Version
返回Version : 0.1.0.1.20200417git602d018
- foo模块是由我所在的团队创建的
问题
我怎样才能告诉 CMake 我的foo库是什么版本,这样它就不会"不受控制"?
在 foo 项目的输出中,在生成的lib64
目录中,有一个包含foo.pc
的pkgconfig
目录。
在该文件内部,版本信息如下所示:
Version: HEAD
将其更改为预期版本。就我而言,这是由foo的构建过程自动化的,因此需要为当前版本添加一个 git 标签并重建。