mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-08-18 08:20:44 +00:00
Meta: Add Windows sanitizer presets
Windows Clang supports both ASAN and UBSAN
This commit is contained in:
parent
35d39e6cbc
commit
56d7d50566
Notes:
github-actions[bot]
2025-06-17 21:34:50 +00:00
Author: https://github.com/ayeteadoe
Commit: 56d7d50566
Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/4962
Reviewed-by: https://github.com/ADKaster ✅
Reviewed-by: https://github.com/Hendiadyoin1
Reviewed-by: https://github.com/R-Goc
2 changed files with 80 additions and 9 deletions
|
@ -120,6 +120,21 @@
|
||||||
"VCPKG_OVERLAY_TRIPLETS": "${fileDir}/Meta/CMake/vcpkg/sanitizer-triplets"
|
"VCPKG_OVERLAY_TRIPLETS": "${fileDir}/Meta/CMake/vcpkg/sanitizer-triplets"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "Windows_Sanitizer_Experimental",
|
||||||
|
"inherits": [
|
||||||
|
"Windows_Experimental"
|
||||||
|
],
|
||||||
|
"displayName": "Windows Sanitizer Config",
|
||||||
|
"binaryDir": "${fileDir}/Build/sanitizers",
|
||||||
|
"cacheVariables": {
|
||||||
|
"ENABLE_WINDOWS_CI": "OFF",
|
||||||
|
"ENABLE_UNDEFINED_SANITIZER": "ON",
|
||||||
|
"ENABLE_ADDRESS_SANITIZER": "ON",
|
||||||
|
"CMAKE_BUILD_TYPE": "RelWithDebInfo",
|
||||||
|
"VCPKG_OVERLAY_TRIPLETS": "${fileDir}/Meta/CMake/vcpkg/sanitizer-triplets"
|
||||||
|
}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"hidden": true,
|
"hidden": true,
|
||||||
"name": "vcpkg_ci",
|
"name": "vcpkg_ci",
|
||||||
|
@ -135,7 +150,10 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Windows_CI",
|
"name": "Windows_CI",
|
||||||
"inherits": "windows_base",
|
"inherits": [
|
||||||
|
"vcpkg_ci",
|
||||||
|
"windows_base"
|
||||||
|
],
|
||||||
"displayName": "Windows CI Config",
|
"displayName": "Windows CI Config",
|
||||||
"cacheVariables": {
|
"cacheVariables": {
|
||||||
"ENABLE_WINDOWS_CI": "ON"
|
"ENABLE_WINDOWS_CI": "ON"
|
||||||
|
@ -158,6 +176,21 @@
|
||||||
],
|
],
|
||||||
"displayName": "Sanitizer CI Config"
|
"displayName": "Sanitizer CI Config"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "Windows_Sanitizer_CI",
|
||||||
|
"inherits": [
|
||||||
|
"Windows_CI"
|
||||||
|
],
|
||||||
|
"displayName": "Windows Sanitizer CI Config",
|
||||||
|
"binaryDir": "${fileDir}/Build/sanitizers",
|
||||||
|
"cacheVariables": {
|
||||||
|
"ENABLE_WINDOWS_CI": "ON",
|
||||||
|
"ENABLE_UNDEFINED_SANITIZER": "ON",
|
||||||
|
"ENABLE_ADDRESS_SANITIZER": "ON",
|
||||||
|
"CMAKE_BUILD_TYPE": "RelWithDebInfo",
|
||||||
|
"VCPKG_OVERLAY_TRIPLETS": "${fileDir}/Meta/CMake/vcpkg/sanitizer-triplets"
|
||||||
|
}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "Fuzzers",
|
"name": "Fuzzers",
|
||||||
"inherits": "unix_base",
|
"inherits": "unix_base",
|
||||||
|
@ -264,12 +297,26 @@
|
||||||
"displayName": "Build with Sanitizers",
|
"displayName": "Build with Sanitizers",
|
||||||
"description": "Build the project with Sanitizers"
|
"description": "Build the project with Sanitizers"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "Windows_Sanitizer_Experimental",
|
||||||
|
"inherits": "windows_base",
|
||||||
|
"configurePreset": "Windows_Sanitizer_Experimental",
|
||||||
|
"displayName": "Build with Sanitizers",
|
||||||
|
"description": "Build the project with Sanitizers"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "Windows_CI",
|
"name": "Windows_CI",
|
||||||
"inherits": "windows_base",
|
"inherits": "windows_base",
|
||||||
"configurePreset": "Windows_CI",
|
"configurePreset": "Windows_CI",
|
||||||
"displayName": "Build",
|
"displayName": "Windows_CI Build",
|
||||||
"description": "Build the project"
|
"description": "Build the project for Windows CI"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Windows_Sanitizer_CI",
|
||||||
|
"inherits": "windows_base",
|
||||||
|
"configurePreset": "Windows_Sanitizer_CI",
|
||||||
|
"displayName": "Windows_Sanitizer_CI Build",
|
||||||
|
"description": "Build the project with sanitizers for Windows CI"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Swift_Release",
|
"name": "Swift_Release",
|
||||||
|
@ -316,6 +363,14 @@
|
||||||
"rhs": "Windows"
|
"rhs": "Windows"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"hidden": true,
|
||||||
|
"name": "sanitizer_base",
|
||||||
|
"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:$penv{ASAN_OPTIONS}",
|
||||||
|
"UBSAN_OPTIONS": "print_stacktrace=1:print_summary=1:halt_on_error=1:$penv{UBSAN_OPTIONS}"
|
||||||
|
}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "Release",
|
"name": "Release",
|
||||||
"inherits": "unix_base",
|
"inherits": "unix_base",
|
||||||
|
@ -338,18 +393,33 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Sanitizer",
|
"name": "Sanitizer",
|
||||||
"inherits": "unix_base",
|
"inherits": [
|
||||||
"configurePreset": "Sanitizer",
|
"unix_base",
|
||||||
"environment": {
|
"sanitizer_base"
|
||||||
"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:$penv{ASAN_OPTIONS}",
|
],
|
||||||
"UBSAN_OPTIONS": "print_stacktrace=1:print_summary=1:halt_on_error=1:$penv{UBSAN_OPTIONS}"
|
"configurePreset": "Sanitizer"
|
||||||
}
|
},
|
||||||
|
{
|
||||||
|
"name": "Windows_Sanitizer_Experimental",
|
||||||
|
"inherits": [
|
||||||
|
"windows_base",
|
||||||
|
"sanitizer_base"
|
||||||
|
],
|
||||||
|
"configurePreset": "Windows_Sanitizer_Experimental"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Windows_CI",
|
"name": "Windows_CI",
|
||||||
"inherits": "windows_base",
|
"inherits": "windows_base",
|
||||||
"configurePreset": "Windows_CI"
|
"configurePreset": "Windows_CI"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "Windows_Sanitizer_CI",
|
||||||
|
"inherits": [
|
||||||
|
"windows_base",
|
||||||
|
"sanitizer_base"
|
||||||
|
],
|
||||||
|
"configurePreset": "Windows_Sanitizer_CI"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "Swift_Release",
|
"name": "Swift_Release",
|
||||||
"inherits": "unix_base",
|
"inherits": "unix_base",
|
||||||
|
|
|
@ -261,6 +261,7 @@ def configure_build_env(preset: str) -> tuple[Path, Path]:
|
||||||
"Swift_Release": build_root_dir / "swift",
|
"Swift_Release": build_root_dir / "swift",
|
||||||
"Windows_CI": build_root_dir / "release",
|
"Windows_CI": build_root_dir / "release",
|
||||||
"Windows_Experimental": build_root_dir / "debug",
|
"Windows_Experimental": build_root_dir / "debug",
|
||||||
|
"Windows_Sanitizer_CI": build_root_dir / "sanitizers",
|
||||||
}
|
}
|
||||||
|
|
||||||
build_preset_dir = known_presets.get(preset, None)
|
build_preset_dir = known_presets.get(preset, None)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue