diff --git a/CMakePresets.json b/CMakePresets.json index 940e694f1d..54fbbe6665 100644 --- a/CMakePresets.json +++ b/CMakePresets.json @@ -30,6 +30,29 @@ } } }, + { + "name": "Debug", + "inherits": "default", + "displayName": "Debug Config", + "description": "Debug build using Ninja generator", + "binaryDir": "${sourceDir}/Build/ladybird-debug", + "cacheVariables": { + "CMAKE_BUILD_TYPE": "Debug", + "VCPKG_OVERLAY_TRIPLETS": "${sourceDir}/Meta/CMake/vcpkg/debug-triplets" + } + }, + { + "name": "Sanitizer", + "inherits": "Debug", + "displayName": "Sanitizer Config", + "description": "Debug build using Sanitizers", + "binaryDir": "${sourceDir}/Build/ladybird-sanitizers", + "cacheVariables": { + "ENABLE_UNDEFINED_SANITIZER": "ON", + "ENABLE_ADDRESS_SANITIZER": "ON", + "VCPKG_OVERLAY_TRIPLETS": "${sourceDir}/Meta/CMake/vcpkg/sanitizer-triplets" + } + }, { "hidden": true, "name": "vcpkg_ci", @@ -38,19 +61,6 @@ "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" ], diff --git a/Meta/CMake/vcpkg/debug-triplets/arm64-osx.cmake b/Meta/CMake/vcpkg/debug-triplets/arm64-osx.cmake new file mode 100644 index 0000000000..3dadc9dd95 --- /dev/null +++ b/Meta/CMake/vcpkg/debug-triplets/arm64-osx.cmake @@ -0,0 +1,2 @@ +include (${CMAKE_CURRENT_LIST_DIR}/../base-triplets/arm64-osx.cmake) +include (${CMAKE_CURRENT_LIST_DIR}/debug.cmake) diff --git a/Meta/CMake/vcpkg/debug-triplets/debug.cmake b/Meta/CMake/vcpkg/debug-triplets/debug.cmake new file mode 100644 index 0000000000..765215e7d3 --- /dev/null +++ b/Meta/CMake/vcpkg/debug-triplets/debug.cmake @@ -0,0 +1,3 @@ +# Ideally, we would set VCPKG_BUILD_TYPE="debug", but that is currently not supported as a standalone build type. +# See: https://github.com/microsoft/vcpkg/issues/38224 +set(VCPKG_LIBRARY_LINKAGE static) diff --git a/Meta/CMake/vcpkg/debug-triplets/x64-linux.cmake b/Meta/CMake/vcpkg/debug-triplets/x64-linux.cmake new file mode 100644 index 0000000000..a7b02209c0 --- /dev/null +++ b/Meta/CMake/vcpkg/debug-triplets/x64-linux.cmake @@ -0,0 +1,2 @@ +include (${CMAKE_CURRENT_LIST_DIR}/../base-triplets/x64-linux.cmake) +include (${CMAKE_CURRENT_LIST_DIR}/debug.cmake) diff --git a/Meta/CMake/vcpkg/debug-triplets/x64-osx.cmake b/Meta/CMake/vcpkg/debug-triplets/x64-osx.cmake new file mode 100644 index 0000000000..e606f5f99a --- /dev/null +++ b/Meta/CMake/vcpkg/debug-triplets/x64-osx.cmake @@ -0,0 +1,2 @@ +include (${CMAKE_CURRENT_LIST_DIR}/../base-triplets/x64-osx.cmake) +include (${CMAKE_CURRENT_LIST_DIR}/debug.cmake)