Поддержка CMake

Из всех проектных моделей CMake наиболее глубоко интегрирована в CLion.

Проект CMake

Открытие CMake-проекта

Любые CMake-проекты можно легко открыть в CLion без дополнительной настройки:

  • укажите корневой файл CMakeLists.txt в исходных файлах проекта или
  • укажите существующую директорию сборки или файл CMakeCache.txt (работает только в случае, когда в качестве генератора использовались Makefiles).

Управление директориями

С помощью опции Mark directory as вы можете вручную пометить директории как библиотеки или исходные/заголовочные файлы и исключить некоторые директории из проекта. Это повлияет на индексацию (например, вы можете исключить артефакты сборки, бинарники, файлы логов и сгенерированные данные), на генерацию кода, рефакторинги и навигацию. Подробнее

Автодополнение переменных CMake

Определение вызова из CLion

Если вам нужно определить, что вызов CMake в вашем проекте происходит именно из CLion (и если это так, задать дополнительные переменные/пути или выполнить дополнительные скрипты), используйте переменную окружения CLION_IDE. А чтобы ее было проще найти, в CLion реализовано автодополнение для переменных окружения.

Добавление/удаление файлов

При добавлении нового файла CLion предлагает автоматически обновить таргеты CMake.

При удалении файла из проекта все упоминания файла будут удалены из команд CMake, и CLion предупредит, если удаление может привести к некорректной команде.

Проект CMake

Импорт проекта

Вы также можете импортировать другие проекты в CMake (File | Import Project...), и CLion создаст для них файл CMakeLists.txt.

Генераторы CMake

Благодаря поддержке API CMake File в CLion можно использовать различные генераторы CMake: Ninja, Xcode, Visual Studio и другие. Доступно на всех платформах, в удаленном режиме и при работе с WSL.

Подробнее

Конфигурация CMake

CMake Profiles

С помощью CMake Profiles (Build, Execution, Deployment | CMake) вы можете управлять директорией генерации CMake, типами конфигурации и разными опциями CMake, переменными окружения и т. д.

Создайте любое необходимое количество новых профилей CMake или скопируйте существующие (все настройки будут также скопированы автоматически). Для сохранения конфигурации сборки в проекте можно использовать новую универсальную функцию CMake Presets. CLion автоматически найдет и импортирует необходимые предустановки CMake в профили CMake.

Переключайтесь между профайлами CMake, используя переключатель конфигурации запуска на панели инструментов или во всплывающем окне Run (Shift+Alt+F10)/Debug (Shift+Alt+F9).

Окно CMake и CMake Cache

В окне CMake отображаются логи вызова команды CMake, которые можно использовать для отслеживания прогресса и отладки скриптов CMake.

Вы можете обновлять опции CMake и просматривать переменные кэша через единый табличный интерфейс. Для этого перейдите в раздел Settings | Build, Execution, Deployment | CMake.

Переведите фокус на таблицу и начните вводить имя или значение искомой переменной – CLion начнет искать ее по таблице. Вы можете просмотреть краткое описание для любой переменной кэша CMake.

Меню CMake

В меню Tools | CMake вы найдете полезные действия для CMake:

  • Reload CMake Project — применить последние изменения CMake и заставить CLion перезагрузить проект, чтобы отразить эти изменения в редакторе (автоматическая перезагрузка включается в меню Build, Execution, Deployment | CMake).
  • Change Project Root — заменить корневой каталог проекта, если он отличается от каталога, в котором содержится файл CMakeLists.txt верхнего уровня.
  • Reset Cache and Reload Project — очистить кэш CMake и перезагрузить проект, сохранив при этом все индексы и кэши IDE.

Умная поддержка CMake

Комментарии CMake

Переименование в CMake

Если вы используете рефакторинг Rename (Shift+F6), чтобы переименовать пользовательский символ в CMake (например, функцию или макрос), CLion автоматически обновит все его использования.

Команда CMake Install

Если в вашем проекте есть таргеты CMake, для которых определена команда install, вы можете вызвать соответствующее действие в меню Run. Будет выполнена команда cmake install. Кроме того, вы можете добавить шаг Install в любую Run-конфигурацию.

Комментарии CMake

Комментарии CMake

CLion поддерживает квадратные скобки с аргументами и синтаксис блочных комментариев — возможности CMake 3. Не нужно выделять строку в CMake, чтобы добавить к ней комментарий, — просто поставьте курсор на строку и нажмите Ctrl+/. Для комментирования блока кода выделите его и нажмите Ctrl+Shift+/.

Помощь при написании кода в файлах CMakeLists.txt

Редактор CMake-файлов упрощает работу с файлами CMakeLists.txt. Поддержка включает в себя:

  • настройки цвета и шрифта CMake;
  • возможность сворачивать и разворачивать различные области кода в CMake;
  • автодополнение команд и переменных CMake;
  • автодополнение в find_package для пакетов, поставляемых с CMake;
  • документация по командам CMake в автодополнении;
  • структурный вид для CMake;
  • выделение зачеркиванием устаревших команд CMake.
CMake: автодополнение, генерация кода и автоматические действия

Генерация кода

Создавайте шаблоны часто используемых конструкций и применяйте их с помощью функции Live Templates. Вы также можете выбирать из готовых шаблонов.

Чтобы использовать шаблон, введите его аббревиатуру (можно использовать автодополнение), а затем нажмите Tab (или присвоенную вами клавишу), чтобы развернуть шаблон.

По завершении редактирования в специальном баннере IDE предложит выбор: перезагрузить проект вручную или включить автоматическую перезагрузку при каждом редактировании.

Быстрый просмотр документации в скриптах CMake

Быстрый просмотр документации в скриптах CMake

Всплывающее окно Quick Documentation теперь также доступно в скриптах CMake. Вы можете просматривать документацию для стандартных сущностей CMake:

  • команд
  • политик;
  • модулей;
  • переменных;
  • свойств.

CLion подгружает документацию к версии CMake из поставки IDE. Просмотр документации пользовательских сущностей пока не поддерживается.

Отладчик CMake

Отладчик CMake

Поскольку CMake – это язык систем сборки, исследовать ошибки и выявлять подозрительное поведение в CMake-скриптах бывает непросто. CLion позволяет отлаживать CMake-скрипты как обычный код: используйте точки останова, пошаговую отладку, просмотр переменных и таргетов CMake. Подробнее.

Профилирование CMake

Профилирование CMake

CLion наглядно показывает, почему перезагрузка проекта CMake занимает много времени. Начиная с CMake 3.18, в настройках CMake можно включить возможность профиляции. CLion поможет запустить трассировку и визуализировать результаты. Подробнее