What
Change the CMake install(EXPORT) name destination from lib/cmake/DatabaseSystem to
lib/cmake/database_system so find_package(database_system CONFIG) resolves natively.
Why
The monitoring_system vcpkg overlay ports standardized on snake_case PACKAGE_NAME
to match vcpkg port naming conventions (kcenon-database-system → database_system).
Currently the portfile must work around this with a wrapper config file:
# vcpkg-ports/kcenon-database-system/portfile.cmake (wrapper workaround)
vcpkg_cmake_config_fixup(
PACKAGE_NAME database_system
CONFIG_PATH lib/cmake/DatabaseSystem # <-- PascalCase upstream path
)
file(WRITE ".../database_system-config.cmake"
"include(\".../DatabaseSystemConfig.cmake\")\n" # <-- indirection wrapper
)
Once this upstream adopts snake_case natively, the CONFIG_PATH override and
wrapper file in the portfile can be removed.
Where
How
Acceptance Criteria
Implementation
In CMakeLists.txt:
# Before
install(EXPORT DatabaseSystemTargets
NAMESPACE DatabaseSystem::
DESTINATION lib/cmake/DatabaseSystem
)
configure_package_config_file(... INSTALL_DESTINATION lib/cmake/DatabaseSystem)
# After
install(EXPORT DatabaseSystemTargets
NAMESPACE DatabaseSystem::
DESTINATION lib/cmake/database_system
)
configure_package_config_file(... INSTALL_DESTINATION lib/cmake/database_system)
What
Change the CMake
install(EXPORT)name destination fromlib/cmake/DatabaseSystemtolib/cmake/database_systemsofind_package(database_system CONFIG)resolves natively.Why
The monitoring_system vcpkg overlay ports standardized on snake_case
PACKAGE_NAMEto match vcpkg port naming conventions (
kcenon-database-system→database_system).Currently the portfile must work around this with a wrapper config file:
Once this upstream adopts snake_case natively, the
CONFIG_PATHoverride andwrapper file in the portfile can be removed.
Where
CMakeLists.txt—install(EXPORT)andconfigure_package_config_file()callsHow
Acceptance Criteria
find_package(database_system CONFIG)works directly from the installed cmake directoryDatabaseSystem::databasetarget still usable (target namespace unchanged)target_link_libraries(... DatabaseSystem::database)still compileImplementation
In
CMakeLists.txt: