Source directory restructuring complete

Geert Janssens geert.gnucash at
Mon Aug 14 12:57:17 EDT 2017


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 

The new directory structure is roughly as follows:

* data
Non-code items that get installed (like account charts, check formats, 
* 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-

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 
- 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.



More information about the gnucash-devel mailing list