Task: Implement ORES_VCPKG_ENABLED cmake switch
This page documents a task in the Skip vcpkg for doc-only cmake builds story. It captures the goal, current status, acceptance, and any notes or results.
Goal
Introduce ORES_VCPKG_ENABLED (default ON) as a cmake cache variable
that gates the vcpkg overlay/toolchain setup and all C++ dependency
discovery. Move the emacs doc targets before the first find_package call
and add an early return() when the switch is OFF. Add a
linux-doc-only configure + build preset that sets ORES_VCPKG_ENABLED=OFF.
Switch site-cdash.yml to use this preset, dropping sccache, Qt, and
vcpkg setup steps.
Status
| Field | Value |
|---|---|
| State | DONE |
| Parent story | Skip vcpkg for doc-only cmake builds |
| Now | Nothing. |
| Waiting on | Nothing. |
| Next | Nothing. |
| Last touched | 2026-06-12 |
Acceptance
CMakeLists.txtguards vcpkg setup and allfind_packagecalls withORES_VCPKG_ENABLED.- Emacs doc targets are defined before the C++ section.
CMakePresets.jsonhas alinux-doc-onlyconfigure + build preset.site-cdash.ymluseslinux-doc-onlyand omits sccache/Qt/vcpkg steps.
Plan
(Implementation strategy. Written when work starts; key decisions
are distilled into the parent story's * Decisions at close, but the
plan itself stays — it is the historical record of what we did.)
Notes
PRs
| PR | Title |
|---|---|
| #1270 | [cmake,ci] Skip vcpkg for doc-only cmake builds |
Review
| # | Comment summary | File | Decision | Notes |
|---|---|---|---|---|
| 1 | No generator for linux-doc-only preset | CMakePresets.json | Fixed | Inherit make mixin |
| 2 | CTestSite.cmake fatal-error for linux-doc-only (3-segment name) | CTestSite.cmake | Fixed | list(LENGTH) guard; default to make |
| 3 | Typo ORES_SIRE_DIRECTORY in deploy_skills COMMENT | CMakeLists.txt | Fixed | Corrected to ORES_SKILLS_DIRECTORY |
| 4 | project(LANGUAGES CXX) unconditional; C++ compiler still required | CMakeLists.txt | Documented | Added note to ORES_VCPKG_ENABLED description |
| 5 | Duplicate * Result heading in task doc | task_implement-vcpkg-enabled-switch.org | Fixed | Removed trailing empty heading |
| 6 | vcpkg cache vars in doc-only preset (harmless) | CMakePresets.json | Accepted | No action; ignored when vcpkg disabled |
| 7 | PlantUML detection runs before early return (harmless) | CMakeLists.txt | Accepted | No action; fast find_program, no C++ target uses it |
Result
ORES_VCPKG_ENABLED(defaultON) added toCMakeLists.txtbeforeproject(); guards vcpkg overlay setup, toolchain file, and via the earlyreturn()allfind_packagecalls.- Emacs doc targets moved before the C++ dependency block.
linux-doc-onlyconfigure, build, and test presets added toCMakePresets.json.site-cdash.ymlswitched tolinux-doc-only; sccache, Qt, vcpkg setup steps removed.- Locally verified: configure 0.1s;
deploy_sitebuilds cleanly;linux-clang-debug-makestill finds vcpkg packages.