Skip to content

CMake package name conflict with shader-slang (slangConfig.cmake collision) #1710

@JavierMatosD

Description

@JavierMatosD

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:

  1. 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

  2. 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?

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions