{ "version": 4, "cmakeMinimumRequired": { "major": 3, "minor": 22, "patch": 0 }, "configurePresets": [ { "name": "clangd", "displayName": "ClangD", "description": "ClangD preset, provides compile_commands.json", "generator": "Ninja", "binaryDir": "${sourceDir}/build", "cacheVariables": { "CMAKE_EXPORT_COMPILE_COMMANDS": "ON", "CMAKE_BUILD_TYPE": "Debug", "CMAKE_CXX_COMPILER": "clang++", "CMAKE_C_COMPILER": "clang", "CMAKE_CXX_LINKER_LAUNCHER": "clang++", "CMAKE_C_LINKER_LAUNCHER": "clang" } }, { "name": "release", "displayName": "Release", "description": "Release build", "generator": "Ninja", "binaryDir": "${sourceDir}/build/release", "cacheVariables": { "CMAKE_BUILD_TYPE": "RelWithDebInfo" } }, { "name": "debug", "inherits": "release", "displayName": "Debug", "description": "Debug build", "binaryDir": "${sourceDir}/build/debug", "cacheVariables": { "CMAKE_BUILD_TYPE": "Debug" } }, { "name": "release-static", "displayName": "Release (Static size)", "description": "Release (Static size) build", "generator": "Ninja", "binaryDir": "${sourceDir}/build/release-static", "cacheVariables": { "ROTGEN_MAX_SIZE": "16" } }, { "name": "debug-static", "displayName": "Debug (Static size)", "description": "Debug (Static size) build", "generator": "Ninja", "binaryDir": "${sourceDir}/build/debug-static", "cacheVariables": { "ROTGEN_MAX_SIZE": "16" } }, { "name": "release-et", "displayName": "Release (No Expr. Temp.)", "description": "Release (No Expr. Temp.) build", "generator": "Ninja", "binaryDir": "${sourceDir}/build/release-et", "cacheVariables": { "ROTGEN_ENABLE_EXPRESSION_TEMPLATES": "ON", "ROTGEN_MAX_SIZE": "16" } }, { "name": "debug-et", "displayName": "Debug (No Expr. Temp.)", "description": "Debug (No Expr. Temp.) build", "generator": "Ninja", "binaryDir": "${sourceDir}/build/debug-et", "cacheVariables": { "ROTGEN_ENABLE_EXPRESSION_TEMPLATES": "ON", "ROTGEN_MAX_SIZE": "16" } } ], "buildPresets": [ { "name": "release", "configurePreset": "release" }, { "name": "release-static", "configurePreset": "release-static" }, { "name": "release-et", "configurePreset": "release-et" }, { "name": "debug", "configurePreset": "debug" }, { "name": "debug-static", "configurePreset": "debug-static" }, { "name": "debug-et", "configurePreset": "debug-et" } ] }