Akonadi's build system uses cmake.

So to compile Akonadi first create a build dir

  mkdir build
  cd build

then run cmake:

  cmake ..

(a typical cmake option that is often used is: -DCMAKE_INSTALL_PREFIX=<prefix>)

cmake then presents a configuration summary. At this point you may
want to install missing dependancies (if you do, remove the CMakeCache.txt)
and run cmake again.

Finally build Akonadi:

  make

And install it (in most cases root privileges are required):

  make install

That's all :)

=== Build Options ===

The following options are available when running CMake:

* AKONADI_BUILD_TESTS (Default: TRUE): Build the Akonadi unit tests
* AKONADI_BUILD_QSQLITE (Default: TRUE): Build the SQLite backend
* KDE_INSTALL_USE_QT_SYS_PATHS (Default: FALSE): Useful for distributions.
  Once enabled, the qsqlite3 backend will be installed in the sqlbackends subdirectory of the default Qt plugins directory
  specified at Qt build time.
* DATABASE_BACKEND (Default: MYSQL, available: MYSQL, POSTGRES, SQLITE): Define which database driver to use by default.
  MYSQL is preferred, SQLITE should be avoided.

=== Build Requirements ===

Required:

* CMake (https://cmake.org/) >= 3.5
* Qt5 >= 5.11.0 (http://qt.nokia.com/downloads)
* Shared-mime-info >= 0.20 (https://freedesktop.org/wiki/Software/shared-mime-info/)
* Xsltproc (http://xmlsoft.org/XSLT/downloads.html)

Optional:

* Mysqld (https://www.mysql.com/) - Optional at build time. You can pass -DMYSQLD_EXECUTABLE=/path/to/mysqld when running CMake instead
* SQlite >= 3.6.23 (https://www.sqlite.org/index.html) - Needed if you want to build the Sqlite backend
* Postgresql (https://www.postgresql.org/) - Optional at build time. You can pass -DPOSTGRES_PATH=/path/to/pg_ctl when running CMake instead

=== Runtime Requirements ===

* SQlite if you plan to use the SQLite backend (NOT RECOMMENDED for desktop)
* MySQL server >= 5.1.3 (or compatible replacements such as MariaDB) if you plan to use the Mysql backend
* a Postgresql server if you plan to use the Postgres backend

