CMake find_package: где он нашел пакет?
В моем пакете CMake есть вызов find_package
, Это успешно, отлично! Однако оказывается, что это не та версия пакета. Теперь я хочу пойти и удалить этот пакет. Тем не менее, я понятия не имею, где, черт возьми, это в моей системе, и где -config.cmake
файл, который CMake, должно быть, где-то нашел. Есть ли способ получить find_package
дать мне эту информацию? Или хотя бы многословно скажите мне, где он ищет?
Я думал, что это может быть в переменной CMAKE_MODULE_PATH
Однако это пусто для меня. Так что я думаю, что это где-то в пути по умолчанию. Но CMake ищет пакеты во многих местах, и я не нашел его в обычных местах, которые я помню.
1 ответ
Начиная с CMake 3.17, cmake
в командной строке есть встроенная поддержка печати каталогов поиска для всех CMakefind_*
команды. Использовать--debug-find
флаг:
cmake --debug-find ..
Ах, хорошо, я нашел решение здесь:
https://riptutorial.com/cmake/example/21128/debug-find-package---errors
Оказывается, есть специальный флаг отладки, чтобы сделать find_package
скажу где он ищет:
cmake -D CMAKE_FIND_DEBUG_MODE=ON ..