Одинаковая конфигурация для команды
CMakePresets.json хранит повторно используемые настройки конфигурации: генератор, каталог сборки, toolchain-файл и параметры проекта. Команда может вызывать именованный preset вместо копирования длинных команд из документации.
{
"version": 6,
"configurePresets": [
{
"name": "debug",
"generator": "Ninja",
"binaryDir": "${sourceDir}/build/debug",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Debug",
"BUILD_TESTING": "ON"
}
}
],
"buildPresets": [
{ "name": "debug", "configurePreset": "debug" }
]
}Затем используйте cmake --preset debug и cmake --build --preset debug. Файл CMakeUserPresets.json предназначен для локальных настроек конкретного разработчика и обычно не добавляется в репозиторий.
Версия схемы и переносимость
Версия поля version определяет возможности формата и минимальную версию CMake, необходимую для его чтения. Выбирайте схему, которую поддерживают инструменты всей команды и CI. Пути и переменные окружения, зависящие от машины, лучше вынести в user-preset или toolchain-файл, чтобы общий preset оставался переносимым.