Skip to content

chore(cmake): align logger_system cmake modules with canonical template #628

Description

@kcenon

What

Verify that logger_system's cmake/*.cmake decomposition matches the canonical template documented in kcenon-system-layout.md v1.0.

  • Current: logger_system/cmake/ holds 6 logger_*.cmake modules (logger_compatibility, logger_coverage, logger_dependencies, logger_features, logger_sanitizers, logger_warnings) plus 3 shared/build helpers (CompilerChecks, FetchBenchmark, UnifiedDependencies) and the install config logger_system-config.cmake.in. The parent EPIC [EPIC] logger_system: final standard verification #624 references "logger has 7 modules" and notes the canonical template defines 8.
  • Expected: Each module in the canonical template either has a matching module in logger_system/cmake/ or is documented as an explicit, accepted deviation (with rationale).
  • Scope: Read-only mapping in this issue. Any "must-fix" gaps are split into a follow-up corrective-patches issue ([EPIC] logger_system: final standard verification #624 child 4).

Why

  • The whole point of the cmake-template extraction in Phase 0 is to give all 8 systems a comparable, reviewable build configuration. Drift in logger_system undermines the template's value as a reference.
  • logger_system is intended as a reference example; reviewers and contributors should be able to use its cmake/ directory as a worked instance of the template.
  • Catching template gaps here is cheaper than discovering them when a future system tries to copy logger_system's layout.

Part of #624.

How

Technical Approach

  1. Pull the canonical template module list from kcenon-system-layout.md v1.0 and from the pacs_system reference layout.

  2. Build a mapping table:

    Template module logger_system module Status
    e.g. <system>_features logger_features.cmake match
    ... ... match / missing / extra
  3. Classify each row:

    • match — name and contents align (verify by reading both files)
    • missing — template defines a module logger_system lacks; decide whether to add or accept
    • extra — logger_system has a module the template does not; document rationale (e.g. logger_compatibility.cmake)
    • renamed — same purpose, different name; align if cheap
  4. Post the mapping table as a comment on this issue.

  5. If any missing or renamed rows require code changes, open them under the corrective-patches sub-issue.

Acceptance Criteria

  • Mapping table comparing canonical template modules to logger_system/cmake/logger_*.cmake posted as a comment
  • Every missing row has a disposition (add / accept with rationale)
  • Every extra row has a documented rationale (e.g. logger_compatibility.cmake justification)
  • If corrective work is needed, follow-up linked to [EPIC] logger_system: final standard verification #624 child "corrective patches"
  • Root CMakeLists.txt include(...) directives match the final module list (no orphaned modules, no missing includes)

Metadata

Metadata

Assignees

No one assigned

    Labels

    buildBuild system (CMake, etc)priority:highHigh priority issuerefactoringCode refactoring and improvements

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions