This document is aimed at programmers looking to write a new tool using the foundation library.
Forge has been packaged for Arch Linux as libforge. See the Arch Linux Wiki for more details on installing user packages.
Meson has support for including Forge as a regular system dependency, before falling back to including the source as a subproject (see Building from source):
forge_dep = dependency( 'forge', version : '>=0.1.0', fallback : ['forge', 'forge_dep'])
[wrap-git] url = https://git.sr.ht/~rycwo/forge revision = master # or git rev, e.g. 0.1.0
Building from source
The source code for Forge is hosted on sr.ht.
The exact list of dependencies can be found in the root
Installing requirements with Arch Linux
These instructions assume you have read the Arch Linux Wiki entry on installing AUR packages.
pacman -Syu meson ninja glew glslang # Install tmplgen from Arch User Repository git clone https://aur.archlinux.org/tmplgen.git cd tmplgen makepkg --syncdeps --install # -si in short
Alternatively with Yay:
yay -Syu meson ninja glew glslang tmplgen
OpenGL libraries are provided by your graphics drivers.
Installing requirements with other Linux distributions
Meson, Ninja, Glew, and Glslang should be packaged for all major Linux
tmplgen can be built from source as a
standard Go package.
Compiling and installing
Standard Meson build.
git clone https://git.sr.ht/~rycwo/forge cd forge meson setup --buildtype release build meson compile -C build meson test -C build # Optional meson install -C build
TODO: First application boilerplate; and commonly used modules and features.
The graphics backend is designed to be swappable at compile-time. At the moment only a reference implementation for OpenGL 4.6 is available. Patches for additional backends are welcome! ↩︎