{ "version": 2, "cmakeMinimumRequired": { "major": 3, "minor": 16, "patch": 0 }, "configurePresets": [ { "name": "base", "description": "Sets generator, build and install directory, vcpkg", "hidden": true, "binaryDir": "${sourceDir}/build/${presetName}", "cacheVariables": { "CMAKE_INSTALL_PREFIX": "${sourceDir}/build/install/${presetName}" }, "environment": { "VCPKG_FEATURE_FLAGS": "manifests,versions,binarycaching,registries" } }, { "name": "x64-windows", "description": "Sets x64 arch, compilers, build type", "generator": "Ninja", "inherits": "base", "architecture": { "value": "x64", "strategy": "external" }, "toolset": { "value": "host=x64", "strategy": "external" }, "cacheVariables": { "CMAKE_BUILD_TYPE": "Debug", "CMAKE_CXX_COMPILER": "cl" }, "vendor": { "microsoft.com/VisualStudioSettings/CMake/1.0": { "hostOS": [ "Windows" ] } } }, { "name": "linux-gcc", "description": "Compile On linux with GCC", "inherits": "base", "generator": "Ninja", "cacheVariables": { "CMAKE_BUILD_TYPE": "Debug", "CMAKE_CXX_COMPILER": "g++" }, "vendor": { "microsoft.com/VisualStudioSettings/CMake/1.0": { "hostOS": [ "Linux" ] } } }, { "name": "linux-clang", "description": "Compile On linux with GCC", "inherits": "base", "generator": "Ninja", "cacheVariables": { "CMAKE_BUILD_TYPE": "Debug", "CMAKE_CXX_COMPILER": "clang++" }, "vendor": { "microsoft.com/VisualStudioSettings/CMake/1.0": { "hostOS": [ "Linux" ] } } }, { "name": "osx", "generator": "Ninja", "description": "Compile on osx", "inherits": "base", "cacheVariables": { "CMAKE_BUILD_TYPE": "Debug", "CMAKE_CXX_COMPILER": "clang++" }, "vendor": { "microsoft.com/VisualStudioSettings/CMake/1.0": { "hostOS": [ "macOS" ] } } } ], "buildPresets": [ { "name": "core-build", "description": "Inherits environment from base configurePreset", "configurePreset": "base", "hidden": true, "inheritConfigureEnvironment": true }, { "name": "windows-build", "description": "Clean before build (--clean-first)", "configurePreset": "x64-windows", "inherits": "core-build" }, { "name": "linux-gcc-build", "configurePreset": "linux-gcc", "inherits": "core-build" }, { "name": "linux-clang-build", "configurePreset": "linux-clang", "inherits": "core-build" }, { "name": "osx-build", "configurePreset": "osx", "inherits": "core-build" } ], "testPresets": [ { "name": "core-tests", "description": "Enable output on failure", "configurePreset": "base", "hidden": false, "output": { "outputOnFailure": true } }, { "name": "windows-tests", "description": "Run tests on windows", "configurePreset": "x64-windows", "inherits": [ "core-tests" ] }, { "name": "linux-test-gcc", "description": "Run tests on linux (GCC)", "configurePreset": "linux-gcc", "displayName": "linux-test", "inherits": [ "core-tests" ] }, { "name": "linux-test-clang", "description": "Run tests on linux (Clang)", "configurePreset": "linux-clang", "displayName": "linux-test", "inherits": [ "core-tests" ] }, { "name": "OSX test", "description": "Run tests on Mac", "configurePreset": "osx", "inherits": [ "core-tests" ] } ] }