Я только начал использовать Clion IDE. Может быть, это где-то написано, но я не видел этого в поиске Google. Если я поставлю вызов message()
в свой скрипт CMake, где в Clion я смогу увидеть результат? Эти вызовы сообщений — единственный известный мне способ отладки сценариев CMake.
Сообщения Clion и CMake
Ответы (4)
Используйте message(WARNING ...)
вместо message(...)
. Предупреждения отправляются в stderr.
Другой возможный обходной путь:
- отключить «автоперезагрузку cmake», если она включена
- после того, как вы что-то изменили в своем файле cmake, не запускайте «Обновить изменения»
- запустить/создать свой проект
Когда clion запускает сборку, он понимает, что файлы cmake не обновлены, и перезагружает их, но, как и другие выходные данные сборки, он отображается на вкладке «Сообщения».
Предупреждения и ошибки отображаются, но другие сообщения в настоящее время скрыты. Однако есть запрос функции, относительно этой проблемы.
Начиная с CLion 2016.2.2, сборка № CL-162.1967.7, CLion отображает выходные данные CMake message(STATUS) в окне инструментов сообщений (Alt+0 ) во время сборки (Ctrl+F9), когда проект впервые собирается после внесения изменений в CMakeLists.txt. Но, как отмечено в других ответах, этот вывод не отображается в окне инструментов CLion CMake (как многие бы предпочли).
Обновление: выше я писал, что CLion "отображает вывод сообщения (СТАТУС)". Теперь я обнаружил, что это происходит с перерывами. @Michael написал, что это происходит, если вы пропустите перезагрузку cmake после изменения файла cmake, но я обнаружил, что CLion иногда не отображает выходные данные CMake в своем окне инструмента «Сообщения» даже в этом состоянии. До сих пор я не обнаружил точных обстоятельств, из-за которых CLion показывает вывод сообщения CMake (STATUS), сообщит здесь, когда / если я это сделаю.
Большое обновление: CLion открывает 2016.3 EAP: определяемые пользователем литералы, выходные данные CMake, завершение ключевых слов C11 и многое другое. См., в частности:окно вывода CMake: a отдельный, я думаю, что это решает всю эту проблему: CLion 2016.3 EAP добавляет новую вкладку, содержащую выходные данные команды CMake.
Конечно же, это EAP, который поставляется с оговоркой JetBrains:
Важно отличать EAP от традиционных предварительных версий программного обеспечения. Обратите внимание, что качество версий EAP иногда может быть намного ниже даже обычных бета-стандартов.
Так что используйте его на свой страх и риск, но вы можете решить, что этот риск стоит взять на себя, если вам нужна отладка CMake.