Granite
April 22, 2026 ยท View on GitHub
Granite is a companion library for GTK and GLib. Among other things, it provides complex widgets and convenience functions designed for use in apps built for elementary OS.
Building, Testing, and Installation
You'll need the following dependencies:
- meson >= 0.57.0
- gobject-introspection
- gettext
- libgee-0.8-dev
- libgirepository1.0-dev
- libgtk-4-dev >= 4.12.0
- sassc
- valac
To build the Demo you'll additionally need:
- libshumate-dev
Run meson setup to configure the build environment:
meson setup build --prefix=/usr
This command creates a build directory. For all following commands, change to
the build directory before running them.
To build granite, use ninja:
ninja
To install, use ninja install
ninja install
To see a demo app of Granite's widgets, run granite-9-demo after installing it:
granite-9-demo
Documentation
Documentation for all of the classes and functions in Granite 7 is available on Valadoc
The additional requirements for building the documentation are:
- valadoc
- gtk-doc
To generate gtk-doc and valadoc documentation for this project, pass the
additional -Ddocumentation=true flag to meson, and run ninja as before.