Как сказать CMake выводить пути поиска пакетов? - PullRequest
0 голосов
/ 21 января 2019

Я компилирую libdwarf в Windows.В своем корне CMakeLists.txt он пытается найти LibElf через:

find_package(LibElf REQUIRED)

LibElf не использует CMAKE, и я не настроил его для какой-либо регистрации, поэтомуконечно find_package терпит неудачу.Я хотел бы, чтобы CMake распечатал все пути, по которым он ищет LibElf во время выполнения.Как мне сказать CMake вывести это?Я пробовал --trace, но это просто показывает мне поток выполнения через мои CMakeLists.txt файлы, а не места, где сам CMake в настоящее время ищет пакеты.

Я знаю документацию для find_package описывает, где ищет CMake, но я могу изменить это поведение с помощью всевозможных переменных, переменных среды и настроек реестра.Я хотел бы видеть, где именно CMake ищет, учитывая все мои модификации тех элементов, которые я только что упомянул.

Я должен отметить, что libdwarf включает в себя модуль cmake/FindLibElf.cmake.Возможно, то, что я прошу, не возможно, если FindLibElf.cmake может делать все, что пожелает?

1 Ответ

0 голосов
/ 22 января 2019

CMake имеет недокументированную переменную CMAKE_FIND_DEBUG_MODE, установка которой на ненулевое значение приводит к выводу тонны отладочной информации о процессе поиска find_package и других find_* команд.

Можно установить переменную в командной строке:

cmake -DCMAKE_FIND_DEBUG_MODE=1 <...>

или CMakeLists.txt:

set(CMAKE_FIND_DEBUG_MODE 1)

Использование переменной можно найти в CMake tests или в mailing .

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