{ "version": 6, "cmakeMinimumRequired": { "major": 3, "minor": 25, "patch": 0 }, "configurePresets": [ { "name": "default", "displayName": "Default Config", "description": "Default build using Ninja generator", "generator": "Ninja", "binaryDir": "${sourceDir}/Build/ladybird", "cacheVariables": { "SERENITY_CACHE_DIR": "${sourceDir}/Build/caches", "CMAKE_TOOLCHAIN_FILE": "${sourceDir}/Toolchain/Tarballs/vcpkg/scripts/buildsystems/vcpkg.cmake", "VCPKG_INSTALL_OPTIONS": "--no-print-usage" }, "environment": { "LADYBIRD_SOURCE_DIR": "${sourceDir}", "VCPKG_ROOT": "${sourceDir}/Toolchain/Tarballs/vcpkg", "VCPKG_BINARY_SOURCES": "clear;files,${sourceDir}/Toolchain/Build/vcpkg-binary-cache,readwrite" }, "vendor": { "jetbrains.com/clion": { "toolchain": "Default" } } }, { "hidden": true, "name": "vcpkg_ci", "description": "Use the GitHub Actions vcpkg cache", "environment": { "VCPKG_BINARY_SOURCES": "clear;x-gha,readwrite" } }, { "name": "Sanitizer", "inherits": "default", "displayName": "Sanitizer Config", "description": "Debug build using Sanitizers", "binaryDir": "${sourceDir}/Build/ladybird-sanitizers", "cacheVariables": { "CMAKE_BUILD_TYPE": "Debug", "ENABLE_UNDEFINED_SANITIZER": "ON", "ENABLE_ADDRESS_SANITIZER": "ON" } }, { "name": "CI", "inherits": ["vcpkg_ci", "default" ], "displayName": "Non-Sanitizer CI Config" }, { "name": "Sanitizer_CI", "inherits": ["vcpkg_ci", "Sanitizer" ], "displayName": "Sanitizer CI Config", "cacheVariables": { "CMAKE_BUILD_TYPE": "" } }, { "name": "Fuzzers_CI", "inherits": ["vcpkg_ci", "default" ], "displayName": "Fuzzers Config", "description": "Fuzzers build with GitHub Actions cache", "binaryDir": "${sourceDir}/Build/ladybird-fuzzers", "cacheVariables": { "CMAKE_BUILD_TYPE": "", "ENABLE_QT": "OFF", "ENABLE_FUZZERS_LIBFUZZER": "ON", "ENABLE_ADDRESS_SANITIZER": "ON" } } ], "buildPresets": [ { "name": "default", "configurePreset": "default", "displayName": "Build", "description": "Build the project", "targets": [ "all" ] }, { "name": "Sanitizer", "configurePreset": "Sanitizer", "displayName": "Build with Sanitizers", "description": "Build the project with Sanitizers", "targets": [ "all" ] } ], "testPresets": [ { "name": "default", "configurePreset": "default", "output": { "outputOnFailure": true }, "execution": { "noTestsAction": "error", "stopOnFailure": true }, "environment": { "LADYBIRD_SOURCE_DIR": "${sourceDir}" } }, { "name": "Sanitizer", "inherits": "default", "configurePreset": "Sanitizer", "environment": { "ASAN_OPTIONS": "strict_string_checks=1:check_initialization_order=1:strict_init_order=1:detect_stack_use_after_return=1:allocator_may_return_null=1", "UBSAN_OPTIONS": "print_stacktrace=1:print_summary=1:halt_on_error=1" } } ] }