Есть ли способ изучить, что делает cmake
в неудачном прогоне? Например, у меня есть программа в зависимости от libbacktrace, с которой я могу ссылаться на gcc foo.c -lbacktrace
. Но когда я пишу CMakeLists.txt
как
cmake_minimum_required(VERSION 2.8)
find_library (BACKTRACE_LIBRARY backtrace)
message (BACKTRACE_LIBRARY=${BACKTRACE_LIBRARY})
и введите cmake <path>
, он выведет BACKTRACE_LIBRARY=BACKTRACE_LIBRARY-NOTFOUND
.
Как мне разобраться, где проблема? Какие команды выполняет cmake
, прежде чем отказаться от поиска libbacktrace? Выполняет ли что-нибудь вообще? В autoconf все команды записаны в config.log
, но CMakeOutput.log
в этом случае пуст. Аналогично, cmake --trace
только отгоняет содержимое CMakeLists.txt
после кучи системных файлов cmake, что бесполезно в этом случае.
Обратите внимание, что я не ищу способ сделать этот конкретный вызов find_library
work - это просто пример. Мой вопрос: у меня есть CMakeLists.txt, который работает не так, как ожидалось; какие инструменты существуют, чтобы помочь мне выяснить, где и почему это не удается?