GnuCash Double-Entry Accounting Program.
Go to file
John Ralls 579eed1fac Bug 799480 - Fails to build with ICU 76
Use CMake find_package instead of pkg-config.
2024-12-21 16:56:00 -08:00
.github/workflows Fix coverage CI. 2024-12-12 15:26:16 -08:00
bindings gnc_commodity_table_get_namespaces must be g_list_freed 2024-11-28 08:23:30 +08:00
borrowed Refactor: hide implementation of GOOptionMenu (move from .h -> .c) 2023-06-27 10:55:05 +01:00
cmake Replace use of deprecated exec_program. 2024-12-09 16:47:39 -08:00
common [engine.i] VECTORREF_HELPER_INOUT to handle SplitsVec& 2024-10-27 22:22:51 +08:00
contrib Fix source typo makro->macro 2022-06-27 07:19:35 -04:00
data Fix a typo in French Canadian account template 2023-05-13 13:03:51 +01:00
doc Corrct the IRC network where GnuCash can be found. 2024-12-06 19:59:22 -08:00
gnucash Bug 799480 - Fails to build with ICU 76 2024-12-21 16:56:00 -08:00
libgnucash Bug 799480 - Fails to build with ICU 76 2024-12-21 16:56:00 -08:00
po Apply extract-translators fix to po files. 2024-12-14 16:10:27 -08:00
test-templates Change g_assert() -> g_assert_true() in tests 2023-07-16 10:09:12 -07:00
util Extract-translators fix enumeration of translators and writing to po file. 2024-12-14 16:09:56 -08:00
.gitattributes Fix typo in .gitattributes, text not test. 2020-11-12 15:52:33 -08:00
.gitignore Clean up some obsolete tools and references to non-git vcs's 2024-06-08 18:06:45 +02:00
AUTHORS Merge Steven Paternonte's AUTHORS addition into stable. 2024-03-17 08:53:36 +01:00
ChangeLog.1999 Finish split of ChangeLog 2015-12-31 22:07:30 +01:00
ChangeLog.2000 Finish split of ChangeLog 2015-12-31 22:07:30 +01:00
ChangeLog.2001 Convert gncmod-qif-import into an ordinary library 2020-04-24 17:47:50 +02:00
ChangeLog.2002 Convert gncmod-qif-import into an ordinary library 2020-04-24 17:47:50 +02:00
ChangeLog.2003 Convert gncmod-qif-import into an ordinary library 2020-04-24 17:47:50 +02:00
ChangeLog.2004 Fix old Changelogs from HEAD/gnome2 parallelity; entries are now in correct year 2006-01-28 19:04:04 +00:00
ChangeLog.2005 ChangeLog entries from svn for past 12 days. 2006-01-13 02:05:51 +00:00
ChangeLog.2006 Convert gncmod-qif-import into an ordinary library 2020-04-24 17:47:50 +02:00
ChangeLog.2006-manual Bug 796820 - References to 'Gnome Bugzilla' should be changed to 'GnuCash Bugzilla' 2018-09-28 15:00:43 +02:00
ChangeLog.2007 Convert gncmod-qif-import into an ordinary library 2020-04-24 17:47:50 +02:00
ChangeLog.2008 Bug 796820 - References to 'Gnome Bugzilla' should be changed to 'GnuCash Bugzilla' 2018-09-28 15:00:43 +02:00
ChangeLog.2009 Bug 796820 - References to 'Gnome Bugzilla' should be changed to 'GnuCash Bugzilla' 2018-09-28 15:00:43 +02:00
ChangeLog.2010 Convert gncmod-qif-import into an ordinary library 2020-04-24 17:47:50 +02:00
ChangeLog.2011 Convert gncmod-qif-import into an ordinary library 2020-04-24 17:47:50 +02:00
ChangeLog.2012 Bug 796820 - References to 'Gnome Bugzilla' should be changed to 'GnuCash Bugzilla' 2018-09-28 15:00:43 +02:00
ChangeLog.2013 Release 2.6.1 2014-01-26 00:08:23 +00:00
ChangeLog.2014 Bump Version to 2.6.6 for release. 2015-03-27 14:45:14 +09:00
ChangeLog.2015 Update copyright and ChangeLog for the new year. 2016-01-10 15:39:59 -08:00
ChangeLog.2016 Release 2.6.16 2017-03-25 17:23:18 -07:00
ChangeLog.2017 Merge branch 'maint' into unstable 2018-03-31 17:31:00 -07:00
ChangeLog.2018 Release GnuCash 3.6 2019-06-29 16:37:02 -07:00
ChangeLog.2019 ChangeLog.2019 2020-03-28 11:34:03 -07:00
ChangeLog.2020 Make ChangeLog.2020, generate new ChangeLog beginning 2021. 2021-03-26 16:10:24 -07:00
ChangeLog.2021 Release GnuCash 4.10 2022-03-26 15:21:24 -07:00
ChangeLog.2022 Release GnuCash Unstable 4.900 2023-01-09 14:38:02 -08:00
ChangeLog.2023 Release GnuCash 5.6 2024-03-30 15:00:10 -07:00
CMakeLists.txt Bug 799480 - Fails to build with ICU 76 2024-12-21 16:56:00 -08:00
DOCUMENTERS Release GnuCash 4.9. 2021-12-18 17:47:31 -08:00
doxygen_main_page.c Move doxygen target and related files to toplevel. 2024-05-23 15:10:05 +02:00
doxygen.cfg.in Doxygen - include the main page 2024-05-25 14:14:21 +02:00
HACKING Drop xcode bit from the Hacking file 2024-05-23 18:58:04 +02:00
Info.plist [price-quotes] Enable gnucash-cli to retrieve preferences on macOS. 2022-10-17 10:06:21 -07:00
LICENSE Clarify Derek's code to be licensed "GPL v2 or later" as he has confirmed in private email. 2010-09-04 20:00:15 +00:00
Makefile.TAGS only conditionally remove the file. 2006-05-28 14:34:50 +00:00
NEWS Release GnuCash 5.10 2024-12-14 16:13:57 -08:00
README Update another old version reference 2023-04-16 09:30:37 +02:00
README.dependencies Document cmake 3.14 requirement set a year ago. 2024-12-13 14:50:52 -08:00
README.git Housekeeping - replace plenty of http links with https 2019-06-06 15:52:30 +02:00

############################################################
          GnuCash README file.

The current stable series is GnuCash 5.x.
------------------------------------------------------------

##################
Table of Contents:
------------------

  - Overview
  - Dependencies
  - Invocation/running
  - Internationalization
  - Building & Installing
  - Supported Platforms
  - Additional Download Sites
  - Getting the Source via Git
  - Developing GnuCash

########
Overview
--------

GnuCash is a personal and small business double entry accounting application.

Home Page:
https://www.gnucash.org/

Wiki:
https://wiki.gnucash.org/wiki/GnuCash

Precompiled binaries:
https://www.gnucash.org/download

############
Dependencies
------------

Please see README.dependencies for current build dependencies.

The optional online stock and currency price retrieval feature requires Perl.
This is generally already installed on Gnu/Linux and *BSD, and MacOS.

In addition, some perl modules need to be installed. You can run the
script 'gnc-fq-update' as root to obtain the latest versions of
required packages.

Microsoft Windows users can use the "Install Online Quotes" program in the
Start menu's Gnucash group; it will install perl and all of the required
modules more-or-less automatically. MacOS users will find "Update Finance Quote"
in the distribution disk image; it will automate running gnc-fq-update for you.

#######
Running
-------

For GnuCash invocation details, see the manpage in doc/gnucash.1.
You can also run gnucash --help for the command line options.

You can start GnuCash at the command-line, with "gnucash" or "gnucash
<filename>", where <filename> is a GnuCash account file.  Sample
accounts can be found in the "doc/examples" subdirectory.  *.gnucash
files are GnuCash accounts that can be opened with the "Open File" menu entry.
*.qif files are Quicken Import Format files that can be opened with the
"Import QIF" menu entry.

GnuCash responds to the following environment variables:

  GNC_BOOTSTRAP_SCM - the location of the initial bootstrapping scheme code.

  GUILE_LOAD_PATH - an override for the GnuCash load path, used when
  loading scheme files.  It should be a string in the same form as the
  PATH or LD_LIBRARY_PATH environment variable.

  GNC_MODULE_PATH - an override for the GnuCash load path, used when
  loading gnucash modules.  It should be a string representing a
  proper scheme list.  It should be a string in the same form as the
  PATH or LD_LIBRARY_PATH environment variable.

  GNC_DEBUG - enable debugging output.  This allows you to turn on
  debugging earlier in the startup process than you can with --debug.


####################
Internationalization
--------------------

Message catalogs exist for many different languages. In general
GnuCash will use the locale configured in the desktop environment if
we have a translation for it, but this may be overridden if one
likes. Instructions for overriding the locale settings may be found at
https://wiki.gnucash.org/wiki/Locale_Settings

#####################
Building & Installing
---------------------

GnuCash uses CMake to handle the build process. Details are available
in cmake/README_CMAKE.txt

Prior to building GnuCash, you will have to obtain and install the
following packages:

  cmake: Available https://cmake.org.

  ninja: Optional, available at https://ninja-build.org. CMake can
    generated build rules for Ninja, and generally using Ninja results
    in faster builds that Makefile based ones.

  gnome development system: headers, libraries, etc.

  libxml2: available from ftp.gnome.org

  SWIG: 2.0.10 or later is needed. See http://www.swig.org or
    https://sourceforge.net/projects/swig/

Generally, up-to-date build instructions for various Linux
distributions can be found on the GnuCash wiki at
https://wiki.gnucash.org/wiki/Building

The options that the CMake build system understands are documented in
cmake/README_CMAKE.txt and in the Building wiki page mentioned above.

Note that while you need the Gnome libraries installed, you don't need
to have a Gnome desktop.

Runtime and install destinations are separate.  The CMake option
CMAKE_INSTALL_PREFIX determines where the resulting binary will look
for things at runtime.  Normally this determines where a "make
install" will put all the files.  However, cmake also supports the
DESTDIR variable.  DESTDIR is used during the `make install' step to
relocate install objects into a staging area.  Each object and path is
prefixed with the value of `DESTDIR' before being copied into the
install area.  Here is an example of typical DESTDIR usage:

     make DESTDIR=/tmp/staging install

This places install objects in a directory tree built under
`/tmp/staging'.  If `/gnu/bin/foo' and `/gnu/share/aclocal/foo.m4' are
to be installed, the above command would install
`/tmp/staging/gnu/bin/foo' and
`/tmp/staging/gnu/share/aclocal/foo.m4'.

DESTDIR can be helpful when trying to build install images and
packages.

NOTE: If you have installed different parts of Gnome in different
places (for instance, if you've installed webkit in /usr/local) you
will need to set the environment variables GNOME_PATH and
GNOME_LIBCONFIG_PATH.  See the manpage for gnome-config for more
details.


###################
Supported Platforms
-------------------

GnuCash 5.x is known to work with the following operating systems:

GNU/Linux             -- x86, Sparc, PPC
FreeBSD               -- x86
OpenBSD               -- x86
MacOS		      -- Intel, Versions 10.9 and later


GnuCash can probably be made to work on any platform for which Gtk+ can
and for which there is a C++11 compiler available, given sufficient expertise
and effort. If you try and encounter difficulty, please subscribe to the
developer's mailing list, gnucash-devel@gnucash.org and we'll try to help you.

#########################
Downloads
-------------------------

GnuCash sources and Mac and Windows binaries are hosted at
SourceForge and Github. Links for the current version are provided at
https://www.gnucash.org. We depend upon distribution packagers for
GNU/Linux and *BSD binaries, so if you want a more recent version than
your distribution provides you'll have to build from source.

##############################
Getting Source with Git
------------------------------

We maintain a mirror of our master repository on Github. You can
browse the code at https://github.com/Gnucash/gnucash. Clone URIs are
on that page, or if you have a Github account you can fork it
there.

##################
Developing GnuCash
------------------
Before you start developing GnuCash, you should do the following:

1. Read https://wiki.gnucash.org/wiki/Development

2. Look over the doxygen-generated documentation at
    https://code.gnucash.org/docs/MASTER/ or
    https://code.gnucash.org/docs/MAINT/

3. Go to the GnuCash website and skim the archives of the GnuCash
   development mailing list.

4. Join the GnuCash development mailing list. See the GnuCash website
   for details on how to do this.

5. Build the branch you want from a git clone of our repository and make
   sure that your build passes all of the tests and runs correctly.

Submitting a Patch:

  Please read https://wiki.gnucash.org/wiki/Development#Submitting_Patches.

Thank you.