glslang.zig

glslang.zig

This is a fork of KhronosGroup/glslang packaged for Zig

Why this fork ?

The intention under this fork is to package KhronosGroup/glslang for Zig. So:

  • Unnecessary files have been deleted,
  • The build system has been replaced with build.zig,
  • A cron runs every day to check KhronosGroup/glslang and other dependencies. Then it updates this repository if a new release is available.

How to use it

The goal of this repository is not to provide a Zig binding for KhronosGroup/glslang. The point of this repository is to abstract the KhronosGroup/glslang compilation process with Zig (which is not easy to maintain) to let you focus on your application. So you can use glslang.zig:

  • as raw (no available example, open an issue if you are interested in, we will be happy to help you),
  • as a daily updated interface for your Zig binding of KhronosGroup/glslang (again: no available example).

Dependencies

The Zig part of this package is relying on the latest Zig release (0.15.2) and will only be updated for the next one. It you use a more recent Zig version, please consider the zig-nightly branch and *-nightly tags.

For other dependencies see the build.zig.zon

zig build options

These additional options have mainly been implemented for maintainability tasks but they maybe could be useful for edge usecases:

  -Dfetch   Update build.zig.zon then stop execution
  -Dupdate  Update binding

License

This repository is not subject to a unique License:

The parts of this repository originated from this repository are dedicated to the public domain. See the LICENSE file for more details.

For other parts, it is subject to the License restrictions their respective owners choosed. By design, the public domain code is incompatible with the License notion. In this case, the License prevails. So if you have any doubt about a file property, open an issue.