After more than a month of infrastructure work, most of the GNOME C++ binding documentation has now been migrated to the GNOME Documentation Library. This includes the Programming with gtkmm guide and the Doxygen API reference documentation of the core C++ binding modules. Compared to the old documentation hosted on the gtkmm website, we’ve now got a bigger pipe, more bling, and less work for us!
All this would not have been possible without the help of Frédéric Péters, who did the actual integration work in the library-web module and has been very responsive to our numerous questions and tweak requests.
Leading up to the migration, the build infrastructure of the GNOME C++ bindings was completely restructured. All the copy’n'paste of build files had degenerated into an unmaintainable mess. When it became clear that we lacked the infrastructure to properly support cross-references from one documentation module to another, I began to cook up something new to replace the mess. The result of this work is the new mm-common module, which provides the shared build support files for the C++ binding modules. As a novelty, it even comes with documentation!
It is quite a bit of work to convert an existing module to use mm-common, and the transition took more time than I had expected. Despite that, the feedback was very positive, and a number of module maintainers started to convert their modules to mm-common on their own. Many thanks to David King, Fabien Parent, Jonathon Jongsma, José Alburquerque, Krzesimir Nowak and Murray Cumming for your work and feedback!
Jesse says:
September 17th, 2009 at 12:40
Great to see this being actively worked on! I was wondering though if it is now also any easier to bootstrap a binding project. If I have a gobject based library I want to bind, can I run some tool to make skeleton .hg (and others)? That would be a really nice touch!
Daniel Elstner says:
September 17th, 2009 at 13:15
Creating a new C++ binding module has indeed been made easier, although we do not have a utility yet to generate the input files for the
gmmproccode generator. If it is any consolation, the skeleton source tree shipped with mm-common at least provides a clean starting point for new binding modules. The appendix Wrapping C Libraries with gmmproc of the Programming with gtkmm guide has already been updated to document the new skeleton source tree.In the long term, the
gmmprocpart is probably best solved by rewritinggmmproc.jonner says:
September 17th, 2009 at 17:37
yay. I’m very happy this finally happened. Thanks for all your hard work on it.
hron84 says:
September 18th, 2009 at 10:41
Guys, Trolltech (now Nokia) produces Qt and NOT QT! The QT is Apple’s QuickTime, which is not a C++ framework. Please, be careful in official documentation.
José A. says:
September 19th, 2009 at 02:28
It really is excellent work. I’m just happy you took it on.