Skip to content

C++20 everywhere: centralize the standard, drop per-object overrides#12

Merged
tap merged 1 commit into
mainfrom
claude/shared-code-submodule-strategy-rdel5d
Jul 21, 2026
Merged

C++20 everywhere: centralize the standard, drop per-object overrides#12
tap merged 1 commit into
mainfrom
claude/shared-code-submodule-strategy-rdel5d

Conversation

@tap

@tap tap commented Jul 21, 2026

Copy link
Copy Markdown
Owner

Min's posttarget pins each external to C++17, so today each object's CMakeLists re-overrides CXX_STANDARD to 20. This centralizes it: the root re-forces C++20 on every target an object folder creates, right after add_subdirectory — one place.

Changes

  • Root: after each add_subdirectory(source/projects/…), sweep its BUILDSYSTEM_TARGETS to C++20.
  • Remove the per-object CXX_STANDARD 20 overrides.
  • The sweep also cancels Min's Apple Catch opt-out (CATCH_CONFIG_NO_CPP17_UNCAUGHT_EXCEPTIONS, which forces the C++20-removed std::uncaught_exception()) on any _test target — inert here (no wrapper tests today), but keeps the sweep identical to TapTools-Max and future-proofs macOS test builds.

Verification

Objects compile under C++20 via the central sweep (confirmed locally). No behavior change — purely how the standard is set.

🤖 Generated with Claude Code

https://claude.ai/code/session_01MRTDgYKY38WH8Bqz17W9k1


Generated by Claude Code

Min's posttarget pins each external to C++17. Instead of overriding that per
object, the root now re-forces C++20 on every target an object folder creates,
right after add_subdirectory — one place. The sweep also cancels min's Apple
Catch opt-out (CATCH_CONFIG_NO_CPP17_UNCAUGHT_EXCEPTIONS, which forces the
C++20-removed std::uncaught_exception()) on any _test target, so future wrapper
tests build at C++20 on macOS too.

Remove the now-redundant per-object CXX_STANDARD 20 overrides.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MRTDgYKY38WH8Bqz17W9k1
@tap
tap merged commit ed753d7 into main Jul 21, 2026
10 checks passed
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.

2 participants