From 6f4808401b137a09e45b67c92e443f08865f791b Mon Sep 17 00:00:00 2001 From: Luke Street Date: Sun, 2 Nov 2025 21:52:55 -0700 Subject: [PATCH] CMakePresets: Add debug-clang and release-clang presets --- CMakePresets.json | 60 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) diff --git a/CMakePresets.json b/CMakePresets.json index 67fd674..9bea883 100644 --- a/CMakePresets.json +++ b/CMakePresets.json @@ -10,6 +10,14 @@ "WIBO_ENABLE_LIBURING": "ON" } }, + { + "name": "clang-base", + "hidden": true, + "cacheVariables": { + "CMAKE_C_COMPILER": "clang", + "CMAKE_CXX_COMPILER": "clang++" + } + }, { "name": "debug", "displayName": "Debug", @@ -27,6 +35,24 @@ "cacheVariables": { "CMAKE_BUILD_TYPE": "Release" } + }, + { + "name": "debug-clang", + "displayName": "Debug (Clang)", + "inherits": ["ninja-base", "clang-base"], + "binaryDir": "${sourceDir}/build/debug-clang", + "cacheVariables": { + "CMAKE_BUILD_TYPE": "Debug" + } + }, + { + "name": "release-clang", + "displayName": "Release (Clang)", + "inherits": ["ninja-base", "clang-base"], + "binaryDir": "${sourceDir}/build/release-clang", + "cacheVariables": { + "CMAKE_BUILD_TYPE": "Release" + } } ], "buildPresets": [ @@ -43,6 +69,20 @@ "configurePreset": "release", "targets": ["wibo", "wibo_test_fixtures"], "configuration": "Release" + }, + { + "name": "debug-clang", + "displayName": "Build (Debug, Clang)", + "configurePreset": "debug-clang", + "targets": ["wibo", "wibo_test_fixtures"], + "configuration": "Debug" + }, + { + "name": "release-clang", + "displayName": "Build (Release, Clang)", + "configurePreset": "release-clang", + "targets": ["wibo", "wibo_test_fixtures"], + "configuration": "Release" } ], "testPresets": [ @@ -65,6 +105,26 @@ "outputOnFailure": true, "shortProgress": true } + }, + { + "name": "fixtures-debug-clang", + "displayName": "Run fixture tests (Debug, Clang)", + "configurePreset": "debug-clang", + "configuration": "Debug", + "output": { + "outputOnFailure": true, + "shortProgress": true + } + }, + { + "name": "fixtures-release-clang", + "displayName": "Run fixture tests (Release, Clang)", + "configurePreset": "release-clang", + "configuration": "Release", + "output": { + "outputOnFailure": true, + "shortProgress": true + } } ] }