GtkD is the Digital Mars D programming language OO wrapper for Gtk+ 3.22. GtkD is release on the LGPL license with additional exceptions.
Please view COPYING for GtkD's license.
- Linux, Windows, or Mac
- Gtk libs
- dmd, gdc or ldc installation
optional:
- OpenGL libs (mesa is fine on Linux)
- GtkGLext 3
If you want to write some wicked cool D and Gtk+ apps, grab the gtkD release archive at http://gtkd.org/download.html.
If you want to tweak the automatic wrapper or help with it, use git... https://github.com/gtkd-developers/GtkD
The installation depends on the setup of your development environment. This means that to release your project you must include the GtkD lib on your deliverable or statically link to GtkD – please pay attention to the license.
GtkD uses meson as a build system. To build GtkD simply run:
meson build --prefix=/my/prefix/
cd build
ninja
ninja install
All the demos and binaries will be placed in your build directory and the library will be installed in your $prefix/lib directory (you can change this with --libdir option).
The build options are the same as for Linux.
If on OSX GtkD is unable to find the GTK libraries. Some environment variables can be set to override the search path. GTK_BASEPATH and HOMEBREW_ROOT. GTK_BASEPATH takes precedence over HOMEBREW_ROOT.
To build on Windows you can use the build script in combination with rdmd.
rdmd Build.d
By default this builds gtkd, gtkdgl and gtkdsv to compile only one of these or gstreamerd you can pass the following options to the build file:
Option | Meaning |
---|---|
gtkd | build GtkD. |
gtkdgl | build GtkDGL. |
sv | build gtkd-sourceview |
gstreamer | build gstreamer. |
all | build everything. |
For all the abobe packages there a two option avalable to specify aditional compiler and linker flags:
- --dcflags="your compiler flags"
- --ldflags="your linker flags"
To specify if it should build for 64 or 32 bits, pass either the -m32 or -m64 flag to rdmd.
rdmd -m64 Build.d
GtkD wraps Gtk+ 3.22 the versions of the associated libraries are:
Library | Version |
---|---|
Gtk+ | 3.22 |
Gdk | 3.22 |
Glib | 2.54 |
GObject | 2.54 |
Gio | 2.54 |
Pango | 1.40 |
Atk | 2.26 |
Gdk-pixbuf | 2.36 |
Cairo | 1.12.2 |
GtksourceView | 3.24 |
GStreamer | 1.12 |
Vte3 | 0.50 |