123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273 |
- {
- "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}/Build/vcpkg",
- "VCPKG_BINARY_SOURCES": "clear;files,${fileDir}/Build/caches/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": "Distribution",
- "inherits": "default",
- "displayName": "Distribution Config",
- "description": "Distribution build with static libraries using Ninja generator",
- "binaryDir": "${fileDir}/Build/distribution",
- "cacheVariables": {
- "BUILD_SHARED_LIBS": "OFF",
- "CMAKE_BUILD_TYPE": "Release",
- "VCPKG_OVERLAY_TRIPLETS": "${fileDir}/Meta/CMake/vcpkg/distribution-triplets"
- }
- },
- {
- "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": "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": "Fuzzers",
- "inherits": "default",
- "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"
- }
- ],
- "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": "Distribution",
- "configurePreset": "Distribution",
- "displayName": "Build",
- "description": "Build the project for distribution",
- "targets": [
- "all"
- ]
- },
- {
- "name": "Debug",
- "configurePreset": "Debug",
- "displayName": "Build",
- "description": "Build the project in debug",
- "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:$penv{ASAN_OPTIONS}",
- "UBSAN_OPTIONS": "print_stacktrace=1:print_summary=1:halt_on_error=1:$penv{UBSAN_OPTIONS}"
- }
- },
- {
- "name": "Debug",
- "inherits": "default",
- "configurePreset": "Debug"
- },
- {
- "name": "Distribution",
- "inherits": "default",
- "configurePreset": "Distribution"
- }
- ]
- }
|