-
Notifications
You must be signed in to change notification settings - Fork 211
CMake package name conflict with shader-slang (slangConfig.cmake collision) #1710
Description
Hi! I’m one of the core maintainers for vcpkg. We have a contributor attempting to package this project and ran into a CMake package naming conflict that prevents users from installing this library alongside another project. This project installs a CMake package named: slangConfig.cmake.
However, another project in the ecosystem, shader-slang, also installs a CMake package with the same name (slangConfig.cmake). Because CMake package names are global identifiers, this makes it impossible for users to install both libraries in the same environment. Any call find_package(slang) becomes ambiguous and resolves to whichever library was installed last.
Package managers like vcpkg must follow upstream CMake package names exactly. We cannot rename or override the package name locally without breaking compatibility with upstream documentation and existing CMake projects.
To allow both libraries to coexist, we need guidance from upstream on the intended naming.
I’d appreciate your thoughts on either of these options:
-
Rename the CMake package to something unique, for example
slang-verilog. This would align with Repology's naming for this project. https://aur.archlinux.org/packages/slang-verilog -
Provide and alias package, such as installing both:
slangConfig.cmake
slang-verilogConfig.cmake
If you prefer, vcpkg can ship the alias - but only with explicit upstream approval.
How do you intend this library to coexist with shader-slang? Would you be open to renaming the CMake package or providing an alias so both can be used in the same project?