Skip to content

tiawl/cimgui.zig

Repository files navigation

cimgui.zig

This is a fork of ocornut/imgui packaged for Zig

Why this fork ?

The intention under this fork is to package ocornut/imgui for Zig. So:

How to use it

The goal of this repository is not to provide a Zig binding for ocornut/imgui. There are at least as many legit ways as possible to make a binding as there are active accounts on Github. So you are not going to find an answer for this question here. The point of this repository is to abstract the ocornut/imgui compilation process with Zig (which is not new comers friendly and not easy to maintain) to let you focus on your application. So you can use cimgui.zig:

Backends

Currently only GLFW and Vulkan backends are supported. There will be no other backends if you are not ready to maintain backends you want to use. The team is not interested to maintain backends nobody uses. If you want to see a new backend available on this repository and you are ready for this, open an issue: we will be happy to talk with you and how we could manage this together.

Dependencies

The Zig part of this package is relying on the latest Zig release (0.13.0) and will only be updated for the next one (so for the 0.14.0).

Here the repositories' version used by this fork:

Currently there are no tags/release for dearimgui/dear_bindings so cimgui.zig is relying on the last commit.

For backends see the build.zig.zon

CICD reminder

These repositories are automatically updated when a new release is available:

This repository is automatically updated when a new release is available from these repositories:

zig build options

These additional options have been implemented for maintainability tasks:

  -Dfetch     Update .references folder and build.zig.zon then stop execution
  -Dupdate    Update binding
  -Drenderer  Specify the renderer backend
                Supported Values:
                  Vulkan
  -Dplatform  Specify the platform backend
                Supported Values:
                  GLFW

License

The unprotected parts of this repository are under MIT License. For everything else, see with their respective owners.