From 3053bd0ac9194bb188fbdda1f53eb10c86c5b4f6 Mon Sep 17 00:00:00 2001 From: Yaraslau Tamashevich Date: Tue, 18 Aug 2026 10:33:50 +0300 Subject: [PATCH] cmake: add windows-everything and linux-everything presets Configure/build/test presets that turn on every optional feature buildable on their respective toolchains, for local one-shot builds that exercise the whole tree rather than one feature slice at a time. - windows-everything inherits clangcl-release (clang-cl + vcpkg). - linux-everything inherits clang-release (Clang + llvm-toolchain.cmake). Both enable: tests, examples, bank example + GUI, HMAC examples, forms QML, Qt, the full application ladder (all rungs), fuzzers, load tests, and offline SQLite. linux-everything additionally enables MORPH_BUILD_NET, which is POSIX-only and ignored (with a warning) on Windows. Left out on both: MORPH_BUILD_CLANG_TIDY and MORPH_BUILD_DOCUMENTATION, which are lint/docs tooling concerns rather than compilation. Co-Authored-By: Claude Sonnet 5 --- CMakePresets.json | 55 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) diff --git a/CMakePresets.json b/CMakePresets.json index 09e48674..132046bd 100644 --- a/CMakePresets.json +++ b/CMakePresets.json @@ -93,6 +93,26 @@ "binaryDir": "${sourceDir}/build/clangcl-release", "cacheVariables": { "CMAKE_BUILD_TYPE": "Release" } }, + { + "name": "windows-everything", + "displayName": "Every optional feature (clang-cl release, Windows)", + "inherits": "clangcl-release", + "binaryDir": "${sourceDir}/build/windows-everything", + "cacheVariables": { + "MORPH_BUILD_TESTS": "ON", + "MORPH_BUILD_EXAMPLES": "ON", + "MORPH_BUILD_BANK_EXAMPLE": "ON", + "MORPH_BUILD_BANK_GUI": "ON", + "MORPH_BUILD_HMAC_EXAMPLES": "ON", + "MORPH_BUILD_FORMS_QML": "ON", + "MORPH_BUILD_QT": "ON", + "MORPH_BUILD_LADDER": "ON", + "MORPH_LADDER_RUNGS": "all", + "MORPH_BUILD_FUZZERS": "ON", + "MORPH_BUILD_LOAD_TESTS": "ON", + "MORPH_BUILD_OFFLINE_SQLITE": "ON" + } + }, { "name": "gcc-debug", @@ -123,6 +143,27 @@ "binaryDir": "${sourceDir}/build/clang-release", "cacheVariables": { "CMAKE_BUILD_TYPE": "Release" } }, + { + "name": "linux-everything", + "displayName": "Every optional feature (Clang release, Linux)", + "inherits": "clang-release", + "binaryDir": "${sourceDir}/build/linux-everything", + "cacheVariables": { + "MORPH_BUILD_TESTS": "ON", + "MORPH_BUILD_EXAMPLES": "ON", + "MORPH_BUILD_BANK_EXAMPLE": "ON", + "MORPH_BUILD_BANK_GUI": "ON", + "MORPH_BUILD_HMAC_EXAMPLES": "ON", + "MORPH_BUILD_FORMS_QML": "ON", + "MORPH_BUILD_QT": "ON", + "MORPH_BUILD_LADDER": "ON", + "MORPH_LADDER_RUNGS": "all", + "MORPH_BUILD_NET": "ON", + "MORPH_BUILD_FUZZERS": "ON", + "MORPH_BUILD_LOAD_TESTS": "ON", + "MORPH_BUILD_OFFLINE_SQLITE": "ON" + } + }, { "name": "clang-asan", "displayName": "ASan + UBSan (Clang, Linux)", @@ -171,10 +212,12 @@ { "name": "cl-qt-release", "configurePreset": "cl-qt-release", "jobs": 0 }, { "name": "clangcl-debug", "configurePreset": "clangcl-debug", "jobs": 0 }, { "name": "clangcl-release", "configurePreset": "clangcl-release", "jobs": 0 }, + { "name": "windows-everything", "configurePreset": "windows-everything", "jobs": 0 }, { "name": "gcc-debug", "configurePreset": "gcc-debug", "jobs": 0 }, { "name": "gcc-release", "configurePreset": "gcc-release", "jobs": 0 }, { "name": "clang-debug", "configurePreset": "clang-debug", "jobs": 0 }, { "name": "clang-release", "configurePreset": "clang-release", "jobs": 0 }, + { "name": "linux-everything", "configurePreset": "linux-everything", "jobs": 0 }, { "name": "clang-asan", "configurePreset": "clang-asan", "jobs": 0 }, { "name": "clang-tsan", "configurePreset": "clang-tsan", "jobs": 0 }, { "name": "clang-ubsan", "configurePreset": "clang-ubsan", "jobs": 0 }, @@ -205,6 +248,12 @@ "output": { "outputOnFailure": true }, "execution": { "noTestsAction": "error", "stopOnFailure": true } }, + { + "name": "windows-everything", + "configurePreset": "windows-everything", + "output": { "outputOnFailure": true }, + "execution": { "noTestsAction": "error", "stopOnFailure": true } + }, { "name": "gcc-debug", "configurePreset": "gcc-debug", @@ -217,6 +266,12 @@ "output": { "outputOnFailure": true }, "execution": { "noTestsAction": "error", "stopOnFailure": true } }, + { + "name": "linux-everything", + "configurePreset": "linux-everything", + "output": { "outputOnFailure": true }, + "execution": { "noTestsAction": "error", "stopOnFailure": true } + }, { "name": "clang-asan", "configurePreset": "clang-asan",