Skip to content

[EPIC] monitoring_system: remove legacy fallback and decompose CMake #674

Description

@kcenon

Summary

Phase 5 of the ecosystem-wide directory structure standardization. monitoring_system has a 997-line root CMakeLists.txt that maintains a legacy/new dual structure with 13 hardcoded .cpp paths as fallback. Remove the legacy fallback, regularize the src/{context,core,impl,platform,plugins}/ layout, and decompose the CMake configuration per the canonical template.

Part of kcenon/common_system#657 (master EPIC).

Why

  • The 997-line root CMakeLists.txt is bloated primarily because it supports two structural layouts simultaneously (legacy fallback path)
  • 13 hardcoded .cpp file paths in build config drift silently as files move
  • The flat 37 test files under tests/ do not mirror src/, making test-to-source navigation harder than it needs to be

Scope

  1. Identify and remove the legacy/fallback branch in CMakeLists.txt
  2. Reorganize src/{context,core,impl,platform,plugins}/ to match the standard (consolidate impl/ into feature directories)
  3. Replace 13 hardcoded .cpp paths with glob or feature-grouped target sources
  4. Decompose 997-line root CMakeLists.txt into cmake/*.cmake modules per canonical template
  5. Reorganize tests/ to mirror src/ (or document deliberate flat layout)

Child Issues

Execution order: #675#676#677#678#679 (sequential, dependency-ordered).

Acceptance Criteria

  • Single CMake build path; no legacy/new branch in any CMakeLists.txt
  • No hardcoded .cpp file lists in build config
  • cmake modules match the canonical template
  • Test files organized to mirror src/ or with documented rationale
  • All downstream consumers (pacs, network) build unchanged

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requesthierarchy/epicpriority/highHigh priority - Critical for productionsize/XLExtra Large - More than 5 days of worktype/refactorCode refactoring without functional changes

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions