ladybird/CMakePresets.json
Timothy Flynn 1c2aef9255 Meta: Only build vcpkg dependencies in release mode by default
We currently build debug and release versions of vcpkg dependencies. We
will most commonly only need the release version, so let's default to
that to approximately halve our dependency build time.
2024-06-28 12:10:59 -04:00

127 lines
3.5 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"
}
}
},
{
"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",
"VCPKG_OVERLAY_TRIPLETS": "${sourceDir}/Meta/CMake/vcpkg/sanitizer-triplets"
}
},
{
"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"
}
}
]
}