在CMake脚本中添加pkg-config的临时路径?

时间:2013-12-07 23:06:35

标签: cmake pkg-config

对于外部库,用户可以通过添加CMAKE_FLAGS的路径或添加-DMYLIB_ROOT来指定非标准位置。在CMake脚本中,我想找到库的pkg-config pc文件。因为pc文件不在标准文件夹中,所以pkg-config找不到FindPkgConfig的{​​{1}}。

我尝试将用户指定的路径添加到pkg_search_module,但它似乎被忽略了:

PKG_CONFIG_PATH

当我使用修改后的include(FindPkgConfig) set(PKG_CONFIG_PATH "${PKG_CONFIG_PATH}:${MYLIB_ROOT}/lib/pkgconfig") pkg_search_module(PKG_MYLIB mylib) if(${PKG_MYLIB_FOUND}) ... 设置从终端调用pkg-config时,它会找到pc文件。我究竟做错了什么?我怎样才能PKG_CONFIG_PATH工作?我想避免直接从CMake调用pkg-config。

2 个答案:

答案 0 :(得分:13)

以下可能会完成这项工作

set( ENV{PKG_CONFIG_PATH} "$ENV{PKG_CONFIG_PATH}:${MYLIB_ROOT}/lib/pkgconfig" )

答案 1 :(得分:8)

这是一个已知问题和ticket exists in CMake's bugtracker,但由于缺乏开发人员的兴趣而被重新锁定。我想首先必须提供补丁......

编辑:根据bugtracker的说法,该功能已经实施,并且是CMake 3.1的一部分。