CMake pkg_check_modules не ищет CMAKE_PREFIX_PATH - PullRequest
0 голосов
/ 03 ноября 2018

Я пытаюсь скомпилировать проект, который использует CMake и pkg_check_modules, где я не могу получить pkg_check_modules, чтобы найти библиотеки, расположенные в CMAKE_PREFIX_PATH.

Я полагаю, что следующий пример воссоздает проблему:

Если у меня libtest.so находится в /home/user/test/lib, то с учетом CMakeLists.txt:

include(FindPkgConfig)
pkg_check_modules(
  TEST
  REQUIRED
  libtest
)

... и запустить его с:

cmake -DPKG_CONFIG_USE_CMAKE_PREFIX_PATH=TRUE -DCMAKE_PREFIX_PATH=/home/user/test .

... приводит к ошибке:

No package 'libtest' found

Я также попытался запустить против strace -v -f, что включает в себя попытку access для /home/user/test/lib/pkgconfig, но ничего не регистрируется для libtest.

Я использую Ubuntu 16.04 и CMake 3.5.1

1 Ответ

0 голосов
/ 05 ноября 2018

Macro pkg_check_modules - это утилита для pkg-config , которая ищет файл .pc и читает его. Ошибка

No package 'libtest' found

означает, что пакет не соответствует .pc или CMake не может найти этот файл.

...