Чи є можливість налагоджувати CMakeLists.txtфайли (принаймні перелік змінних), крім оператора повідомлення ?
Чи є можливість налагоджувати CMakeLists.txtфайли (принаймні перелік змінних), крім оператора повідомлення ?
Відповіді:
Для CMake не існує інтерактивного налагоджувача, проте є також прапори -Wdev, --debug-outputі --traceце може допомогти. Також НЕ забудьте перевірити файли журналів CMakeFiles\CMakeOutput.logі CMakeFiles\CMakeError.logякі в основному збирати виходи процесів , що викликаються CMake (наприклад , при перевірці на наявність типу або заголовка).
Починаючи з версії 3.7 , CMake зараз офіційно підтримує "серверний режим", тому інтеграція в IDE найімовірніше покращиться найближчим часом. Початкова підтримка існує як у Qt Creator, так і в Visual Studio 2017 RC
ifоператорів CmakeList.txt? came --debug ...і cmake --debug-output ...не друкують їх. У Bash це еквівалент bash -x <cmd>.
--traceяк правило, досить великий (перенаправити вихід у файл!)
string(STRIP ...)була зламана. Також див. Розділ Як усунути кінцевий рядок нового рядка у змінній Cmake? . Прошу вибачення, якщо ви не знали, що bash -xробить.
Ви можете спробувати використати новий налагоджувач сценаріїв CMake, наданий інструментом VisualGDB . Він використовує форк CMake з відкритим кодом, який підтримує перехід через файли CMakeLists.txt, встановлення точок зупинки коду / даних, оцінку / зміну змінних тощо
Там же докладно крок за кроком підручник про новий отладчике тут
Існують інструменти CMake Daemon Steveire . Я сам ними не користувався, але вони стверджують, що вони пропонують можливості для самоаналізу, які здаються досить близькими до налагоджувача.
Редагувати : Вони тепер називаються CMake-сервером і є частиною CMake 3.7.
Мені подобається використовувати переменну_перегляду для "налагодження" моїх файлів CMakeLists.txt. Просто встановіть зверху мого сценарію:
variable_watch(SOME_MY_VAR)
Також прочитайте про env var VERBOSE: https://cmake.org/cmake/help/latest/envvar/VERBOSE.html
Я використав це таким чином:
export VERBOSE=defined
make
і отримав ще кілька деталей.
В інших випадках редагуйте CMakeLists.txt файл, щоб включити такий рядок:
set(CMAKE_VERBOSE_MAKEFILE ON)
(Деякий допис про це https://bytefreaks.net/programming-2/make-building-with-cmake-verbose ).
Крім того, є корисні cmakeопції, що керують виведенням налагодження, див. Сторінку: https://cmake.org/cmake/help/latest/manual/cmake.1.html