KhronosGroup / KhronosGroup/glslang

Silent C++ runtime dependence

Open
#4,046 0 comments 0 reactions 0 assignees View on GitHub
bug
Dominant language
C++
Stars
3.6k
Forks
989
Avg merge
1d 2h
Merged PRs (30d)
31

Description

On Linux (but possibly Windows as well) when consuming glslang as a static library - as is the default with Vcpkg (which is how I found this bug) - in a C application, the `glslang::glslang` target silently depends on libstdc++.

If the project exports a C API, it likely wants to link the C++ runtime statically into itself when it is built as a static library. See WHOLE_ARCHIVE in the CMake docs.

Contributor guide

Open the contributing guide

Research direction

Start with the glslang::glslang CMake target and the CMake documentation for WHOLE_ARCHIVE. Reproduce a static-library build consumed by a C application through Vcpkg, then verify that the exported target handles its C++ runtime dependency without requiring consumers to discover it themselves.

Written by the indexing model from the issue text.

Assessment

Tech stack
cmake, cpp
Domain
build-system
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.