Для внешних библиотек пользователь может указать нестандартное расположение, добавив путь к CMAKE_FLAGS
или добавив -DMYLIB_ROOT
. В сценарии CMake я хочу найти файл библиотеки pkg-config pc. Поскольку файл pc не находится в стандартной папке, он не может быть найден pkg-config с pkg_search_module
FindPkgConfig
.
Я попытался добавить указанный пользователем путь к 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 из терминала с измененным набором PKG_CONFIG_PATH
, он находит файл pc. Что я делаю не так? Как я могу заставить pkg_search_module
работать? Я бы не хотел вызывать pkg-config напрямую из CMake.