Skip to content

chore(cmake): post-audit corrective items from #661 (DEV-02 through DEV-05) #670

Description

@kcenon

What

Apply corrective patches for the four minor deviations identified in the Phase 7 standard-conformance audit (#661, DEV-02 through DEV-05). All four are low-risk housekeeping items that bring common_system into full conformance with docs/kcenon-system-layout.md v1.0.

Items

  • DEV-02: Refactor inline logic in root CMakeLists.txt (lines 80–364) into project-specific cmake/ modules (cmake/common-targets.cmake, cmake/common-testing.cmake, etc.). The root file should remain a thin orchestrator after this change.
  • DEV-03: Replace file(GLOB ...) calls in integration_tests/CMakeLists.txt lines 41–44 with explicit set(...) source lists. Subdirectories (scenarios/, failures/, performance/, stress/) currently contain no .cpp files, so the lists may start empty but the mechanism becomes standards-compliant.
  • DEV-04: Rename tests/improved_result_test.cpptests/result_test.cpp and tests/improved_event_bus_test.cpptests/event_bus_test.cpp. Update tests/CMakeLists.txt source lists accordingly. The improved_ prefix is vestigial.
  • DEV-05: Remove redundant enable_testing() calls from tests/CMakeLists.txt:746 and integration_tests/CMakeLists.txt:70. The root CMakeLists.txt already invokes kcenon_template_setup_testing() which calls enable_testing() at root scope.

Why

How

Approach

These items can be handled in a single PR with four atomic commits, one per DEV, each following Conventional Commits format.

Suggested commits:

  • refactor(cmake): split root CMakeLists.txt into common-* modules (DEV-02)
  • chore(integration_tests): replace file(GLOB) with explicit source lists (DEV-03)
  • chore(tests): drop improved_ prefix from test filenames (DEV-04)
  • chore(cmake): remove redundant enable_testing() in test subdirs (DEV-05)

Acceptance Criteria

  • DEV-02: Root CMakeLists.txt reduced to thin-orchestrator role; inline logic relocated to cmake/common-*.cmake modules
  • DEV-03: file(GLOB ...) calls in integration_tests/CMakeLists.txt replaced with explicit set(...) lists
  • DEV-04: Test files renamed (improved_ prefix removed); source lists updated
  • DEV-05: Redundant enable_testing() calls removed
  • CI passes on full matrix (Ubuntu GCC/Clang, macOS, Windows MSVC)
  • No runtime behavior change verified by existing tests

References

Part of #656.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions