Skip to content

[#531-2/5] Source migration to src/{core,internal,integration,messaging}/ #533

Description

@kcenon

What

Move all .cpp source files from feature directories into src/{core,internal,integration,messaging}/, leaving the root-level feature directories empty so they can be removed.

Current scattered sources:

  • core/ — 9 sources
  • internal/ — 3 sources
  • integration/ — 1 source
  • messaging/ — 1 source

Target: src/{core,internal,integration,messaging}/.

Why

After the header consolidation (depends on #), feature directories still hold ~14 .cpp files. Sources mixed with headers in feature directories block clean install(DIRECTORY ...) rules and prevent removal of the four root-level directories. Centralising sources in src/ matches the canonical template used by sibling repos in the EPIC.

Where

  • Source: core/, internal/, integration/, messaging/ (.cpp only)
  • Target: src/{core,internal,integration,messaging}/
  • Affected: target source lists in CMakeLists.txt

How

Technical Approach

  1. Wait for header consolidation (#) to merge so #include paths are stable.
  2. Move .cpp files preserving subdirectory structure.
  3. Update every target_sources(... PRIVATE ...) entry in CMakeLists.txt and any cmake module that lists sources by absolute or repo-relative path.
  4. Verify core/, internal/, integration/, messaging/ are now empty and remove them.
  5. Run full build + tests.

Dependencies

  • Blocked by: header consolidation sub-issue (must merge first to keep #include resolution stable while sources move)

Acceptance Criteria

  • Feature directories at repo root removed (core/, internal/, integration/, messaging/ no longer exist)
  • All sources under src/
  • CMake targets compile against the new source paths
  • Full build green, ctest passes
  • Downstream consumers still build

Estimated Size

M (~14 cpp moves + CMake source list updates).

Part of #531

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions