{ "version": 6, "configurePresets": [ { "name": "base", "hidden": true, "binaryDir": "${sourceDir}/build/${presetName}", "generator": "Ninja Multi-Config", "cacheVariables": { "CMAKE_CONFIGURATION_TYPES": "Debug;MinSizeRel", "CMAKE_EXPORT_COMPILE_COMMANDS": true, "CMAKE_VERIFY_INTERFACE_HEADER_SETS": true } }, { "name": "x86_64", "displayName": "x86-64 kernel image", "description": "Bootable image for x86-64 systems", "inherits": "base", "toolchainFile": "cmake/Platforms/x86_64.cmake", "cacheVariables": { "BUILD_TESTING": false } }, { "name": "bht", "displayName": "Build-host testing", "inherits": "base", "description": "Unit and integration tests w/ UB Sanitizer, Memory Sanitizer, and Leak Sanitizer", "cacheVariables": { "TEACHOS_ENABLE_TEST_SANITIZERS": true, "TEACHOS_ENABLE_TEST_COVERAGE": true, "TEACHOS_ENABLE_TEST_TSAN": false } }, { "name": "bht-stress", "displayName": "Build-host stress testing", "inherits": "bht", "description": "Stress tests w/ Thread Sanitizer", "cacheVariables": { "TEACHOS_ENABLE_TEST_SANITIZERS": false, "TEACHOS_ENABLE_TEST_COVERAGE": false, "TEACHOS_ENABLE_TEST_TSAN": true } } ], "buildPresets": [ { "name": "x86_64-dbg", "displayName": "x86-64 kernel image (Debug)", "description": "Bootable debug image for x86-64 systems", "configurePreset": "x86_64", "configuration": "Debug" }, { "name": "x86_64-rel", "displayName": "x86-64 kernel image (Release)", "description": "Bootable release image for x86-64 systems", "configurePreset": "x86_64", "configuration": "MinSizeRel" }, { "name": "bht-dbg", "displayName": "Build-host tests (Debug)", "description": "Unit and integration tests", "configurePreset": "bht", "configuration": "Debug" }, { "name": "bht-rel", "displayName": "Build-host tests (Release)", "description": "Unit and integration tests", "configurePreset": "bht", "configuration": "MinSizeRel" }, { "name": "bht-stress-dbg", "displayName": "Build-host stress tests (Debug)", "description": "Stress tests", "configurePreset": "bht-stress", "configuration": "Debug" }, { "name": "bht-stress-rel", "displayName": "Build-host stress tests (Release)", "description": "Stress tests", "configurePreset": "bht-stress", "configuration": "Debug" } ], "testPresets": [ { "name": "bht-dbg", "displayName": "Build-host tests (Debug)", "description": "Unit and integration tests", "configurePreset": "bht", "configuration": "Debug", "output": { "outputOnFailure": true }, "execution": { "jobs": 0 } }, { "name": "bht-rel", "displayName": "Build-host tests (Release)", "description": "Unit and integration tests", "configurePreset": "bht", "configuration": "MinSizeRel", "output": { "outputOnFailure": true }, "execution": { "jobs": 0 } }, { "name": "bht-stress-dbg", "displayName": "Build-host stress tests (Debug)", "description": "Stress tests", "configurePreset": "bht-stress", "configuration": "Debug", "output": { "outputOnFailure": true }, "execution": { "jobs": 0 } }, { "name": "bht-stress-rel", "displayName": "Build-host stress tests (Release)", "description": "Stress tests", "configurePreset": "bht-stress", "configuration": "MinSizeRel", "output": { "outputOnFailure": true }, "execution": { "jobs": 0 } } ], "workflowPresets": [ { "name": "x86_64-dbg", "displayName": "x86-64 kernel (Debug)", "description": "TeachOS on x86-64", "steps": [ { "type": "configure", "name": "x86_64" }, { "type": "build", "name": "x86_64-dbg" } ] }, { "name": "x86_64-rel", "displayName": "x86-64 kernel (Release)", "description": "TeachOS on x86-64", "steps": [ { "type": "configure", "name": "x86_64" }, { "type": "build", "name": "x86_64-rel" } ] }, { "name": "bht-dbg", "displayName": "Build-host tests (Debug)", "description": "Unit and integration tests", "steps": [ { "type": "configure", "name": "bht" }, { "type": "build", "name": "bht-dbg" }, { "type": "test", "name": "bht-dbg" } ] }, { "name": "bht-rel", "displayName": "Build-host tests (Release)", "description": "Unit and integration tests", "steps": [ { "type": "configure", "name": "bht" }, { "type": "build", "name": "bht-rel" }, { "type": "test", "name": "bht-rel" } ] }, { "name": "bht-stress-dbg", "displayName": "Build-host stress tests (Debug)", "description": "Stress tests", "steps": [ { "type": "configure", "name": "bht-stress" }, { "type": "build", "name": "bht-stress-dbg" }, { "type": "test", "name": "bht-stress-dbg" } ] }, { "name": "bht-stress-rel", "displayName": "Build-host stress tests (Release)", "description": "Stress tests", "steps": [ { "type": "configure", "name": "bht-stress" }, { "type": "build", "name": "bht-stress-rel" }, { "type": "test", "name": "bht-stress-rel" } ] } ] }