Source directory restructuring complete
jralls at ceridwen.fremont.ca.us
Wed Aug 16 06:21:53 EDT 2017
> On Aug 14, 2017, at 6:57 PM, Geert Janssens <geert.gnucash at kobaltwit.be> wrote:
> 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 autogen.sh/configure-with-options/make 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.
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.
More information about the gnucash-devel