{ "version": 6, "cmakeMinimumRequired": { "major": 3, "minor": 19, "patch": 0 }, "configurePresets": [ { "name": "gcc-base", "displayName": "GCC Base", "description": "Base preset for GCC. Only for inheriting from.", "hidden": true, "binaryDir": "${sourceDir}/build" }, { "name": "clang-base", "displayName": "Base", "description": "Base preset for Clang. Only for inheriting from.", "hidden": true, "binaryDir": "${sourceDir}/build", "generator": "Ninja", "cacheVariables": { "CMAKE_EXE_LINKER_FLAGS_INIT": "-fuse-ld=lld", "CMAKE_MODULE_LINKER_FLAGS_INIT": "-fuse-ld=lld", "CMAKE_SHARED_LINKER_FLAGS_INIT": "-fuse-ld=lld", "CMAKE_C_COMPILER": "clang", "CMAKE_CXX_COMPILER": "clang++" } }, { "name": "ninja-multi", "displayName": "Ninja Multi Config", "description": "Generate multiple ninja build files.", "inherits": "gcc-base", "generator": "Ninja Multi-Config" }, { "name": "gcc-debug", "displayName": "GCC Debug", "description": "GCC Debug build with make.", "inherits": "gcc-base", "generator": "Unix Makefiles", "cacheVariables": { "CMAKE_BUILD_TYPE": "Debug" } }, { "name": "gcc-devel", "displayName": "GCC Devel", "description": "GCC Developer build using make.", "inherits": "gcc-base", "generator": "Unix Makefiles", "cacheVariables": { "CMAKE_BUILD_TYPE": "Devel" } }, { "name": "gcc-release", "displayName": "GCC Release", "description": "GCC Release build using make.", "inherits": "gcc-base", "generator": "Unix Makefiles", "cacheVariables": { "CMAKE_BUILD_TYPE": "Release" } }, { "name": "gcc-debug-ninja", "displayName": "GCC Debug Ninja", "description": "Debug build using ninja.", "inherits": "gcc-base", "generator": "Ninja", "cacheVariables": { "CMAKE_BUILD_TYPE": "Debug" } }, { "name": "gcc-devel-ninja", "displayName": "GCC Devel Ninja", "description": "GCC Developer build using ninja.", "inherits": "gcc-base", "generator": "Ninja", "cacheVariables": { "CMAKE_BUILD_TYPE": "Devel" } }, { "name": "gcc-release-ninja", "displayName": "GCC Release Ninja", "description": "GCC Release build using ninja.", "inherits": "gcc-base", "generator": "Ninja", "cacheVariables": { "CMAKE_BUILD_TYPE": "Release" } }, { "name": "clang-debug", "displayName": "Clang Debug", "description": "Debug build using ninja and clang.", "inherits": "clang-base", "cacheVariables": { "CMAKE_BUILD_TYPE": "Debug" } }, { "name": "clang-devel", "displayName": "Clang Devel", "description": "Developer build using ninja & clang.", "inherits": "clang-base", "cacheVariables": { "CMAKE_BUILD_TYPE": "Devel" } }, { "name": "clang-release", "displayName": "Clang Release", "description": "Release lto build using ninja & clang.", "inherits": "clang-base", "cacheVariables": { "CMAKE_INTERPROCEDURAL_OPTIMIZATION": "ON", "CMAKE_BUILD_TYPE": "Release" } } ] }