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

对于外部库,用户可以通过添加到CMAKE_FLAGS的路径或添加-DMYLIB_ROOT来指定非标准位置.在CMake脚本中,我想找到该库的pkg-config pc文件.因为pc文件不在标准文件夹中,所以pkg-config没有找到FindPkgConfig的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_PATH设置从终端调用pkg-config时,会找到pc文件.我究竟做错了什么?如何获取pkg_search_module的工作?我想避免直接从CMake调用pkg-config.

最佳答案
也许以下将会做这个工作

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

转载注明原文:在CMake脚本中临时添加pkg-config的路径? - 代码日志