mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-11-22 23:50:19 +00:00
d9470d6a93
Since the default mode now only builds release vcpkg libraries, having an easy-to-create debug build will be convenient.
136 lines
3.9 KiB
JSON
136 lines
3.9 KiB
JSON
{
|
|
"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": {
|
|
"CMAKE_BUILD_TYPE": "RelWithDebInfo",
|
|
"SERENITY_CACHE_DIR": "${sourceDir}/Build/caches",
|
|
"CMAKE_TOOLCHAIN_FILE": "${sourceDir}/Toolchain/Tarballs/vcpkg/scripts/buildsystems/vcpkg.cmake",
|
|
"VCPKG_INSTALL_OPTIONS": "--no-print-usage",
|
|
"VCPKG_OVERLAY_TRIPLETS": "${sourceDir}/Meta/CMake/vcpkg/release-triplets"
|
|
},
|
|
"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"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "Debug",
|
|
"inherits": "default",
|
|
"displayName": "Debug Config",
|
|
"description": "Debug build using Ninja generator",
|
|
"binaryDir": "${sourceDir}/Build/ladybird-debug",
|
|
"cacheVariables": {
|
|
"CMAKE_BUILD_TYPE": "Debug",
|
|
"VCPKG_OVERLAY_TRIPLETS": "${sourceDir}/Meta/CMake/vcpkg/debug-triplets"
|
|
}
|
|
},
|
|
{
|
|
"name": "Sanitizer",
|
|
"inherits": "Debug",
|
|
"displayName": "Sanitizer Config",
|
|
"description": "Debug build using Sanitizers",
|
|
"binaryDir": "${sourceDir}/Build/ladybird-sanitizers",
|
|
"cacheVariables": {
|
|
"ENABLE_UNDEFINED_SANITIZER": "ON",
|
|
"ENABLE_ADDRESS_SANITIZER": "ON",
|
|
"VCPKG_OVERLAY_TRIPLETS": "${sourceDir}/Meta/CMake/vcpkg/sanitizer-triplets"
|
|
}
|
|
},
|
|
{
|
|
"hidden": true,
|
|
"name": "vcpkg_ci",
|
|
"description": "Use the GitHub Actions vcpkg cache",
|
|
"environment": {
|
|
"VCPKG_BINARY_SOURCES": "clear;x-gha,readwrite"
|
|
}
|
|
},
|
|
{
|
|
"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"
|
|
}
|
|
}
|
|
]
|
|
}
|