Как помочь FindPkgConfig.cmake найти пакет? - PullRequest
0 голосов
/ 05 октября 2018

Я пытаюсь скомпилировать свой проект, и мой проект использует sqlcipher пакет.sqlcipher клонируется и устанавливается по произвольному пути, и я экспортировал этот путь через $PATH в файле ~/.bashrc.После настройки, если я набираю sqlcipher в терминале, он работает нормально, но когда я пытаюсь cmake, мой проект на том же терминале дает его

-- Checking for one of the modules 'sqlcipher'
CMake Error at /usr/share/cmake-3.5/Modules/FindPkgConfig.cmake:578 (message):
  None of the required 'sqlcipher' found

Я предполагаю, что должен предоставить этот собственный путь кcmake для поиска этого пакета.Как предоставить пользовательский путь к cmake?Где я делаю ошибку?

1 Ответ

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

Модуль FindPkgConfig.cmake определяет функции pkg_check_modules() и pkg_search_module, которые используют утилиту pkg-config для поиска пакета.

Сама утилитаполучает подсказки для поиска из переменной PKG_CONFIG_PATH environment , которая содержит двоеточия -разделенных (:) путей с .pc файлами:

export PKG_CONFIG_PATH="/home/iam/git/LIB_ROOT/lib/pkgconfig:${PKG_CONFIG_PATH}"
cmake <...>

Нофункции CMake также получают подсказки от переменной CMAKE_PREFIX_PATH, которая содержит разделенные точкой с запятой (;) префиксы установки пакетов.Приняты оба потока переменных, environment и CMake ; *: 1029 *

export CMAKE_PREFIX_PATH="/home/iam/git/LIB_ROOT;${CMAKE_PREFIX_PATH}"
cmake <...>

или

cmake -DCMAKE_PREFIX_PATH:PATH=/home/iam/git/LIB_ROOT <...>

Подход с настройкой CMAKE_PREFIX_PATH равенРаспространенный способ подсказки CMake для поиска пакетов: https://stackoverflow.com/a/34797156/3440745.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...