{ "version": 3, "cmakeMinimumRequired": { "major": 3, "minor": 28 }, "configurePresets": [ { "name": "base-common", "hidden": true, "generator": "Ninja Multi-Config", "binaryDir": "${sourceDir}/out/build/${presetName}", "cacheVariables": { "CMAKE_EXPORT_COMPILE_COMMANDS": "ON", "CMAKE_C_COMPILER": "clang", "CMAKE_CXX_COMPILER": "clang++" } }, { "name": "windows-base", "hidden": true, "inherits": "base-common", "condition": { "type": "equals", "lhs": "${hostSystemName}", "rhs": "Windows" }, "cacheVariables": { "CMAKE_C_COMPILER": "clang-cl", "CMAKE_CXX_COMPILER": "clang-cl", "CMAKE_TOOLCHAIN_FILE": "$env{VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake", "VCPKG_TARGET_TRIPLET": "x64-windows" } }, { "name": "linux-base", "hidden": true, "inherits": "base-common", "condition": { "type": "notEquals", "lhs": "${hostSystemName}", "rhs": "Windows" } }, { "name": "windows-default", "displayName": "Windows (Clang-CL + VCPKG)", "description": "Windows build using Clang-CL and VCPKG dependencies", "inherits": "windows-base" }, { "name": "linux-default", "displayName": "Linux (Clang)", "description": "Linux build using Clang", "inherits": "linux-base" }, { "name": "linux-ci", "displayName": "Linux CI Build", "description": "Linux CI Build", "inherits": "linux-base", "cacheVariables": { "IS_CI_BUILD": "ON" } }, { "name": "wasm-default", "displayName": "WebAssembly (Emscripten)", "description": "Build using Emscripten toolchain", "generator": "Ninja", "binaryDir": "${sourceDir}/out/build/wasm-release", "toolchainFile": "$env{EMSDK}/upstream/emscripten/cmake/Modules/Platform/Emscripten.cmake", "cacheVariables": { "CMAKE_CXX_FLAGS": "-msimd128 -pthread" } } ], "buildPresets": [ { "name": "windows-debug", "configurePreset": "windows-default", "configuration": "Debug", "condition": { "type": "equals", "lhs": "${hostSystemName}", "rhs": "Windows" } }, { "name": "linux-debug", "configurePreset": "linux-default", "configuration": "Debug", "condition": { "type": "notEquals", "lhs": "${hostSystemName}", "rhs": "Windows" } }, { "name": "linux-wasm-debug", "configurePreset": "wasm-default", "configuration": "Debug" }, { "name": "linux-ci-release", "configurePreset": "linux-ci", "configuration": "Release", "condition": { "type": "notEquals", "lhs": "${hostSystemName}", "rhs": "Windows" } } ] }