{
"version": 3,
"cmakeMinimumRequired": { "major": 3, "minor": 25, "patch": 0 },
"configurePresets": [
{
"name": "ninja-debug",
"displayName": "Ninja Debug",
"description": "Configure with Ninja in Debug mode and export compile commands",
"generator": "Ninja",
"binaryDir": "${sourceDir}/build/ninja-debug",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Debug",
"CMAKE_EXPORT_COMPILE_COMMANDS": "ON"
}
},
{
"name": "ninja-release",
"displayName": "Ninja Release",
"description": "Configure with Ninja in Release mode",
"generator": "Ninja",
"binaryDir": "${sourceDir}/build/ninja-release",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Release"
}
},
{
"name": "ninja-builtins",
"displayName": "Ninja Debug (all externals = BUILTIN)",
"inherits": "ninja-debug",
"binaryDir": "${sourceDir}/build/ninja-debug-builtins",
"cacheVariables": {
"PNG": "BUILTIN",
"FLAC": "BUILTIN",
"FREETYPE": "BUILTIN",
"VORBIS": "BUILTIN",
"FONTCONFIG": "BUILTIN"
}
},
{
"name": "ninja-system",
"displayName": "Ninja Debug (all externals = SYSTEM)",
"inherits": "ninja-debug",
"binaryDir": "${sourceDir}/build/ninja-debug-system",
"cacheVariables": {
"PNG": "SYSTEM",
"FLAC": "SYSTEM",
"FREETYPE": "SYSTEM",
"VORBIS": "SYSTEM",
"FONTCONFIG": "SYSTEM"
}
},
{
"name": "ninja-builtins-unit-tests",
"displayName": "Ninja Debug (BUILTIN + unit tests)",
"inherits": "ninja-builtins",
"binaryDir": "${sourceDir}/build/ninja-debug-builtins-unit-tests",
"cacheVariables": {
"TESTS": "ON",
"UNIT_TESTS": "ON"
}
},
{
"name": "ninja-system-unit-tests",
"displayName": "Ninja Debug (SYSTEM + unit tests)",
"inherits": "ninja-system",
"binaryDir": "${sourceDir}/build/ninja-debug-system-unit-tests",
"cacheVariables": {
"TESTS": "ON",
"UNIT_TESTS": "ON"
}
},
{
"name": "ninja-manual-tests",
"displayName": "Ninja Debug (turn on all manual tests)",
"inherits": "ninja-debug",
"binaryDir": "${sourceDir}/build/ninja-debug-manual-tests",
"cacheVariables": {
"TESTS": "ON",
"MANUAL_TEST_AdvancedText": "ON",
"MANUAL_TEST_Animation": "ON",
"MANUAL_TEST_Clipboard": "ON",
"MANUAL_TEST_CGI": "ON",
"MANUAL_TEST_DnD": "ON",
"MANUAL_TEST_Filesystem": "ON",
"MANUAL_TEST_FreeType": "ON",
"MANUAL_TEST_Gscript": "ON",
"MANUAL_TEST_Generic": "ON",
"MANUAL_TEST_Audio": "ON",
"MANUAL_TEST_PDParser": "ON",
"MANUAL_TEST_Scene": "ON",
"MANUAL_TEST_Window": "ON",
"MANUAL_TEST_Font": "ON",
"MANUAL_TEST_HTMLRenderer": "ON",
"MANUAL_TEST_UI_Component": "ON",
"MANUAL_TEST_UI_Generate": "ON",
"MANUAL_TEST_UI_WidgetTest": "ON"
}
},
{
"name": "ninja-builtins-with-manuals",
"displayName": "Ninja Debug (BUILTIN + manual tests)",
"inherits": "ninja-builtins",
"binaryDir": "${sourceDir}/build/ninja-debug-builtins-with-manuals",
"cacheVariables": {
"TESTS": "ON",
"MANUAL_TEST_AdvancedText": "ON",
"MANUAL_TEST_Animation": "ON",
"MANUAL_TEST_Clipboard": "ON",
"MANUAL_TEST_CGI": "ON",
"MANUAL_TEST_DnD": "ON",
"MANUAL_TEST_Filesystem": "ON",
"MANUAL_TEST_FreeType": "ON",
"MANUAL_TEST_Gscript": "ON",
"MANUAL_TEST_Generic": "ON",
"MANUAL_TEST_Audio": "ON",
"MANUAL_TEST_PDParser": "ON",
"MANUAL_TEST_Scene": "ON",
"MANUAL_TEST_Window": "ON",
"MANUAL_TEST_Font": "ON",
"MANUAL_TEST_HTMLRenderer": "ON",
"MANUAL_TEST_UI_Component": "ON",
"MANUAL_TEST_UI_Generate": "ON",
"MANUAL_TEST_UI_WidgetTest": "ON"
}
},
{
"name": "vs-2022",
"displayName": "Visual Studio 17 2022 (x64)",
"description": "Multi-config Visual Studio generator (x64)",
"generator": "Visual Studio 17 2022",
"architecture": "x64",
"binaryDir": "${sourceDir}/build/vs"
},
{
"name": "vs-2022-builtins",
"displayName": "Visual Studio (all externals = BUILTIN)",
"inherits": "vs-2022",
"binaryDir": "${sourceDir}/build/vs-builtins",
"cacheVariables": {
"PNG": "BUILTIN",
"FLAC": "BUILTIN",
"FREETYPE": "BUILTIN",
"VORBIS": "BUILTIN",
"FONTCONFIG": "BUILTIN"
}
},
{
"name": "vs-2022-system",
"displayName": "Visual Studio (all externals = SYSTEM)",
"inherits": "vs-2022",
"binaryDir": "${sourceDir}/build/vs-system",
"cacheVariables": {
"PNG": "SYSTEM",
"FLAC": "SYSTEM",
"FREETYPE": "SYSTEM",
"VORBIS": "SYSTEM",
"FONTCONFIG": "SYSTEM"
}
},
{
"name": "vs-2022-builtins-unit-tests",
"displayName": "Visual Studio (BUILTIN + unit tests)",
"inherits": "vs-2022-builtins",
"binaryDir": "${sourceDir}/build/vs-builtins-unit-tests",
"cacheVariables": {
"TESTS": "ON",
"UNIT_TESTS": "ON"
}
},
{
"name": "vs-2022-system-unit-tests",
"displayName": "Visual Studio (SYSTEM + unit tests)",
"inherits": "vs-2022-system",
"binaryDir": "${sourceDir}/build/vs-system-unit-tests",
"cacheVariables": {
"TESTS": "ON",
"UNIT_TESTS": "ON"
}
},
{
"name": "vs-2022-manual-tests",
"displayName": "Visual Studio (turn on all manual tests)",
"inherits": "vs-2022",
"binaryDir": "${sourceDir}/build/vs-manual-tests",
"cacheVariables": {
"TESTS": "ON",
"MANUAL_TEST_AdvancedText": "ON",
"MANUAL_TEST_Animation": "ON",
"MANUAL_TEST_Clipboard": "ON",
"MANUAL_TEST_CGI": "ON",
"MANUAL_TEST_DnD": "ON",
"MANUAL_TEST_Filesystem": "ON",
"MANUAL_TEST_FreeType": "ON",
"MANUAL_TEST_Gscript": "ON",
"MANUAL_TEST_Generic": "ON",
"MANUAL_TEST_Audio": "ON",
"MANUAL_TEST_PDParser": "ON",
"MANUAL_TEST_Scene": "ON",
"MANUAL_TEST_Window": "ON",
"MANUAL_TEST_Font": "ON",
"MANUAL_TEST_HTMLRenderer": "ON",
"MANUAL_TEST_UI_Component": "ON",
"MANUAL_TEST_UI_Generate": "ON",
"MANUAL_TEST_UI_WidgetTest": "ON"
}
},
{
"name": "vs-2022-builtins-with-manuals",
"displayName": "Visual Studio (BUILTIN + manual tests)",
"inherits": "vs-2022-builtins",
"binaryDir": "${sourceDir}/build/vs-builtins-with-manuals",
"cacheVariables": {
"TESTS": "ON",
"MANUAL_TEST_AdvancedText": "ON",
"MANUAL_TEST_Animation": "ON",
"MANUAL_TEST_Clipboard": "ON",
"MANUAL_TEST_CGI": "ON",
"MANUAL_TEST_DnD": "ON",
"MANUAL_TEST_Filesystem": "ON",
"MANUAL_TEST_FreeType": "ON",
"MANUAL_TEST_Gscript": "ON",
"MANUAL_TEST_Generic": "ON",
"MANUAL_TEST_Audio": "ON",
"MANUAL_TEST_PDParser": "ON",
"MANUAL_TEST_Scene": "ON",
"MANUAL_TEST_Window": "ON",
"MANUAL_TEST_Font": "ON",
"MANUAL_TEST_HTMLRenderer": "ON",
"MANUAL_TEST_UI_Component": "ON",
"MANUAL_TEST_UI_Generate": "ON",
"MANUAL_TEST_UI_WidgetTest": "ON"
}
}
],
"buildPresets": [
{ "name": "build-ninja-debug", "configurePreset": "ninja-debug" },
{ "name": "build-ninja-release", "configurePreset": "ninja-release" },
{ "name": "build-ninja-builtins", "configurePreset": "ninja-builtins" },
{ "name": "build-ninja-system", "configurePreset": "ninja-system" },
{ "name": "build-ninja-builtins-unit-tests", "configurePreset": "ninja-builtins-unit-tests" },
{ "name": "build-ninja-system-unit-tests", "configurePreset": "ninja-system-unit-tests" },
{ "name": "build-ninja-manual-tests", "configurePreset": "ninja-manual-tests" },
{ "name": "build-ninja-builtins-with-manuals", "configurePreset": "ninja-builtins-with-manuals" },
{ "name": "build-vs-debug", "configurePreset": "vs-2022", "configuration": "Debug" },
{ "name": "build-vs-builtins", "configurePreset": "vs-2022-builtins", "configuration": "Debug" },
{ "name": "build-vs-system", "configurePreset": "vs-2022-system", "configuration": "Debug" },
{ "name": "build-vs-builtins-unit-tests", "configurePreset": "vs-2022-builtins-unit-tests", "configuration": "Debug" },
{ "name": "build-vs-system-unit-tests", "configurePreset": "vs-2022-system-unit-tests", "configuration": "Debug" },
{ "name": "build-vs-manual-tests", "configurePreset": "vs-2022-manual-tests", "configuration": "Debug" },
{ "name": "build-vs-builtins-with-manuals", "configurePreset": "vs-2022-builtins-with-manuals", "configuration": "Debug" }
],
"testPresets": [
{ "name": "run-unit-tests-builtins", "configurePreset": "ninja-builtins-unit-tests" },
{ "name": "run-unit-tests-system", "configurePreset": "ninja-system-unit-tests" },
{ "name": "run-manual-tests", "configurePreset": "ninja-manual-tests" },
{ "name": "run-unit-tests-vs-builtins", "configurePreset": "vs-2022-builtins-unit-tests" },
{ "name": "run-unit-tests-vs-system", "configurePreset": "vs-2022-system-unit-tests" },
{ "name": "run-manual-tests-vs", "configurePreset": "vs-2022-manual-tests" }
]
}