Skip to content

chore(vcpkg-ports): Migrate portfile PACKAGE_NAME to snake_case (remove PascalCase wrappers) #562

Description

@kcenon

Part of #558

What

Four ecosystem systems have completed upstream snake_case install(EXPORT) migration, but the portfiles still reference PascalCase PACKAGE_NAME and generate snake_case wrapper config files. The wrappers can now be removed by pointing directly to the snake_case names.

  • Current: Portfiles use PascalCase PACKAGE_NAME + manual snake_case wrappers
  • Expected: Portfiles use snake_case PACKAGE_NAME directly, no wrappers needed
  • Scope: 4 portfiles in vcpkg-ports/

Upstream Migration Status (all CLOSED)

System Portfile PACKAGE_NAME Upstream Migration Issue Status
logger_system LoggerSystem kcenon/logger_system#502 Completed
container_system ContainerSystem kcenon/container_system#424 Completed
database_system DatabaseSystem kcenon/database_system#455 Completed
network_system NetworkSystem kcenon/network_system#843 Completed

Why

Where

  • vcpkg-ports/kcenon-logger-system/portfile.cmake — PACKAGE_NAME LoggerSystem + wrapper
  • vcpkg-ports/kcenon-container-system/portfile.cmake — PACKAGE_NAME ContainerSystem + wrapper
  • vcpkg-ports/kcenon-database-system/portfile.cmake — PACKAGE_NAME DatabaseSystem + wrapper
  • vcpkg-ports/kcenon-network-system/portfile.cmake — PACKAGE_NAME NetworkSystem + wrapper

How

Technical Approach

For each portfile:

  1. Change vcpkg_cmake_config_fixup(PACKAGE_NAME PascalCase CONFIG_PATH lib/cmake/PascalCase) to vcpkg_cmake_config_fixup(PACKAGE_NAME snake_case CONFIG_PATH lib/cmake/snake_case)
  2. Remove the wrapper file(WRITE ...) blocks that generate *-config.cmake and *-config-version.cmake
  3. Verify find_package(snake_case CONFIG) works without the wrapper

Acceptance Criteria

  • All 4 portfiles use snake_case PACKAGE_NAME
  • No wrapper config files are generated in portfiles
  • find_package(logger_system CONFIG), find_package(container_system CONFIG), find_package(database_system CONFIG), find_package(network_system CONFIG) all resolve correctly

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/depspriority/mediumMedium priority - Important but not urgentsize/SSmall - Less than 1 day of worktype/choreMaintenance and cleanup tasks

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions