Source directory restructuring complete

John Ralls jralls at
Wed Aug 16 06:21:53 EDT 2017

> On Aug 14, 2017, at 6:57 PM, Geert Janssens <geert.gnucash at> wrote:
> Hi,
> I have just pushed my directory restructuring branch to master as I announced 
> last week.
> IMPORTANT: You should wipe out your existing build/install directory after 
> pulling this new master. And if you are building in the source tree (which we 
> don't advise) instead of having a separate build directory, be sure to run 
> "make distclean" there *BEFORE* pulling this new master.
> Then proceed as usual, that is run for 
> an autotools 
> based build or cmake-with-options/[make/ninja(-build)] for a cmake based 
> build.
> The new directory structure is roughly as follows:
> * data
> Non-code items that get installed (like account charts, check formats, 
> pixmaps)
> * libgnucash
> The core libraries which define our internal data structures and code to 
> handle them. This holds the core-utils, gnc-module, engine (including qof), 
> app-utils and a few smaller ones
> * gnucash
> The code for the gui application built on top of libgnucash. Here you'll find 
> the directories gnome, gnome-utils, report, html, import-export,...
> * bindings
> Currently only the python bindings are here, in the future the guile bindings 
> should be migrated here as well.
> * common
> Low level support code, mostly for debugging and testing (debug, test-
> core,...)
> In the restructuring, the cutecash project has been removed together with the 
> gtkmm support library.
> A few other directories have been eliminated and their content moved to other 
> locations:
> - src/bin -> gnucash (no more separate subdirectory)
> - src/optional: the python-bindings subdirectory has been moved to bindings, 
> the only other subdir was gtkmm which has been dropped
> - src/plugins: the two real "plugins' in there were in fact import modules, so 
> they have been moved to import-export. The example subdirectory (which is 
> never built) is now a subdirectory of libgnucash/gnc-module
> Please report any problems you may experience with this new work.

On Mac I get a build error while compiling the standard-reports (cmake/ninja build):
  ice-9/boot-9.scm:109:20: no code for module (gnucash report standard-reports)

I fixed this temporarily by making the link by hand, but it seems that we need a custom target for the copy commands at the bottom of gnucash/report/standard-reports/CMakeLists.txt and the compilation of the other reports there needs to be dependent on that target.

John Ralls

More information about the gnucash-devel mailing list