# Настройки CLion

## Configurations

Конфигурация позволяет задать toolchain и параметры запуска.

![](https://4112636200-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKMqUSFKgvT06FCJhm51b%2Fuploads%2Fgit-blob-6218b2422260271113e999be747440c903039226%2Fclion-config-24.png?alt=media)

Пример настройки конфигурации:

1. Добавить новый C/C++ File.

![](https://4112636200-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKMqUSFKgvT06FCJhm51b%2Fuploads%2Fgit-blob-3ffb6907f3231fb8fb98e1c6244ce566f317e7b7%2Fclion-config-cpp-24.png?alt=media)

2. В нём указать желаемый `toolchain`, путь до файла и аргументы для запуска (аргументы командной строки, начиная с `argv[1]`).

![](https://4112636200-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKMqUSFKgvT06FCJhm51b%2Fuploads%2Fgit-blob-fd38f81b46c9dc03dc70f261658a48365f35d6c2%2Fclion-config-run-24.png?alt=media)

Указание опций компиляции не обязательно, если устраивают дефолтные опции. На скришоте выше приведён пример указания ключа компиляции.

## Toolchain

То же самое, что и `toolset` в VS = компилятор + линковщик + стандартные библиотеки.

По умолчанию CLion ставит вместе с собой (в новых версиях) MinGW (Windows) / использует GCC (Linux) / использует clang (MacOS, но это не точно).

Можно добавить свои `toolchain`, [подробнее](https://www.jetbrains.com/help/clion/how-to-switch-compilers-in-clion.html) и ещё [подробнее](https://www.jetbrains.com/help/clion/quick-tutorial-on-configuring-clion-on-windows.html):

![](https://4112636200-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKMqUSFKgvT06FCJhm51b%2Fuploads%2Fgit-blob-ba1561d286c55bbda900fed9e06d0b5a36521718%2Fclion-toolchains.png?alt=media)

Для проекта можно настроить профили (`toolchain` + конфигурации). Автоматически при изменении `toolchain` с установленного по умолчанию к названию профиля будет добавляться суффикс с названием выбранного `toolchain`. Параметры Cmake можно переоределить в разделе CMake Options. сменить подсистемы сборки (generator) можно в разделе generator.

![](https://4112636200-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKMqUSFKgvT06FCJhm51b%2Fuploads%2Fgit-blob-f3a3c4198ab7bf4515012c85ffa200f5e33d5c33%2Fclion-cmake-profiles.png?alt=media)

После применения профилей будут вызвана автоматически генерация под всеми профилями:

![](https://4112636200-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKMqUSFKgvT06FCJhm51b%2Fuploads%2Fgit-blob-749f351df5594f488df735688aeb758c20e3a290%2Fclion-cmake-update-profiles.png?alt=media)

Если возникнут какие-то ошибки или предупреждения, то информация о них появится в логах в нижнем окне.

Примечение: при изменении `CMakeLists.txt` они автоматически сохраняются, но регенерация кеша сборки происходит после нажатия на `Reload` (возможно в настройках среды разработки можно автоматически применить изменения).

![](https://4112636200-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKMqUSFKgvT06FCJhm51b%2Fuploads%2Fgit-blob-1c665d206ee71af32c5f3aa4e40ef9e74c6147d1%2Fclion-cmake-reload.png?alt=media)

Настройка аргументов комнадной строки и рабочей директории происходит в `debug configuration` проекта

![](https://4112636200-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKMqUSFKgvT06FCJhm51b%2Fuploads%2Fgit-blob-de58689000c8ebaff301cca61c563f4326fa9025%2Fclion-debug-config.png?alt=media)
