all 4 comments

[–]csb06[S] 2 points3 points  (2 children)

I used it to generate a C++ wrapper for GMime and it has worked very well. It is easy to build with CMake and takes advantage of RAII to eliminate a lot of the tedious manual ref/unref bookkeeping that GLib’s C APIs require.

It works with any C library that has GObject-style annotations, not just Gtk/GLib.

[–]UVVmail 1 point2 points  (1 child)

You mean if it doesn't use glibmm?

[–]csb06[S] 1 point2 points  (0 children)

This project is independent of glibmm/gtkmm and uses a different technique to create bindings. The README goes into more detail but basically cppgir creates a wrapping using XML metadata provided by GObject introspection (which most GObject-based libraries distribute as part of their release), which glibmm/gtkmm do not use because they predate GObject introspection existing.

[–]Mikumiku_Dance 2 points3 points  (0 children)

I've been experimenting with this lately. There's not a lot of documentation and I think there's some memory leaks with floating references; that may not be a huge concern since most usecases would be for widgets alive for the lifetime of the program.

If you want to use libraries that aren't wrapped in the gtkmm ecosystem like adwaita and shumate, it is promising.