KhronosGroup / KhronosGroup/glslang
Namespace CMake build options
- Dominant language
- C++
- Stars
- 3.6k
- Forks
- 989
- Avg merge
- 1d 2h
- Merged PRs (30d)
- 31
Description
Glslang now uses very generic names for CMake options such as `BUILD_SHARED_LIBS`. This may cause conflicts/confusion when integrating glslang in larger projects (https://github.com/DiligentGraphics/DiligentEngine/issues/45).
It is preferred to namespace global settings such as `GLSLANG_BUILD_SHARED_LIBS` (similar to for instance how [SPIRV-Tools](https://github.com/KhronosGroup/SPIRV-Tools/blob/master/CMakeLists.txt#L66) does that) to clearly separate them.
Contributor guide
Research direction
Start by inspecting glslang's CMake configuration and the global options it defines, then compare the naming approach in the referenced SPIRV-Tools CMakeLists.txt. Namespace the generic settings consistently and verify that the project still configures and builds when integrated into a larger CMake project.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cmake, cpp
- Domain
- build-system
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100