I've set up a shared vcpkg source assets cache using Azurite. By default, it runs in read-only mode allowing anyone who builds Ladybird to use the cache to speed up downloads of source tarballs. This should alleviate some of the more slower vcpkgs downloads I've been seeing lately. CI runs on master put vcpkg in readwrite mode, updating the cache for everyone.
429 lines
12 KiB
JSON
429 lines
12 KiB
JSON
{
|
|
"version": 6,
|
|
"cmakeMinimumRequired": {
|
|
"major": 3,
|
|
"minor": 25,
|
|
"patch": 0
|
|
},
|
|
"configurePresets": [
|
|
{
|
|
"hidden": true,
|
|
"name": "base",
|
|
"displayName": "Default Config",
|
|
"generator": "Ninja",
|
|
"binaryDir": "${fileDir}/Build/release",
|
|
"cacheVariables": {
|
|
"CMAKE_BUILD_TYPE": "RelWithDebInfo",
|
|
"LADYBIRD_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}/Build/vcpkg",
|
|
"VCPKG_BINARY_SOURCES": "clear;files,${fileDir}/Build/caches/vcpkg-binary-cache,readwrite;$penv{VCPKG_BINARY_SOURCES}",
|
|
"X_VCPKG_ASSET_SOURCES": "clear;x-azurl,https://vcpkg-cache.app.ladybird.org/ladybird/source-assets/,$penv{VCPKG_CACHE_SAS},read$penv{VCPKG_CACHE_MODE}"
|
|
},
|
|
"vendor": {
|
|
"jetbrains.com/clion": {
|
|
"toolchain": "Default"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"hidden": true,
|
|
"name": "unix_base",
|
|
"inherits": "base",
|
|
"condition": {
|
|
"type": "notEquals",
|
|
"lhs": "${hostSystemName}",
|
|
"rhs": "Windows"
|
|
}
|
|
},
|
|
{
|
|
"hidden": true,
|
|
"name": "windows_base",
|
|
"inherits": "base",
|
|
"description": "Visual Studio via Clang/LLVM Toolchain",
|
|
"architecture": {
|
|
"value": "x64",
|
|
"strategy": "external"
|
|
},
|
|
"cacheVariables": {
|
|
"CMAKE_C_COMPILER": "clang-cl",
|
|
"CMAKE_CXX_COMPILER": "clang-cl"
|
|
},
|
|
"vendor": {
|
|
"microsoft.com/VisualStudioSettings/CMake/1.0": {
|
|
"intelliSenseMode": "windows-clang-x64"
|
|
}
|
|
},
|
|
"condition": {
|
|
"type": "equals",
|
|
"lhs": "${hostSystemName}",
|
|
"rhs": "Windows"
|
|
}
|
|
},
|
|
{
|
|
"name": "Release",
|
|
"inherits": "unix_base",
|
|
"displayName": "Release Config"
|
|
},
|
|
{
|
|
"name": "Debug",
|
|
"inherits": "unix_base",
|
|
"displayName": "Debug Config",
|
|
"binaryDir": "${fileDir}/Build/debug",
|
|
"cacheVariables": {
|
|
"CMAKE_BUILD_TYPE": "Debug",
|
|
"VCPKG_OVERLAY_TRIPLETS": "${fileDir}/Meta/CMake/vcpkg/debug-triplets"
|
|
}
|
|
},
|
|
{
|
|
"name": "Windows_Experimental",
|
|
"inherits": "windows_base",
|
|
"displayName": "Windows Experimental Config",
|
|
"description": "Experimental windows configuration that builds all targets, allowing for gradual increase in support",
|
|
"binaryDir": "${fileDir}/Build/debug",
|
|
"cacheVariables": {
|
|
"CMAKE_BUILD_TYPE": "Debug",
|
|
"VCPKG_OVERLAY_TRIPLETS": "${fileDir}/Meta/CMake/vcpkg/debug-triplets",
|
|
"ENABLE_WINDOWS_CI": "OFF"
|
|
}
|
|
},
|
|
{
|
|
"name": "Distribution",
|
|
"inherits": "unix_base",
|
|
"displayName": "Distribution Config",
|
|
"description": "Distribution build with static libraries",
|
|
"binaryDir": "${fileDir}/Build/distribution",
|
|
"cacheVariables": {
|
|
"BUILD_SHARED_LIBS": "OFF",
|
|
"CMAKE_BUILD_TYPE": "Release",
|
|
"VCPKG_OVERLAY_TRIPLETS": "${fileDir}/Meta/CMake/vcpkg/distribution-triplets"
|
|
}
|
|
},
|
|
{
|
|
"name": "Sanitizer",
|
|
"inherits": [
|
|
"unix_base",
|
|
"Release"
|
|
],
|
|
"displayName": "Sanitizer Config",
|
|
"description": "Sanitizer build",
|
|
"binaryDir": "${fileDir}/Build/sanitizers",
|
|
"cacheVariables": {
|
|
"ENABLE_UNDEFINED_SANITIZER": "ON",
|
|
"ENABLE_ADDRESS_SANITIZER": "ON",
|
|
"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,
|
|
"name": "vcpkg_ci",
|
|
"description": "FIXME: Use the GitHub Actions vcpkg cache"
|
|
},
|
|
{
|
|
"name": "CI",
|
|
"displayName": "Non-Sanitizer CI Config",
|
|
"inherits": [
|
|
"vcpkg_ci",
|
|
"unix_base"
|
|
]
|
|
},
|
|
{
|
|
"name": "Windows_CI",
|
|
"inherits": [
|
|
"vcpkg_ci",
|
|
"windows_base"
|
|
],
|
|
"displayName": "Windows CI Config",
|
|
"cacheVariables": {
|
|
"ENABLE_WINDOWS_CI": "ON",
|
|
"ENABLE_QT": "OFF"
|
|
}
|
|
},
|
|
{
|
|
"name": "Distribution_CI",
|
|
"inherits": [
|
|
"vcpkg_ci",
|
|
"Distribution"
|
|
],
|
|
"displayName": "Distribution CI Config",
|
|
"description": "Distribution build with GitHub Actions cache"
|
|
},
|
|
{
|
|
"name": "Sanitizer_CI",
|
|
"inherits": [
|
|
"vcpkg_ci",
|
|
"Sanitizer"
|
|
],
|
|
"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",
|
|
"inherits": "unix_base",
|
|
"displayName": "Fuzzers Config",
|
|
"description": "Fuzzers build",
|
|
"binaryDir": "${fileDir}/Build/fuzzers",
|
|
"cacheVariables": {
|
|
"BUILD_SHARED_LIBS": "OFF",
|
|
"ENABLE_QT": "OFF",
|
|
"VCPKG_OVERLAY_TRIPLETS": "${fileDir}/Meta/CMake/vcpkg/distribution-triplets",
|
|
"ENABLE_FUZZERS_LIBFUZZER": "ON",
|
|
"ENABLE_ADDRESS_SANITIZER": "ON"
|
|
}
|
|
},
|
|
{
|
|
"name": "Fuzzers_CI",
|
|
"inherits": [
|
|
"vcpkg_ci",
|
|
"Fuzzers"
|
|
],
|
|
"displayName": "Fuzzers CI Config",
|
|
"description": "Fuzzers build with GitHub Actions cache"
|
|
},
|
|
{
|
|
"name": "Swift_Release",
|
|
"inherits": "unix_base",
|
|
"displayName": "Swift Release Config",
|
|
"description": "Swift release build using Ninja generator",
|
|
"binaryDir": "${fileDir}/Build/swift",
|
|
"cacheVariables": {
|
|
"ENABLE_SWIFT": "ON",
|
|
"CMAKE_C_COMPILER": "MustBeSetManually",
|
|
"CMAKE_CXX_COMPILER": "MustBeSetManually++"
|
|
},
|
|
"vendor": {
|
|
"jetbrains.com/clion": {
|
|
"toolchain": "Swift"
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"buildPresets": [
|
|
{
|
|
"hidden": true,
|
|
"name": "base",
|
|
"targets": [
|
|
"all"
|
|
]
|
|
},
|
|
{
|
|
"hidden": true,
|
|
"name": "unix_base",
|
|
"inherits": "base",
|
|
"configurePreset": "unix_base",
|
|
"condition": {
|
|
"type": "notEquals",
|
|
"lhs": "${hostSystemName}",
|
|
"rhs": "Windows"
|
|
}
|
|
},
|
|
{
|
|
"hidden": true,
|
|
"name": "windows_base",
|
|
"inherits": "base",
|
|
"configurePreset": "windows_base",
|
|
"condition": {
|
|
"type": "equals",
|
|
"lhs": "${hostSystemName}",
|
|
"rhs": "Windows"
|
|
}
|
|
},
|
|
{
|
|
"name": "Release",
|
|
"inherits": "unix_base",
|
|
"configurePreset": "Release",
|
|
"displayName": "Build",
|
|
"description": "Build the project in release"
|
|
},
|
|
{
|
|
"name": "Debug",
|
|
"inherits": "unix_base",
|
|
"configurePreset": "Debug",
|
|
"displayName": "Build",
|
|
"description": "Build the project in debug"
|
|
},
|
|
{
|
|
"name": "Windows_Experimental",
|
|
"inherits": "windows_base",
|
|
"configurePreset": "Windows_Experimental",
|
|
"displayName": "Build",
|
|
"description": "Build the project"
|
|
},
|
|
{
|
|
"name": "Distribution",
|
|
"inherits": "unix_base",
|
|
"configurePreset": "Distribution",
|
|
"displayName": "Build",
|
|
"description": "Build the project for distribution"
|
|
},
|
|
{
|
|
"name": "Sanitizer",
|
|
"inherits": "unix_base",
|
|
"configurePreset": "Sanitizer",
|
|
"displayName": "Build 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",
|
|
"inherits": "windows_base",
|
|
"configurePreset": "Windows_CI",
|
|
"displayName": "Windows_CI Build",
|
|
"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",
|
|
"inherits": "unix_base",
|
|
"configurePreset": "Swift_Release",
|
|
"displayName": "Build Swift Release",
|
|
"description": "Build the project for Swift release"
|
|
}
|
|
],
|
|
"testPresets": [
|
|
{
|
|
"hidden": true,
|
|
"name": "base",
|
|
"output": {
|
|
"outputOnFailure": true
|
|
},
|
|
"execution": {
|
|
"noTestsAction": "error",
|
|
"stopOnFailure": true
|
|
},
|
|
"environment": {
|
|
"LADYBIRD_SOURCE_DIR": "${fileDir}"
|
|
}
|
|
},
|
|
{
|
|
"hidden": true,
|
|
"name": "windows_base",
|
|
"configurePreset": "windows_base",
|
|
"inherits": "base",
|
|
"condition": {
|
|
"type": "equals",
|
|
"lhs": "${hostSystemName}",
|
|
"rhs": "Windows"
|
|
}
|
|
},
|
|
{
|
|
"hidden": true,
|
|
"name": "unix_base",
|
|
"configurePreset": "unix_base",
|
|
"inherits": "base",
|
|
"condition": {
|
|
"type": "notEquals",
|
|
"lhs": "${hostSystemName}",
|
|
"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",
|
|
"inherits": "unix_base",
|
|
"configurePreset": "Release"
|
|
},
|
|
{
|
|
"name": "Debug",
|
|
"inherits": "unix_base",
|
|
"configurePreset": "Debug"
|
|
},
|
|
{
|
|
"name": "Windows_Experimental",
|
|
"inherits": "windows_base",
|
|
"configurePreset": "Windows_Experimental"
|
|
},
|
|
{
|
|
"name": "Distribution",
|
|
"inherits": "unix_base",
|
|
"configurePreset": "Distribution"
|
|
},
|
|
{
|
|
"name": "Sanitizer",
|
|
"inherits": [
|
|
"unix_base",
|
|
"sanitizer_base"
|
|
],
|
|
"configurePreset": "Sanitizer"
|
|
},
|
|
{
|
|
"name": "Windows_Sanitizer_Experimental",
|
|
"inherits": [
|
|
"windows_base",
|
|
"sanitizer_base"
|
|
],
|
|
"configurePreset": "Windows_Sanitizer_Experimental"
|
|
},
|
|
{
|
|
"name": "Windows_CI",
|
|
"inherits": "windows_base",
|
|
"configurePreset": "Windows_CI"
|
|
},
|
|
{
|
|
"name": "Windows_Sanitizer_CI",
|
|
"inherits": [
|
|
"windows_base",
|
|
"sanitizer_base"
|
|
],
|
|
"configurePreset": "Windows_Sanitizer_CI"
|
|
},
|
|
{
|
|
"name": "Swift_Release",
|
|
"inherits": "unix_base",
|
|
"configurePreset": "Swift_Release"
|
|
}
|
|
]
|
|
}
|