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