Skip to content

cmake: add windows-everything and linux-everything presets - #124

Merged
Yaraslaut merged 1 commit into
masterfrom
add-everything-cmake-presets
Aug 18, 2026
Merged

cmake: add windows-everything and linux-everything presets#124
Yaraslaut merged 1 commit into
masterfrom
add-everything-cmake-presets

Conversation

@Yaraslaut

Copy link
Copy Markdown
Member

Summary

Adds two CMake presets for local one-shot builds that turn on every optional feature buildable on their respective toolchain, instead of enabling one feature slice at a time:

  • windows-everything — inherits clangcl-release (clang-cl + vcpkg toolchain)
  • linux-everything — inherits clang-release (Clang + llvm-toolchain.cmake)

Both enable: MORPH_BUILD_TESTS, MORPH_BUILD_EXAMPLES, MORPH_BUILD_BANK_EXAMPLE, MORPH_BUILD_BANK_GUI, MORPH_BUILD_HMAC_EXAMPLES, MORPH_BUILD_FORMS_QML, MORPH_BUILD_QT, MORPH_BUILD_LADDER (MORPH_LADDER_RUNGS=all), MORPH_BUILD_FUZZERS, MORPH_BUILD_LOAD_TESTS, MORPH_BUILD_OFFLINE_SQLITE.

linux-everything additionally enables MORPH_BUILD_NET, which is POSIX-only and is ignored (with a CMake warning) on Windows — so it's excluded from windows-everything.

Left out of both, deliberately: MORPH_BUILD_CLANG_TIDY and MORPH_BUILD_DOCUMENTATION — these are lint/docs tooling concerns, not compilation, so they don't fit "build everything" in the sense this preset targets.

Matching buildPresets and testPresets entries are included for both, so the full flow is:

cmake --preset windows-everything   # or linux-everything
cmake --build --preset windows-everything
ctest --preset windows-everything --output-on-failure

Verification

  • CMakePresets.json validated as well-formed JSON.
  • cmake --list-presets=configure confirms both new presets register correctly alongside the existing ones.

🤖 Generated with Claude Code

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 <noreply@anthropic.com>
@codecov

codecov Bot commented Aug 18, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@Yaraslaut
Yaraslaut merged commit d255723 into master Aug 18, 2026
23 checks passed
@Yaraslaut
Yaraslaut deleted the add-everything-cmake-presets branch August 18, 2026 07:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant