Skip to content

Improve configure-time clangd support and shared Doxygen layout - #33

Merged
sean-parent merged 8 commits into
mainfrom
worktree-improve-clangd-support
Oct 15, 2026
Merged

sean-parent merged 8 commits into
mainfrom
worktree-improve-clangd-support

Conversation

@sean-parent

@sean-parent sean-parent commented Oct 14, 2026 •

Copy link
Copy Markdown
Member

Summary

  • Generate exact public-header consumer commands during CMake configure using excluded indexing targets, with ownership validation, aliases, generated headers, and nested dependency support.
  • Add missing-file VSCode CMake Tools settings for preset-based database copying while preserving existing workspace configuration.
  • Add a compact shared Doxygen layout with Reference/Index navigation, description-first groups, inherited default pages, and a documented layout-warning review workflow. Require Doxygen 1.13.1+ for documentation and preserve native Windows documentation exit codes.
  • Remove externally managed worktree tasks and tokensave hooks from VSCode configuration, and ignore generated build directories.
  • Add Windows/MSVC, Linux/GCC, and macOS/Apple Clang regression coverage.
  • Keep regression-harness warning options compatible with both older CMake and CMake 4.4+, which deprecates the legacy unused-CLI flag.

Test plan

Fresh local validation at 0c33bbb8bd596828408cac19527ee3cd9f13cca0 on Windows/MSVC 19.51, CMake 4.3.1, Ninja 1.13.2, Doxygen 1.18.0, clangd 21.1.6, and Python 3.13.14 for protocol checks:

  • cmake -P tests/install/CMakeLists.txt: 32 passed, 0 failed; one pre-existing manual-only case remains skipped.
  • cmake -P tests/install/test_provider_merge.cmake: all 5 provider-merging checks passed.
  • cmake -P tests/install/test_nested_install.cmake: all 11 nested install/package cases passed, including static/shared build/install/downstream consumption.
  • cmake -P tests/setup/test_target_type.cmake: all 4 target-type cases passed.
  • cmake -P tests/setup/test_runtime_dlls.cmake: custom shared/static executable deployment passed.
  • cmake -P tests/setup/test_setup_version_resolution.cmake: scaffold version-resolution regression passed.
  • cmake -DCPP_LIBRARY_TEST_CLANGD=ON -DCPP_LIBRARY_TEST_COMPILER_ID=MSVC -P tests/setup/test_clangd.cmake: configure-only exact header commands, fresh-clangd exact definition ranges, consumer flags, generated/nested headers, exclusion/install behavior, settings preservation, and preset switching passed.
  • cmake -P tests/docs/test_docs.cmake: all 15 configuration/rendering/review-policy cases passed.
  • git diff --check: passed.
  • CI at the exact head: all seven jobs passed, including Linux/GCC, macOS/Apple Clang, Windows runner coverage, documentation, and the Ubuntu scaffold/install/find_package integration.

Boundaries

  • Live VSCode CMake Tools database copying was not driven through the editor UI; generated settings, preservation, and configure-only preset databases are covered automatically.
  • Active multi-configuration generators are rejected instead of choosing ambiguous header commands; single-config Ninja/Makefiles or opt-out are required.
  • Local validation used the tool versions above, not the minimum CMake 3.24/Doxygen 1.13.1 versions.
  • WARN_LAYOUT_FILE = NO intentionally suppresses layout diagnostics. Layout edits must temporarily enable those warnings and review the complete list, as documented.

Generated with GitHub Copilot CLI

sean-parent and others added 8 commits October 14, 2026 15:47
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Require Doxygen 1.13.1+, preserve custom layout overrides, and propagate native documentation exit codes on Windows. Ignore generated build directories.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

@sean-parent sean-parent left a comment

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Talos local review

Verdict: No actionable issues found in the reviewed changes.

Reviewed commit: 0c33bbb8bd596828408cac19527ee3cd9f13cca0
Scope: Complete 27-file PR diff against main, merge base 2068f2e6522ead4577f147f886e264b66f7db07e. No binary/generated files skipped.
Reviewed by: Security, Correctness, Standards, Architecture, Operations, Documentation, followed by Challenge. All six baseline personas completed; the challenge pass processed the empty candidate set.
Counts: 0 candidate observations; 0 dropped or merged; 0 accepted findings; 0 inline comments posted; 0 overflow or unanchorable findings. No duplicate findings or recurrences to post.

Persona routing: static roster (DCAP routing off; rerun with --dcap to enable).

Project context: Loaded the complete merge-base CLAUDE.md; no rule files skipped, no matching GitHub custom instructions, and no active OpenSpec changes.

Verification: All eight documented local CMake regression scripts passed freshly at this commit on Windows/MSVC, including fresh-clangd definition checks and 15 documentation cases. The dependency-mapping suite reports 32 passed, 0 failed, with its existing manual-only case skipped. Exact-head CI completed successfully: all seven jobs passed, including Windows/MSVC, Linux/GCC, macOS/Apple Clang, documentation, and the scaffold/build/install/find_package round trip. The initial CMake 4.4 deprecation failure was corrected in this reviewed head and the platform jobs reran successfully.

Coverage limitations: Static persona review is not proof of defect absence, and an empty-set challenge does not independently re-review the code. Live VSCode CMake Tools UI copying and the minimum supported CMake/Doxygen versions were not exercised locally. The supplementary Scout packet is incomplete and scope-inconsistent (65 compared files versus the authoritative 27-file diff); reviewers did not rely on its classifications as proof of findings or coverage. Its affected-test list below is not a validated execution plan; validation used this repository's documented scripts and CI jobs.

Scout

Used: risk HIGH, evidence MEDIUM, status INCOMPLETE (scout 0.9.130, <1s).
Cross-file leads given to reviewers: 7 changed symbol(s) with uses outside the diff, 0 new value(s) not handled everywhere, 0 possibly unused symbol(s).

Tests to run (Scout: 45 Must Run test(s), in these files):

  • tests/install/fixtures/consumer/examples/example.cpp
    Scout left 44 affected-test entries out of its packet; for the full list run scout affected-tests -r 'D:/repos/github.com/stlab/cpp-library/.claude/worktrees/improve-clangd-support' -s compare -b origin/main.

@sean-parent
sean-parent merged commit b0b0969 into main Oct 15, 2026
7 checks passed
@sean-parent
sean-parent deleted the worktree-improve-clangd-support branch October 15, 2026 00:24
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