evolution  3.38.4
About: Evolution is a personal information management application that provides integrated mail, calendaring and address book functionality (GNOME desktop).
  Fossies Dox: evolution-3.38.4.tar.xz  ("unofficial" and yet experimental doxygen-generated source code documentation)  

evolution Documentation

Some Fossies usage hints in advance:

  1. To see the Doxygen generated documentation please click on one of the items in the steelblue colored "quick index" bar above or use the side panel at the left which displays a hierarchical tree-like index structure and is adjustable in width.
  2. If you want to search for something by keyword rather than browse for it you can use the client side search facility (using Javascript and DHTML) that provides live searching, i.e. the search results are presented and adapted as you type in the Search input field at the top right.
  3. Doxygen doesn't incorporate all member files but just a definable subset (basically the main project source code files that are written in a supported language). So to search and browse all member files you may visit the Fossies evolution-3.38.4.tar.xz contents page and use the Fossies standard member browsing features (also with source code highlighting and additionally with optional code folding).

icon Evolution

Evolution is the integrated mail, calendar and address book suite from the Evolution Team.

See the Evolution Gnome Wiki page for more information.

If you are using Evolution, you may wish to subscribe to the Evolution users mailing list. If you are interested in contributing to development on it, you should certainly subscribe to the Evolution Hackers mailing list. Visit there to subscribe or view archives of the Evolution mailing lists.

If you are planning to work on any part of Evolution, please send mail to the mailing list first, to avoid duplicated effort (and to make sure that you aren't basing your work on interfaces that are expected to change).

There is also an #evolution IRC channel.

Help for Evolution is available in the user manual (select "Help" from the menu after running the application), at the GNOME users help site, and in the --help strings (run evolution --help at the command line).

The rest of this file is dedicated to building Evolution.


In order to build Evolution you need to have the full set of GNOME 3 (or greater) development libraries installed.

GNOME 3 or greater comes with most of the modern distributions, so in most cases it should be enough to just install all the devel packages from your distribution.

Please make sure you have the most recent versions of the libraries installed, since bugs in the libraries can cause bugs in Evolution.

Additional dependencies, besides the stock GNOME libraries (the dependencies should be compiled in the order they are listed here):

Other dependencies are claimed during the configure phase. If these are optional, also a parameter for the CMake configure to not use that dependency is shown.


First you have to decide whether you want to install Evolution (and its dependencies) into the same prefix as the rest of your GNOME install, or into a new prefix.

Installing everything into the same prefix as the rest of your GNOME install will make it much easier to build and run programs, and easier to switch between using packages and building it yourself, but it may also make it harder to uninstall later. Also, it increases the chance that something goes wrong and your GNOME installation gets ruined.

If you want to install in a different prefix, you need to do the following things:

  • Set the environment variables to contain a colon-separated list of all the directories that will be involved in the build. The environment variables are GSETTINGS_SCHEMA_DIR, LD_LIBRARY_PATH, PATH and PKG_CONFIG_PATH.

    For example, if you have GNOME installed in /usr and you are installing Evolution and its dependencies in /opt/evolution, you want to do something like the following (assuming you are using Bash):

    export GSETTINGS_SCHEMA_DIR="/opt/evolution/share/glib-2.0/schemas"
    export LD_LIBRARY_PATH=/opt/evolution/lib:$LD_LIBRARY_PATH
    export PATH=/opt/evolution/bin:$PATH
    export PKG_CONFIG_PATH=/opt/evolution/lib/pkgconfig:$PKG_CONFIG_PATH
  • Edit the D-Bus session-local.conf file (which is normally search for by D-Bus in /etc/dbus-1/) to include the location where you are installing Evolution.

    In the example given above (GNOME in /usr, Evolution and dependencies in /opt/evolution), your session-local.conf will have to look like this:

    <!DOCTYPE busconfig PUBLIC
          "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN"
          <!-- Search for .service files in /usr/local -->
  • Pass an appropriate CMAKE_INSTALL_PREFIX parameter to the configure scripts of Evolution and its dependencies, eg:

    cd ..../sources/evolution
    mkdir build
    cd build
    cmake -G "Unix Makefiles" \
          -DCMAKE_INSTALL_PREFIX=/opt/evolution \
          -DCMAKE_BUILD_TYPE=Release \
  • Run cmake --help to get list of available generators (the -G argument) on your platform.


Some optional features can be enabled at compilation time by passing appropriate flags to the CMake. These options are shown at the end of the successful configure phase.


After the Evolution is properly configured, run:

make -j
make -j install

to build it.


An online build manual is also available.