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 ..
Другие вопросы по тегам