Skip to content

chore(cmake): Standardize Config.cmake.in to kebab-case naming #533

Description

@kcenon

What

Rename common_systemConfig.cmake.in to common_system-config.cmake.in (kebab-case) for consistency with the other 6 ecosystem libraries.

Current State

Library Config Template Naming Convention
common_system common_systemConfig.cmake.in PascalCase
thread_system thread_system-config.cmake.in kebab-case ✅
logger_system logger_system-config.cmake.in kebab-case ✅
container_system container_system-config.cmake.in kebab-case ✅
monitoring_system monitoring_system-config.cmake.in kebab-case ✅
database_system database_system-config.cmake.in kebab-case ✅
network_system network_system-config.cmake.in kebab-case ✅
pacs_system pacs_systemConfig.cmake.in PascalCase

Why

  • 8 libraries in the ecosystem should follow a single naming convention for maintainability
  • kebab-case is the majority convention (6 of 8 libraries)
  • CMake find_package(CONFIG) searches for both <pkg>Config.cmake and <pkg>-config.cmake, so no downstream breakage

Where

File Change
cmake/common_systemConfig.cmake.in Rename to cmake/common_system-config.cmake.in
CMakeLists.txt (lines 283-296) Update references from common_systemConfig to common_system-config and common_systemConfigVersion to common_system-config-version

Note: Portfile CONFIG_PATH is directory-only (lib/cmake/common_system), no change needed.

How

Technical Approach

  1. Rename cmake/common_systemConfig.cmake.incmake/common_system-config.cmake.in
  2. Update CMakeLists.txt:
    • configure_package_config_file(): input/output filenames
    • write_basic_package_version_file(): output filename
    • install(FILES ...): both config and version filenames

Acceptance Criteria

  • Config template renamed to kebab-case
  • CMakeLists.txt references updated
  • find_package(common_system CONFIG) works correctly after change
  • vcpkg build succeeds with renamed config

Related

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions