Ziggified GLFW bindings with 100% API coverage, zero-fuss installation, cross compilation, and more.
Find a file
Stephen Gutekanst b37a94814b glfw: add Window.show
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2021-10-16 18:39:57 -07:00
.github CI: enable Windows -> Mac cross compilation tests 2021-09-13 20:49:34 -07:00
glfw glfw: add Window.show 2021-10-16 18:39:57 -07:00
src glfw: add terminate function 2021-07-16 15:24:45 -07:00
webgpu webgpu: add README 2021-07-04 12:17:37 -07:00
.gitattributes initialize repository 2021-07-04 10:36:34 -07:00
.gitignore gitignore: update to latest from ziglang/zig repo 2021-07-06 20:51:19 -07:00
build.zig add -Dtarget option 2021-07-10 14:47:32 -07:00
LICENSE LICENSE: note directories with a separate LICENSE file 2021-07-05 12:46:20 -07:00
LICENSE-APACHE initialize repository 2021-07-04 10:36:34 -07:00
LICENSE-MIT initialize repository 2021-07-04 10:36:34 -07:00
README.md README: cross compilation from all desktop OS now working 2021-09-13 20:49:34 -07:00

Mach - Game engine & graphics toolkit for the future

Mach engine CI Hexops logo

⚠️ Project status: in-development ⚠️

Under heavy development, not ready for use currently. Follow @machengine on Twitter for updates.

Zero fuss installation & cross compilation

Mach is built from the ground up to support zero fuss installation & cross compilation, only zig and git are needed to build from any OS and produce binaries for every OS.

You do not need any system dependencies, C libraries, SDKs (Xcode, etc.), C compilers or anything else.

If you've ever worked with game engines in Go, Rust, or any other language you've probably run into issues at one point getting the right system dependencies installed, whether it be Xcode versions, compilers, X11/GLFW/SDL C dependencies, etc.

Mach is able to do this thanks to Zig being a C/C++ compiler, Zig's linker zld supporting macOS cross compilation, and us doing the heavy lifting of packaging the required system SDK libraries and C sources for every dependency we need so our Zig build scripts can simply git clone them for you as needed for the target OS you're building for, completely automagically.

Supported platforms

Mach is still incredibly early stages, so far we have support for building from the following OS to the following targets:

Building for From macOS x86_64 From macOS M1/aarch64 From Linux x86_64 From Windows x86_64
macOS x86_64
macOS M1/aarch64
Linux x86_64
Windows x86_64
iOS 🏃 🏃 🏃 🏃
Android 🏃 🏃 🏃 🏃
  • Tested and verified via CI.
  • ✔️ Should work, not tested via CI yet.
  • 🏃 Planned or in progress.
  • ⚠️ Implemented, but has known issues (e.g. bugs in Zig.)