mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-11-21 15:10:19 +00:00
4ffca2089e
The reason for this change is that CMake/vcpkg are unable to detect a change to VCPKG_LIBRARY_LINKAGE. So when we switch to dynamic builds, the switch would be non-functional, and every developer would have to remove their Build and vcpkg cache directories manually. By changing these directories, vcpkg is able to detect it must rebuild.
225 lines
5.8 KiB
JSON
225 lines
5.8 KiB
JSON
{
|
|
"version": 6,
|
|
"cmakeMinimumRequired": {
|
|
"major": 3,
|
|
"minor": 25,
|
|
"patch": 0
|
|
},
|
|
"configurePresets": [
|
|
{
|
|
"hidden": true,
|
|
"name": "default_base",
|
|
"displayName": "Default Config",
|
|
"binaryDir": "${fileDir}/Build/release",
|
|
"cacheVariables": {
|
|
"CMAKE_BUILD_TYPE": "RelWithDebInfo",
|
|
"SERENITY_CACHE_DIR": "${fileDir}/Build/caches",
|
|
"CMAKE_TOOLCHAIN_FILE": "$env{VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake",
|
|
"VCPKG_INSTALL_OPTIONS": "--no-print-usage",
|
|
"VCPKG_OVERLAY_TRIPLETS": "${fileDir}/Meta/CMake/vcpkg/release-triplets"
|
|
},
|
|
"environment": {
|
|
"LADYBIRD_SOURCE_DIR": "${fileDir}",
|
|
"VCPKG_ROOT": "${fileDir}/Toolchain/Tarballs/vcpkg",
|
|
"VCPKG_BINARY_SOURCES": "clear;files,${fileDir}/Toolchain/Build/vcpkg-binary-cache,readwrite;$penv{VCPKG_BINARY_SOURCES}"
|
|
},
|
|
"vendor": {
|
|
"jetbrains.com/clion": {
|
|
"toolchain": "Default"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"hidden": true,
|
|
"name": "windows",
|
|
"description": "Visual Studio IDE config (experimental)",
|
|
"architecture": {
|
|
"value": "x64",
|
|
"strategy": "external"
|
|
},
|
|
"cacheVariables": {
|
|
"ENABLE_QT": "OFF"
|
|
},
|
|
"vendor": {
|
|
"microsoft.com/VisualStudioSettings/CMake/1.0": {
|
|
"intelliSenseMode": "windows-clang-x64"
|
|
}
|
|
},
|
|
"condition": {
|
|
"type": "equals",
|
|
"lhs": "${hostSystemName}",
|
|
"rhs": "Windows"
|
|
}
|
|
},
|
|
{
|
|
"name": "default",
|
|
"description": "Default build using Ninja generator",
|
|
"generator": "Ninja",
|
|
"inherits": "default_base",
|
|
"condition": {
|
|
"type": "notEquals",
|
|
"lhs": "${hostSystemName}",
|
|
"rhs": "Windows"
|
|
}
|
|
},
|
|
{
|
|
"name": "windows_ninja",
|
|
"displayName": "Default with ClangCL and Ninja",
|
|
"description": "Windows build using Ninja generator (experimental)",
|
|
"inherits": [
|
|
"default_base",
|
|
"windows"
|
|
],
|
|
"generator": "Ninja",
|
|
"cacheVariables": {
|
|
"CMAKE_C_COMPILER": "clang-cl",
|
|
"CMAKE_CXX_COMPILER": "clang-cl"
|
|
}
|
|
},
|
|
{
|
|
"name": "windows_msbuild",
|
|
"displayName": "Default with ClangCL and MSBuild",
|
|
"description": "Default build using Visual Studio generator (experimental)",
|
|
"inherits": [
|
|
"default_base",
|
|
"windows"
|
|
],
|
|
"generator": "Visual Studio 17 2022",
|
|
"toolset": "ClangCL"
|
|
},
|
|
{
|
|
"name": "Debug",
|
|
"inherits": "default",
|
|
"displayName": "Debug Config",
|
|
"description": "Debug build using Ninja generator",
|
|
"binaryDir": "${fileDir}/Build/debug",
|
|
"cacheVariables": {
|
|
"CMAKE_BUILD_TYPE": "Debug",
|
|
"VCPKG_OVERLAY_TRIPLETS": "${fileDir}/Meta/CMake/vcpkg/debug-triplets"
|
|
}
|
|
},
|
|
{
|
|
"name": "Sanitizer",
|
|
"inherits": "default",
|
|
"displayName": "Sanitizer Config",
|
|
"description": "Sanitizer build using Ninja generator",
|
|
"binaryDir": "${fileDir}/Build/sanitizers",
|
|
"cacheVariables": {
|
|
"ENABLE_UNDEFINED_SANITIZER": "ON",
|
|
"ENABLE_ADDRESS_SANITIZER": "ON",
|
|
"VCPKG_OVERLAY_TRIPLETS": "${fileDir}/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": "${fileDir}/Build/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": "windows_msbuild",
|
|
"configurePreset": "windows_msbuild",
|
|
"displayName": "Build",
|
|
"description": "Build the project",
|
|
"targets": [
|
|
"ALL_BUILD"
|
|
]
|
|
},
|
|
{
|
|
"name": "windows_ninja",
|
|
"configurePreset": "windows_ninja",
|
|
"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": "${fileDir}"
|
|
}
|
|
},
|
|
{
|
|
"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"
|
|
}
|
|
},
|
|
{
|
|
"name": "Debug",
|
|
"inherits": "default",
|
|
"configurePreset": "Debug"
|
|
}
|
|
]
|
|
}
|