[evolution-data-server] Reorganize directory structure



commit d7931c6dd9db1e090f4bb466983c3dced19e2201
Author: Milan Crha <mcrha redhat com>
Date:   Tue Oct 11 11:47:14 2016 +0200

    Reorganize directory structure
    
    Let's have it as it's common to be, which means top level src/ for
    sources, single data/ for data, and so on.

 CMakeLists.txt                                     |   23 +-
 addressbook/backends/file/CMakeLists.txt           |   57 ---
 addressbook/backends/google/CMakeLists.txt         |  100 ----
 addressbook/backends/google/tests/CMakeLists.txt   |   38 --
 addressbook/backends/ldap/CMakeLists.txt           |   50 --
 addressbook/backends/webdav/CMakeLists.txt         |   43 --
 addressbook/libebook-contacts/CMakeLists.txt       |  164 -------
 addressbook/libebook/CMakeLists.txt                |  130 ------
 addressbook/libedata-book/CMakeLists.txt           |  196 --------
 addressbook/libegdbus/CMakeLists.txt               |   36 --
 art/CMakeLists.txt                                 |   24 -
 calendar/backends/caldav/CMakeLists.txt            |   46 --
 calendar/backends/contacts/CMakeLists.txt          |   50 --
 calendar/backends/file/CMakeLists.txt              |   79 ----
 calendar/backends/gtasks/CMakeLists.txt            |   51 ---
 calendar/backends/http/CMakeLists.txt              |   46 --
 calendar/backends/weather/CMakeLists.txt           |   51 ---
 calendar/libecal/CMakeLists.txt                    |   93 ----
 calendar/libedata-cal/CMakeLists.txt               |  136 ------
 calendar/libegdbus/CMakeLists.txt                  |   36 --
 camel/CMakeLists.txt                               |  459 -------------------
 camel/providers/imapx/CMakeLists.txt               |   92 ----
 camel/providers/local/CMakeLists.txt               |   83 ----
 camel/providers/nntp/CMakeLists.txt                |   56 ---
 camel/providers/pop3/CMakeLists.txt                |   52 ---
 camel/providers/sendmail/CMakeLists.txt            |   48 --
 camel/providers/smtp/CMakeLists.txt                |   46 --
 camel/tests/CMakeLists.txt                         |   52 ---
 camel/tests/lib/CMakeLists.txt                     |   70 ---
 cmake/modules/GObjectIntrospection.cmake           |    5 +
 data/CMakeLists.txt                                |   38 ++
 {art => data}/category_birthday_16.png             |  Bin 429 -> 429 bytes
 {art => data}/category_business_16.png             |  Bin 680 -> 680 bytes
 {art => data}/category_favorites_16.png            |  Bin 671 -> 671 bytes
 {art => data}/category_gifts_16.png                |  Bin 551 -> 551 bytes
 {art => data}/category_goals_16.png                |  Bin 583 -> 583 bytes
 {art => data}/category_holiday-cards_16.png        |  Bin 549 -> 549 bytes
 {art => data}/category_holiday_16.png              |  Bin 691 -> 691 bytes
 {art => data}/category_hot-contacts_16.png         |  Bin 776 -> 776 bytes
 {art => data}/category_ideas_16.png                |  Bin 781 -> 781 bytes
 {art => data}/category_international_16.png        |  Bin 715 -> 715 bytes
 {art => data}/category_key-customer_16.png         |  Bin 717 -> 717 bytes
 {art => data}/category_miscellaneous_16.png        |  Bin 698 -> 698 bytes
 {art => data}/category_personal_16.png             |  Bin 548 -> 548 bytes
 {art => data}/category_phonecalls_16.png           |  Bin 608 -> 608 bytes
 {art => data}/category_status_16.png               |  Bin 668 -> 668 bytes
 {art => data}/category_strategies_16.png           |  Bin 696 -> 696 bytes
 {art => data}/category_suppliers_16.png            |  Bin 656 -> 656 bytes
 {art => data}/category_time-and-expenses_16.png    |  Bin 649 -> 649 bytes
 .../org.gnome.evolution.eds-shell.gschema.xml.in   |    0
 docs/reference/camel/CMakeLists.txt                |   14 +-
 .../reference/evolution-data-server/CMakeLists.txt |   16 +-
 docs/reference/private/CMakeLists.txt              |    2 +-
 .../private/libedbus-private-docs.sgml.in          |   26 +-
 examples/cursor/CMakeLists.txt                     |   60 ---
 libebackend/CMakeLists.txt                         |  136 ------
 libedataserver/CMakeLists.txt                      |  295 ------------
 libedataserverui/CMakeLists.txt                    |   96 ----
 modules/CMakeLists.txt                             |   84 ----
 po/POTFILES.in                                     |  472 ++++++++++----------
 po/POTFILES.skip                                   |   30 +-
 private/CMakeLists.txt                             |  189 --------
 .../evolution-addressbook-factory/CMakeLists.txt   |   75 ---
 services/evolution-calendar-factory/CMakeLists.txt |   74 ---
 services/evolution-source-registry/CMakeLists.txt  |  151 -------
 services/evolution-user-prompter/CMakeLists.txt    |   77 ----
 src/CMakeLists.txt                                 |   21 +
 {addressbook => src/addressbook}/CMakeLists.txt    |    0
 .../addressbook}/backends/CMakeLists.txt           |    0
 src/addressbook/backends/file/CMakeLists.txt       |   58 +++
 .../backends/file/e-book-backend-file-factory.c    |    0
 .../file/e-book-backend-file-migrate-bdb.c         |    0
 .../file/e-book-backend-file-migrate-bdb.h         |    0
 .../backends/file/e-book-backend-file.c            |    0
 .../backends/file/e-book-backend-file.h            |    0
 src/addressbook/backends/google/CMakeLists.txt     |  102 +++++
 .../google/e-book-backend-google-factory.c         |    0
 .../backends/google/e-book-backend-google.c        |    0
 .../backends/google/e-book-backend-google.h        |    0
 .../backends/google/e-book-google-utils.c          |    0
 .../backends/google/e-book-google-utils.h          |    0
 .../backends/google/e-gdata-oauth2-authorizer.c    |    0
 .../backends/google/e-gdata-oauth2-authorizer.h    |    0
 .../backends/google/tests/CMakeLists.txt           |   39 ++
 .../backends/google/tests/phone-numbers.c          |    0
 src/addressbook/backends/ldap/CMakeLists.txt       |   51 +++
 .../backends/ldap/e-book-backend-ldap-factory.c    |    0
 .../backends/ldap/e-book-backend-ldap.c            |    0
 .../backends/ldap/e-book-backend-ldap.h            |    0
 .../backends/ldap/evolutionperson.schema           |    0
 .../addressbook}/backends/ldap/openldap-extract.h  |    0
 src/addressbook/backends/webdav/CMakeLists.txt     |   44 ++
 .../webdav/e-book-backend-webdav-factory.c         |    0
 .../backends/webdav/e-book-backend-webdav.c        |    0
 .../backends/webdav/e-book-backend-webdav.h        |    0
 {addressbook => src/addressbook}/docs/rfc2047.txt  |    0
 {addressbook => src/addressbook}/docs/rfc2425.txt  |    0
 {addressbook => src/addressbook}/docs/rfc2426.txt  |    0
 {addressbook => src/addressbook}/docs/rfc2739.txt  |    0
 {addressbook => src/addressbook}/docs/vcard-21.txt |    0
 src/addressbook/libebook-contacts/CMakeLists.txt   |  166 +++++++
 .../libebook-contacts/e-address-western.c          |    0
 .../libebook-contacts/e-address-western.h          |    0
 .../libebook-contacts/e-book-contacts-types.c      |    0
 .../libebook-contacts/e-book-contacts-types.h      |    0
 .../addressbook}/libebook-contacts/e-book-query.c  |    0
 .../addressbook}/libebook-contacts/e-book-query.h  |    0
 .../addressbook}/libebook-contacts/e-contact.c     |    0
 .../addressbook}/libebook-contacts/e-contact.h     |    0
 .../libebook-contacts/e-name-western-tables.h.in   |    0
 .../libebook-contacts/e-name-western.c             |    0
 .../libebook-contacts/e-name-western.h             |    0
 .../libebook-contacts/e-phone-number-private.cpp   |    0
 .../libebook-contacts/e-phone-number-private.h     |    0
 .../libebook-contacts/e-phone-number.c             |    0
 .../libebook-contacts/e-phone-number.h             |    0
 .../e-source-backend-summary-setup.c               |    0
 .../e-source-backend-summary-setup.h               |    0
 .../addressbook}/libebook-contacts/e-vcard.c       |    0
 .../addressbook}/libebook-contacts/e-vcard.h       |    0
 .../libebook-contacts/gen-western-table.py         |    0
 .../libebook-contacts/libebook-contacts.h          |    0
 .../libebook-contacts/libebook-contacts.pc.in      |    0
 src/addressbook/libebook/CMakeLists.txt            |  131 ++++++
 {addressbook => src/addressbook}/libebook/TODO     |    0
 .../addressbook}/libebook/e-book-client-cursor.c   |    0
 .../addressbook}/libebook/e-book-client-cursor.h   |    0
 .../addressbook}/libebook/e-book-client-view.c     |    0
 .../addressbook}/libebook/e-book-client-view.h     |    0
 .../addressbook}/libebook/e-book-client.c          |    0
 .../addressbook}/libebook/e-book-client.h          |    0
 .../addressbook}/libebook/e-book-types.h           |    0
 .../addressbook}/libebook/e-book-view-private.h    |    0
 .../addressbook}/libebook/e-book-view.c            |    0
 .../addressbook}/libebook/e-book-view.h            |    0
 {addressbook => src/addressbook}/libebook/e-book.c |    0
 {addressbook => src/addressbook}/libebook/e-book.h |    0
 .../addressbook}/libebook/e-destination.c          |    0
 .../addressbook}/libebook/e-destination.h          |    0
 .../addressbook}/libebook/e-error.h                |    0
 .../addressbook}/libebook/libebook.h               |    0
 .../addressbook}/libebook/libebook.pc.in           |    0
 src/addressbook/libedata-book/CMakeLists.txt       |  199 ++++++++
 .../addressbook}/libedata-book/TODO                |    0
 .../addressbook}/libedata-book/dbus.dtd            |    0
 .../libedata-book/e-book-backend-cache.c           |    0
 .../libedata-book/e-book-backend-cache.h           |    0
 .../libedata-book/e-book-backend-db-cache.c        |    0
 .../libedata-book/e-book-backend-db-cache.h        |    0
 .../libedata-book/e-book-backend-factory.c         |    0
 .../libedata-book/e-book-backend-factory.h         |    0
 .../libedata-book/e-book-backend-sexp.c            |    0
 .../libedata-book/e-book-backend-sexp.h            |    0
 .../libedata-book/e-book-backend-sqlitedb-test.c   |    0
 .../libedata-book/e-book-backend-sqlitedb.c        |    0
 .../libedata-book/e-book-backend-sqlitedb.h        |    0
 .../libedata-book/e-book-backend-summary.c         |    0
 .../libedata-book/e-book-backend-summary.h         |    0
 .../addressbook}/libedata-book/e-book-backend.c    |    0
 .../addressbook}/libedata-book/e-book-backend.h    |    0
 .../addressbook}/libedata-book/e-book-sqlite.c     |    0
 .../addressbook}/libedata-book/e-book-sqlite.h     |    0
 .../libedata-book/e-data-book-cursor-sqlite.c      |    0
 .../libedata-book/e-data-book-cursor-sqlite.h      |    0
 .../libedata-book/e-data-book-cursor.c             |    0
 .../libedata-book/e-data-book-cursor.h             |    0
 .../libedata-book/e-data-book-direct.c             |    0
 .../libedata-book/e-data-book-direct.h             |    0
 .../libedata-book/e-data-book-factory.c            |    0
 .../libedata-book/e-data-book-factory.h            |    0
 .../addressbook}/libedata-book/e-data-book-view.c  |    0
 .../addressbook}/libedata-book/e-data-book-view.h  |    0
 .../libedata-book/e-data-book-view.xml             |    0
 .../addressbook}/libedata-book/e-data-book.c       |    0
 .../addressbook}/libedata-book/e-data-book.h       |    0
 .../libedata-book/e-subprocess-book-factory.c      |    0
 .../libedata-book/e-subprocess-book-factory.h      |    0
 .../evolution-addressbook-factory-subprocess.c     |    0
 .../libedata-book/evolutionperson.schema           |    0
 .../addressbook}/libedata-book/libedata-book.h     |    0
 .../addressbook}/libedata-book/libedata-book.pc.in |    0
 .../addressbook}/libedata-book/ximian-vcard.h      |    0
 src/addressbook/libegdbus/CMakeLists.txt           |   37 ++
 .../addressbook}/libegdbus/e-gdbus-book-view.c     |    0
 .../addressbook}/libegdbus/e-gdbus-book-view.h     |    0
 {calendar => src/calendar}/CMakeLists.txt          |    0
 {calendar => src/calendar}/backends/CMakeLists.txt |    0
 src/calendar/backends/caldav/CMakeLists.txt        |   47 ++
 .../backends/caldav/e-cal-backend-caldav-factory.c |    0
 .../backends/caldav/e-cal-backend-caldav.c         |    0
 .../backends/caldav/e-cal-backend-caldav.h         |    0
 src/calendar/backends/contacts/CMakeLists.txt      |   51 +++
 .../contacts/e-cal-backend-contacts-factory.c      |    0
 .../backends/contacts/e-cal-backend-contacts.c     |    0
 .../backends/contacts/e-cal-backend-contacts.h     |    0
 src/calendar/backends/file/CMakeLists.txt          |   81 ++++
 .../backends/file/e-cal-backend-file-events.c      |    0
 .../backends/file/e-cal-backend-file-events.h      |    0
 .../backends/file/e-cal-backend-file-factory.c     |    0
 .../backends/file/e-cal-backend-file-journal.c     |    0
 .../backends/file/e-cal-backend-file-journal.h     |    0
 .../backends/file/e-cal-backend-file-todos.c       |    0
 .../backends/file/e-cal-backend-file-todos.h       |    0
 .../calendar}/backends/file/e-cal-backend-file.c   |    0
 .../calendar}/backends/file/e-cal-backend-file.h   |    0
 src/calendar/backends/gtasks/CMakeLists.txt        |   52 +++
 .../backends/gtasks/e-cal-backend-gtasks-factory.c |    0
 .../backends/gtasks/e-cal-backend-gtasks.c         |    0
 .../backends/gtasks/e-cal-backend-gtasks.h         |    0
 .../backends/gtasks/e-gdata-oauth2-authorizer.c    |    0
 .../backends/gtasks/e-gdata-oauth2-authorizer.h    |    0
 src/calendar/backends/http/CMakeLists.txt          |   47 ++
 .../backends/http/e-cal-backend-http-factory.c     |    0
 .../calendar}/backends/http/e-cal-backend-http.c   |    0
 .../calendar}/backends/http/e-cal-backend-http.h   |    0
 src/calendar/backends/weather/CMakeLists.txt       |   52 +++
 .../weather/e-cal-backend-weather-factory.c        |    0
 .../backends/weather/e-cal-backend-weather.c       |    0
 .../backends/weather/e-cal-backend-weather.h       |    0
 .../calendar}/backends/weather/e-weather-source.c  |    0
 .../calendar}/backends/weather/e-weather-source.h  |    0
 src/calendar/libecal/CMakeLists.txt                |   94 ++++
 .../calendar}/libecal/e-cal-check-timezones.c      |    0
 .../calendar}/libecal/e-cal-check-timezones.h      |    0
 .../calendar}/libecal/e-cal-client-view.c          |    0
 .../calendar}/libecal/e-cal-client-view.h          |    0
 {calendar => src/calendar}/libecal/e-cal-client.c  |    0
 {calendar => src/calendar}/libecal/e-cal-client.h  |    0
 .../calendar}/libecal/e-cal-component.c            |    0
 .../calendar}/libecal/e-cal-component.h            |    0
 {calendar => src/calendar}/libecal/e-cal-recur.c   |    0
 {calendar => src/calendar}/libecal/e-cal-recur.h   |    0
 .../calendar}/libecal/e-cal-system-timezone.c      |    0
 .../calendar}/libecal/e-cal-system-timezone.h      |    0
 .../calendar}/libecal/e-cal-time-util.c            |    0
 .../calendar}/libecal/e-cal-time-util.h            |    0
 {calendar => src/calendar}/libecal/e-cal-types.h   |    0
 {calendar => src/calendar}/libecal/e-cal-util.c    |    0
 {calendar => src/calendar}/libecal/e-cal-util.h    |    0
 .../calendar}/libecal/e-cal-view-private.h         |    0
 {calendar => src/calendar}/libecal/e-cal-view.c    |    0
 {calendar => src/calendar}/libecal/e-cal-view.h    |    0
 {calendar => src/calendar}/libecal/e-cal.c         |    0
 {calendar => src/calendar}/libecal/e-cal.h         |    0
 .../calendar}/libecal/e-timezone-cache.c           |    0
 .../calendar}/libecal/e-timezone-cache.h           |    0
 {calendar => src/calendar}/libecal/libecal.h       |    0
 {calendar => src/calendar}/libecal/libecal.pc.in   |    0
 src/calendar/libedata-cal/CMakeLists.txt           |  138 ++++++
 .../calendar}/libedata-cal/e-cal-backend-cache.c   |    0
 .../calendar}/libedata-cal/e-cal-backend-cache.h   |    0
 .../calendar}/libedata-cal/e-cal-backend-factory.c |    0
 .../calendar}/libedata-cal/e-cal-backend-factory.h |    0
 .../libedata-cal/e-cal-backend-intervaltree.c      |    0
 .../libedata-cal/e-cal-backend-intervaltree.h      |    0
 .../calendar}/libedata-cal/e-cal-backend-sexp.c    |    0
 .../calendar}/libedata-cal/e-cal-backend-sexp.h    |    0
 .../calendar}/libedata-cal/e-cal-backend-store.c   |    0
 .../calendar}/libedata-cal/e-cal-backend-store.h   |    0
 .../calendar}/libedata-cal/e-cal-backend-sync.c    |    0
 .../calendar}/libedata-cal/e-cal-backend-sync.h    |    0
 .../calendar}/libedata-cal/e-cal-backend-util.c    |    0
 .../calendar}/libedata-cal/e-cal-backend-util.h    |    0
 .../calendar}/libedata-cal/e-cal-backend.c         |    0
 .../calendar}/libedata-cal/e-cal-backend.h         |    0
 .../calendar}/libedata-cal/e-data-cal-factory.c    |    0
 .../calendar}/libedata-cal/e-data-cal-factory.h    |    0
 .../calendar}/libedata-cal/e-data-cal-view.c       |    0
 .../calendar}/libedata-cal/e-data-cal-view.h       |    0
 .../calendar}/libedata-cal/e-data-cal-view.xml     |    0
 .../calendar}/libedata-cal/e-data-cal.c            |    0
 .../calendar}/libedata-cal/e-data-cal.h            |    0
 .../libedata-cal/e-subprocess-cal-factory.c        |    0
 .../libedata-cal/e-subprocess-cal-factory.h        |    0
 .../evolution-calendar-factory-subprocess.c        |    0
 .../calendar}/libedata-cal/libedata-cal.h          |    0
 .../calendar}/libedata-cal/libedata-cal.pc.in      |    0
 src/calendar/libegdbus/CMakeLists.txt              |   37 ++
 .../calendar}/libegdbus/e-gdbus-cal-view.c         |    0
 .../calendar}/libegdbus/e-gdbus-cal-view.h         |    0
 src/camel/CMakeLists.txt                           |  463 +++++++++++++++++++
 {camel => src/camel}/CODING.STYLE                  |    0
 {camel => src/camel}/README                        |    0
 {camel => src/camel}/README.HACKING                |    0
 {camel => src/camel}/README.mt                     |    0
 {camel => src/camel}/camel-address.c               |    0
 {camel => src/camel}/camel-address.h               |    0
 {camel => src/camel}/camel-async-closure.c         |    0
 {camel => src/camel}/camel-async-closure.h         |    0
 {camel => src/camel}/camel-block-file.c            |    0
 {camel => src/camel}/camel-block-file.h            |    0
 {camel => src/camel}/camel-certdb.c                |    0
 {camel => src/camel}/camel-certdb.h                |    0
 {camel => src/camel}/camel-charset-map-private.h   |    0
 {camel => src/camel}/camel-charset-map.c           |    0
 {camel => src/camel}/camel-charset-map.h           |    0
 {camel => src/camel}/camel-cipher-context.c        |    0
 {camel => src/camel}/camel-cipher-context.h        |    0
 {camel => src/camel}/camel-data-cache.c            |    0
 {camel => src/camel}/camel-data-cache.h            |    0
 {camel => src/camel}/camel-data-wrapper.c          |    0
 {camel => src/camel}/camel-data-wrapper.h          |    0
 {camel => src/camel}/camel-db.c                    |    0
 {camel => src/camel}/camel-db.h                    |    0
 {camel => src/camel}/camel-debug.c                 |    0
 {camel => src/camel}/camel-debug.h                 |    0
 {camel => src/camel}/camel-enums.h                 |    0
 {camel => src/camel}/camel-file-utils.c            |    0
 {camel => src/camel}/camel-file-utils.h            |    0
 {camel => src/camel}/camel-filter-driver.c         |    0
 {camel => src/camel}/camel-filter-driver.h         |    0
 {camel => src/camel}/camel-filter-input-stream.c   |    0
 {camel => src/camel}/camel-filter-input-stream.h   |    0
 {camel => src/camel}/camel-filter-output-stream.c  |    0
 {camel => src/camel}/camel-filter-output-stream.h  |    0
 {camel => src/camel}/camel-filter-search.c         |    0
 {camel => src/camel}/camel-filter-search.h         |    0
 {camel => src/camel}/camel-folder-search.c         |    0
 {camel => src/camel}/camel-folder-search.h         |    0
 {camel => src/camel}/camel-folder-summary.c        |    0
 {camel => src/camel}/camel-folder-summary.h        |    0
 {camel => src/camel}/camel-folder-thread.c         |    0
 {camel => src/camel}/camel-folder-thread.h         |    0
 {camel => src/camel}/camel-folder.c                |    0
 {camel => src/camel}/camel-folder.h                |    0
 {camel => src/camel}/camel-gpg-context.c           |    0
 {camel => src/camel}/camel-gpg-context.h           |    0
 {camel => src/camel}/camel-gpg-photo-saver.c       |    0
 {camel => src/camel}/camel-html-parser.c           |    0
 {camel => src/camel}/camel-html-parser.h           |    0
 {camel => src/camel}/camel-iconv.c                 |    0
 {camel => src/camel}/camel-iconv.h                 |    0
 {camel => src/camel}/camel-index-control.c         |    0
 {camel => src/camel}/camel-index.c                 |    0
 {camel => src/camel}/camel-index.h                 |    0
 {camel => src/camel}/camel-internet-address.c      |    0
 {camel => src/camel}/camel-internet-address.h      |    0
 {camel => src/camel}/camel-junk-filter.c           |    0
 {camel => src/camel}/camel-junk-filter.h           |    0
 {camel => src/camel}/camel-local-settings.c        |    0
 {camel => src/camel}/camel-local-settings.h        |    0
 {camel => src/camel}/camel-lock-client.c           |    0
 {camel => src/camel}/camel-lock-client.h           |    0
 {camel => src/camel}/camel-lock-helper.c           |    0
 {camel => src/camel}/camel-lock-helper.h           |    0
 {camel => src/camel}/camel-lock.c                  |    0
 {camel => src/camel}/camel-lock.h                  |    0
 {camel => src/camel}/camel-medium.c                |    0
 {camel => src/camel}/camel-medium.h                |    0
 {camel => src/camel}/camel-memchunk.c              |    0
 {camel => src/camel}/camel-memchunk.h              |    0
 {camel => src/camel}/camel-mempool.c               |    0
 {camel => src/camel}/camel-mempool.h               |    0
 {camel => src/camel}/camel-mime-filter-basic.c     |    0
 {camel => src/camel}/camel-mime-filter-basic.h     |    0
 {camel => src/camel}/camel-mime-filter-bestenc.c   |    0
 {camel => src/camel}/camel-mime-filter-bestenc.h   |    0
 {camel => src/camel}/camel-mime-filter-canon.c     |    0
 {camel => src/camel}/camel-mime-filter-canon.h     |    0
 {camel => src/camel}/camel-mime-filter-charset.c   |    0
 {camel => src/camel}/camel-mime-filter-charset.h   |    0
 {camel => src/camel}/camel-mime-filter-crlf.c      |    0
 {camel => src/camel}/camel-mime-filter-crlf.h      |    0
 {camel => src/camel}/camel-mime-filter-enriched.c  |    0
 {camel => src/camel}/camel-mime-filter-enriched.h  |    0
 {camel => src/camel}/camel-mime-filter-from.c      |    0
 {camel => src/camel}/camel-mime-filter-from.h      |    0
 {camel => src/camel}/camel-mime-filter-gzip.c      |    0
 {camel => src/camel}/camel-mime-filter-gzip.h      |    0
 {camel => src/camel}/camel-mime-filter-html.c      |    0
 {camel => src/camel}/camel-mime-filter-html.h      |    0
 {camel => src/camel}/camel-mime-filter-index.c     |    0
 {camel => src/camel}/camel-mime-filter-index.h     |    0
 {camel => src/camel}/camel-mime-filter-linewrap.c  |    0
 {camel => src/camel}/camel-mime-filter-linewrap.h  |    0
 {camel => src/camel}/camel-mime-filter-pgp.c       |    0
 {camel => src/camel}/camel-mime-filter-pgp.h       |    0
 {camel => src/camel}/camel-mime-filter-progress.c  |    0
 {camel => src/camel}/camel-mime-filter-progress.h  |    0
 {camel => src/camel}/camel-mime-filter-tohtml.c    |    0
 {camel => src/camel}/camel-mime-filter-tohtml.h    |    0
 {camel => src/camel}/camel-mime-filter-windows.c   |    0
 {camel => src/camel}/camel-mime-filter-windows.h   |    0
 {camel => src/camel}/camel-mime-filter-yenc.c      |    0
 {camel => src/camel}/camel-mime-filter-yenc.h      |    0
 {camel => src/camel}/camel-mime-filter.c           |    0
 {camel => src/camel}/camel-mime-filter.h           |    0
 {camel => src/camel}/camel-mime-message.c          |    0
 {camel => src/camel}/camel-mime-message.h          |    0
 {camel => src/camel}/camel-mime-parser.c           |    0
 {camel => src/camel}/camel-mime-parser.h           |    0
 {camel => src/camel}/camel-mime-part-utils.c       |    0
 {camel => src/camel}/camel-mime-part-utils.h       |    0
 {camel => src/camel}/camel-mime-part.c             |    0
 {camel => src/camel}/camel-mime-part.h             |    0
 {camel => src/camel}/camel-mime-utils.c            |    0
 {camel => src/camel}/camel-mime-utils.h            |    0
 {camel => src/camel}/camel-movemail.c              |    0
 {camel => src/camel}/camel-movemail.h              |    0
 {camel => src/camel}/camel-msgport.c               |    0
 {camel => src/camel}/camel-msgport.h               |    0
 {camel => src/camel}/camel-multipart-encrypted.c   |    0
 {camel => src/camel}/camel-multipart-encrypted.h   |    0
 {camel => src/camel}/camel-multipart-signed.c      |    0
 {camel => src/camel}/camel-multipart-signed.h      |    0
 {camel => src/camel}/camel-multipart.c             |    0
 {camel => src/camel}/camel-multipart.h             |    0
 {camel => src/camel}/camel-net-utils.c             |    0
 {camel => src/camel}/camel-net-utils.h             |    0
 {camel => src/camel}/camel-network-service.c       |    0
 {camel => src/camel}/camel-network-service.h       |    0
 {camel => src/camel}/camel-network-settings.c      |    0
 {camel => src/camel}/camel-network-settings.h      |    0
 {camel => src/camel}/camel-nntp-address.c          |    0
 {camel => src/camel}/camel-nntp-address.h          |    0
 {camel => src/camel}/camel-null-output-stream.c    |    0
 {camel => src/camel}/camel-null-output-stream.h    |    0
 {camel => src/camel}/camel-object-bag.c            |    0
 {camel => src/camel}/camel-object-bag.h            |    0
 {camel => src/camel}/camel-object.c                |    0
 {camel => src/camel}/camel-object.h                |    0
 {camel => src/camel}/camel-offline-folder.c        |    0
 {camel => src/camel}/camel-offline-folder.h        |    0
 {camel => src/camel}/camel-offline-settings.c      |    0
 {camel => src/camel}/camel-offline-settings.h      |    0
 {camel => src/camel}/camel-offline-store.c         |    0
 {camel => src/camel}/camel-offline-store.h         |    0
 {camel => src/camel}/camel-operation.c             |    0
 {camel => src/camel}/camel-operation.h             |    0
 {camel => src/camel}/camel-partition-table.c       |    0
 {camel => src/camel}/camel-partition-table.h       |    0
 {camel => src/camel}/camel-provider.c              |    0
 {camel => src/camel}/camel-provider.h              |    0
 {camel => src/camel}/camel-sasl-anonymous.c        |    0
 {camel => src/camel}/camel-sasl-anonymous.h        |    0
 {camel => src/camel}/camel-sasl-cram-md5.c         |    0
 {camel => src/camel}/camel-sasl-cram-md5.h         |    0
 {camel => src/camel}/camel-sasl-digest-md5.c       |    0
 {camel => src/camel}/camel-sasl-digest-md5.h       |    0
 {camel => src/camel}/camel-sasl-gssapi.c           |    0
 {camel => src/camel}/camel-sasl-gssapi.h           |    0
 {camel => src/camel}/camel-sasl-login.c            |    0
 {camel => src/camel}/camel-sasl-login.h            |    0
 {camel => src/camel}/camel-sasl-ntlm.c             |    0
 {camel => src/camel}/camel-sasl-ntlm.h             |    0
 {camel => src/camel}/camel-sasl-plain.c            |    0
 {camel => src/camel}/camel-sasl-plain.h            |    0
 {camel => src/camel}/camel-sasl-popb4smtp.c        |    0
 {camel => src/camel}/camel-sasl-popb4smtp.h        |    0
 {camel => src/camel}/camel-sasl.c                  |    0
 {camel => src/camel}/camel-sasl.h                  |    0
 {camel => src/camel}/camel-search-private.c        |    0
 {camel => src/camel}/camel-search-private.h        |    0
 {camel => src/camel}/camel-search-sql-sexp.c       |    0
 {camel => src/camel}/camel-search-sql-sexp.h       |    0
 {camel => src/camel}/camel-service.c               |    0
 {camel => src/camel}/camel-service.h               |    0
 {camel => src/camel}/camel-session.c               |    0
 {camel => src/camel}/camel-session.h               |    0
 {camel => src/camel}/camel-settings.c              |    0
 {camel => src/camel}/camel-settings.h              |    0
 {camel => src/camel}/camel-sexp.c                  |    0
 {camel => src/camel}/camel-sexp.h                  |    0
 {camel => src/camel}/camel-smime-context.c         |    0
 {camel => src/camel}/camel-smime-context.h         |    0
 {camel => src/camel}/camel-store-settings.c        |    0
 {camel => src/camel}/camel-store-settings.h        |    0
 {camel => src/camel}/camel-store-summary.c         |    0
 {camel => src/camel}/camel-store-summary.h         |    0
 {camel => src/camel}/camel-store.c                 |    0
 {camel => src/camel}/camel-store.h                 |    0
 {camel => src/camel}/camel-stream-buffer.c         |    0
 {camel => src/camel}/camel-stream-buffer.h         |    0
 {camel => src/camel}/camel-stream-filter.c         |    0
 {camel => src/camel}/camel-stream-filter.h         |    0
 {camel => src/camel}/camel-stream-fs.c             |    0
 {camel => src/camel}/camel-stream-fs.h             |    0
 {camel => src/camel}/camel-stream-mem.c            |    0
 {camel => src/camel}/camel-stream-mem.h            |    0
 {camel => src/camel}/camel-stream-null.c           |    0
 {camel => src/camel}/camel-stream-null.h           |    0
 {camel => src/camel}/camel-stream-process.c        |    0
 {camel => src/camel}/camel-stream-process.h        |    0
 {camel => src/camel}/camel-stream.c                |    0
 {camel => src/camel}/camel-stream.h                |    0
 {camel => src/camel}/camel-string-utils.c          |    0
 {camel => src/camel}/camel-string-utils.h          |    0
 {camel => src/camel}/camel-subscribable.c          |    0
 {camel => src/camel}/camel-subscribable.h          |    0
 {camel => src/camel}/camel-text-index.c            |    0
 {camel => src/camel}/camel-text-index.h            |    0
 {camel => src/camel}/camel-transport.c             |    0
 {camel => src/camel}/camel-transport.h             |    0
 {camel => src/camel}/camel-trie.c                  |    0
 {camel => src/camel}/camel-trie.h                  |    0
 {camel => src/camel}/camel-uid-cache.c             |    0
 {camel => src/camel}/camel-uid-cache.h             |    0
 {camel => src/camel}/camel-url-scanner.c           |    0
 {camel => src/camel}/camel-url-scanner.h           |    0
 {camel => src/camel}/camel-url.c                   |    0
 {camel => src/camel}/camel-url.h                   |    0
 {camel => src/camel}/camel-utf8.c                  |    0
 {camel => src/camel}/camel-utf8.h                  |    0
 {camel => src/camel}/camel-vee-data-cache.c        |    0
 {camel => src/camel}/camel-vee-data-cache.h        |    0
 {camel => src/camel}/camel-vee-folder.c            |    0
 {camel => src/camel}/camel-vee-folder.h            |    0
 {camel => src/camel}/camel-vee-store.c             |    0
 {camel => src/camel}/camel-vee-store.h             |    0
 {camel => src/camel}/camel-vee-summary.c           |    0
 {camel => src/camel}/camel-vee-summary.h           |    0
 {camel => src/camel}/camel-vtrash-folder.c         |    0
 {camel => src/camel}/camel-vtrash-folder.h         |    0
 {camel => src/camel}/camel-win32.c                 |    0
 {camel => src/camel}/camel-win32.h                 |    0
 {camel => src/camel}/camel.c                       |    0
 {camel => src/camel}/camel.h                       |    0
 {camel => src/camel}/camel.pc.in                   |    0
 {camel => src/camel}/devel-docs/camel-index.txt    |    0
 .../camel}/devel-docs/camel_data_wrapper.dia       |  Bin 3062 -> 3062 bytes
 .../camel}/devel-docs/camel_parser_states.dia      |  Bin 2505 -> 2505 bytes
 {camel => src/camel}/devel-docs/camel_stream.dia   |  Bin 2669 -> 2669 bytes
 {camel => src/camel}/gentables.pl                  |    0
 {camel => src/camel}/providers/CMakeLists.txt      |    0
 src/camel/providers/imapx/CMakeLists.txt           |   93 ++++
 .../camel}/providers/imapx/camel-imapx-command.c   |    0
 .../camel}/providers/imapx/camel-imapx-command.h   |    0
 .../providers/imapx/camel-imapx-conn-manager.c     |    0
 .../providers/imapx/camel-imapx-conn-manager.h     |    0
 .../camel}/providers/imapx/camel-imapx-folder.c    |    0
 .../camel}/providers/imapx/camel-imapx-folder.h    |    0
 .../providers/imapx/camel-imapx-input-stream.c     |    0
 .../providers/imapx/camel-imapx-input-stream.h     |    0
 .../camel}/providers/imapx/camel-imapx-job.c       |    0
 .../camel}/providers/imapx/camel-imapx-job.h       |    0
 .../providers/imapx/camel-imapx-list-response.c    |    0
 .../providers/imapx/camel-imapx-list-response.h    |    0
 .../camel}/providers/imapx/camel-imapx-logger.c    |    0
 .../camel}/providers/imapx/camel-imapx-logger.h    |    0
 .../camel}/providers/imapx/camel-imapx-mailbox.c   |    0
 .../camel}/providers/imapx/camel-imapx-mailbox.h   |    0
 .../imapx/camel-imapx-namespace-response.c         |    0
 .../imapx/camel-imapx-namespace-response.h         |    0
 .../camel}/providers/imapx/camel-imapx-namespace.c |    0
 .../camel}/providers/imapx/camel-imapx-namespace.h |    0
 .../camel}/providers/imapx/camel-imapx-provider.c  |    0
 .../camel}/providers/imapx/camel-imapx-search.c    |    0
 .../camel}/providers/imapx/camel-imapx-search.h    |    0
 .../camel}/providers/imapx/camel-imapx-server.c    |    0
 .../camel}/providers/imapx/camel-imapx-server.h    |    0
 .../camel}/providers/imapx/camel-imapx-settings.c  |    0
 .../camel}/providers/imapx/camel-imapx-settings.h  |    0
 .../providers/imapx/camel-imapx-status-response.c  |    0
 .../providers/imapx/camel-imapx-status-response.h  |    0
 .../providers/imapx/camel-imapx-store-summary.c    |    0
 .../providers/imapx/camel-imapx-store-summary.h    |    0
 .../camel}/providers/imapx/camel-imapx-store.c     |    0
 .../camel}/providers/imapx/camel-imapx-store.h     |    0
 .../camel}/providers/imapx/camel-imapx-summary.c   |    0
 .../camel}/providers/imapx/camel-imapx-summary.h   |    0
 .../camel}/providers/imapx/camel-imapx-tokens.txt  |    0
 .../camel}/providers/imapx/camel-imapx-utils.c     |    0
 .../camel}/providers/imapx/camel-imapx-utils.h     |    0
 .../camel}/providers/imapx/libcamelimapx.urls      |    0
 src/camel/providers/local/CMakeLists.txt           |   84 ++++
 .../camel}/providers/local/camel-local-folder.c    |    0
 .../camel}/providers/local/camel-local-folder.h    |    0
 .../camel}/providers/local/camel-local-private.c   |    0
 .../camel}/providers/local/camel-local-private.h   |    0
 .../camel}/providers/local/camel-local-provider.c  |    0
 .../camel}/providers/local/camel-local-store.c     |    0
 .../camel}/providers/local/camel-local-store.h     |    0
 .../camel}/providers/local/camel-local-summary.c   |    0
 .../camel}/providers/local/camel-local-summary.h   |    0
 .../camel}/providers/local/camel-maildir-folder.c  |    0
 .../camel}/providers/local/camel-maildir-folder.h  |    0
 .../camel}/providers/local/camel-maildir-store.c   |    0
 .../camel}/providers/local/camel-maildir-store.h   |    0
 .../camel}/providers/local/camel-maildir-summary.c |    0
 .../camel}/providers/local/camel-maildir-summary.h |    0
 .../camel}/providers/local/camel-mbox-folder.c     |    0
 .../camel}/providers/local/camel-mbox-folder.h     |    0
 .../camel}/providers/local/camel-mbox-store.c      |    0
 .../camel}/providers/local/camel-mbox-store.h      |    0
 .../camel}/providers/local/camel-mbox-summary.c    |    0
 .../camel}/providers/local/camel-mbox-summary.h    |    0
 .../camel}/providers/local/camel-mh-folder.c       |    0
 .../camel}/providers/local/camel-mh-folder.h       |    0
 .../camel}/providers/local/camel-mh-settings.c     |    0
 .../camel}/providers/local/camel-mh-settings.h     |    0
 .../camel}/providers/local/camel-mh-store.c        |    0
 .../camel}/providers/local/camel-mh-store.h        |    0
 .../camel}/providers/local/camel-mh-summary.c      |    0
 .../camel}/providers/local/camel-mh-summary.h      |    0
 .../camel}/providers/local/camel-spool-folder.c    |    0
 .../camel}/providers/local/camel-spool-folder.h    |    0
 .../camel}/providers/local/camel-spool-settings.c  |    0
 .../camel}/providers/local/camel-spool-settings.h  |    0
 .../camel}/providers/local/camel-spool-store.c     |    0
 .../camel}/providers/local/camel-spool-store.h     |    0
 .../camel}/providers/local/camel-spool-summary.c   |    0
 .../camel}/providers/local/camel-spool-summary.h   |    0
 .../camel}/providers/local/libcamellocal.urls      |    0
 src/camel/providers/nntp/CMakeLists.txt            |   57 +++
 .../camel}/providers/nntp/camel-nntp-folder.c      |    0
 .../camel}/providers/nntp/camel-nntp-folder.h      |    0
 .../camel}/providers/nntp/camel-nntp-private.h     |    0
 .../camel}/providers/nntp/camel-nntp-provider.c    |    0
 .../camel}/providers/nntp/camel-nntp-resp-codes.h  |    0
 .../camel}/providers/nntp/camel-nntp-settings.c    |    0
 .../camel}/providers/nntp/camel-nntp-settings.h    |    0
 .../providers/nntp/camel-nntp-store-summary.c      |    0
 .../providers/nntp/camel-nntp-store-summary.h      |    0
 .../camel}/providers/nntp/camel-nntp-store.c       |    0
 .../camel}/providers/nntp/camel-nntp-store.h       |    0
 .../camel}/providers/nntp/camel-nntp-stream.c      |    0
 .../camel}/providers/nntp/camel-nntp-stream.h      |    0
 .../camel}/providers/nntp/camel-nntp-summary.c     |    0
 .../camel}/providers/nntp/camel-nntp-summary.h     |    0
 .../camel}/providers/nntp/libcamelnntp.urls        |    0
 src/camel/providers/pop3/CMakeLists.txt            |   53 +++
 .../camel}/providers/pop3/camel-pop3-engine.c      |    0
 .../camel}/providers/pop3/camel-pop3-engine.h      |    0
 .../camel}/providers/pop3/camel-pop3-folder.c      |    0
 .../camel}/providers/pop3/camel-pop3-folder.h      |    0
 .../camel}/providers/pop3/camel-pop3-provider.c    |    0
 .../camel}/providers/pop3/camel-pop3-settings.c    |    0
 .../camel}/providers/pop3/camel-pop3-settings.h    |    0
 .../camel}/providers/pop3/camel-pop3-store.c       |    0
 .../camel}/providers/pop3/camel-pop3-store.h       |    0
 .../camel}/providers/pop3/camel-pop3-stream.c      |    0
 .../camel}/providers/pop3/camel-pop3-stream.h      |    0
 .../camel}/providers/pop3/libcamelpop3.urls        |    0
 src/camel/providers/sendmail/CMakeLists.txt        |   49 ++
 .../providers/sendmail/camel-sendmail-provider.c   |    0
 .../providers/sendmail/camel-sendmail-settings.c   |    0
 .../providers/sendmail/camel-sendmail-settings.h   |    0
 .../providers/sendmail/camel-sendmail-transport.c  |    0
 .../providers/sendmail/camel-sendmail-transport.h  |    0
 .../providers/sendmail/libcamelsendmail.urls       |    0
 src/camel/providers/smtp/CMakeLists.txt            |   47 ++
 .../camel}/providers/smtp/camel-smtp-provider.c    |    0
 .../camel}/providers/smtp/camel-smtp-settings.c    |    0
 .../camel}/providers/smtp/camel-smtp-settings.h    |    0
 .../camel}/providers/smtp/camel-smtp-transport.c   |    0
 .../camel}/providers/smtp/camel-smtp-transport.h   |    0
 .../camel}/providers/smtp/libcamelsmtp.urls        |    0
 src/camel/tests/CMakeLists.txt                     |   53 +++
 {camel => src/camel}/tests/README                  |    0
 {camel => src/camel}/tests/data/camel-test.gpg.pub |    0
 {camel => src/camel}/tests/data/camel-test.gpg.sec |    0
 {camel => src/camel}/tests/data/gendoc.pl          |    0
 {camel => src/camel}/tests/data/genline.pl         |    0
 {camel => src/camel}/tests/data/getaddr.pl         |    0
 {camel => src/camel}/tests/folder/CMakeLists.txt   |    0
 {camel => src/camel}/tests/folder/README           |    0
 {camel => src/camel}/tests/folder/test1.c          |    0
 {camel => src/camel}/tests/folder/test10.c         |    0
 {camel => src/camel}/tests/folder/test11.c         |    0
 {camel => src/camel}/tests/folder/test2.c          |    0
 {camel => src/camel}/tests/folder/test3.c          |    0
 {camel => src/camel}/tests/folder/test4.c          |    0
 {camel => src/camel}/tests/folder/test5.c          |    0
 {camel => src/camel}/tests/folder/test6.c          |    0
 {camel => src/camel}/tests/folder/test7.c          |    0
 {camel => src/camel}/tests/folder/test8.c          |    0
 {camel => src/camel}/tests/folder/test9.c          |    0
 src/camel/tests/lib/CMakeLists.txt                 |   72 +++
 {camel => src/camel}/tests/lib/address-data.h      |    0
 {camel => src/camel}/tests/lib/addresses.c         |    0
 {camel => src/camel}/tests/lib/addresses.h         |    0
 .../camel}/tests/lib/camel-test-provider.c         |    0
 .../camel}/tests/lib/camel-test-provider.h         |    0
 {camel => src/camel}/tests/lib/camel-test.c        |    0
 {camel => src/camel}/tests/lib/camel-test.h        |    0
 {camel => src/camel}/tests/lib/folders.c           |    0
 {camel => src/camel}/tests/lib/folders.h           |    0
 {camel => src/camel}/tests/lib/messages.c          |    0
 {camel => src/camel}/tests/lib/messages.h          |    0
 {camel => src/camel}/tests/lib/session.c           |    0
 {camel => src/camel}/tests/lib/session.h           |    0
 {camel => src/camel}/tests/message/CMakeLists.txt  |    0
 {camel => src/camel}/tests/message/README          |    0
 {camel => src/camel}/tests/message/test1.c         |    0
 {camel => src/camel}/tests/message/test2.c         |    0
 {camel => src/camel}/tests/message/test4.c         |    0
 .../camel}/tests/mime-filter/CMakeLists.txt        |    0
 .../camel}/tests/mime-filter/charset-gb2312.0.in   |    0
 .../camel}/tests/mime-filter/charset-gb2312.0.out  |    0
 .../tests/mime-filter/charset-iso-2022-jp.0.in     |    0
 .../tests/mime-filter/charset-iso-2022-jp.0.out    |    0
 {camel => src/camel}/tests/mime-filter/crlf-1.in   |    0
 {camel => src/camel}/tests/mime-filter/crlf-1.out  |    0
 .../camel}/tests/mime-filter/data/html.0.in        |    0
 .../camel}/tests/mime-filter/data/html.0.out       |    0
 .../camel}/tests/mime-filter/data/html.1.in        |    0
 .../camel}/tests/mime-filter/data/html.1.out       |    0
 .../camel}/tests/mime-filter/test-charset.c        |    0
 {camel => src/camel}/tests/mime-filter/test-crlf.c |    0
 .../camel}/tests/mime-filter/test-tohtml.c         |    0
 {camel => src/camel}/tests/mime-filter/test1.c     |    0
 {camel => src/camel}/tests/misc/CMakeLists.txt     |    0
 {camel => src/camel}/tests/misc/README             |    0
 {camel => src/camel}/tests/misc/rfc2047.c          |    0
 {camel => src/camel}/tests/misc/split.c            |    0
 {camel => src/camel}/tests/misc/test1.c            |    0
 {camel => src/camel}/tests/misc/test2.c            |    0
 {camel => src/camel}/tests/misc/url-scan.c         |    0
 {camel => src/camel}/tests/misc/url.c              |    0
 {camel => src/camel}/tests/misc/utf7.c             |    0
 {camel => src/camel}/tests/smime/CMakeLists.txt    |    0
 {camel => src/camel}/tests/smime/README            |    0
 {camel => src/camel}/tests/smime/pgp-mime.c        |    0
 {camel => src/camel}/tests/smime/pgp.c             |    0
 {camel => src/camel}/tests/smime/pkcs7.c           |    0
 {examples => src/examples}/CMakeLists.txt          |    0
 src/examples/cursor/CMakeLists.txt                 |   61 +++
 {examples => src/examples}/cursor/cursor-data.c    |    0
 {examples => src/examples}/cursor/cursor-data.h    |    0
 {examples => src/examples}/cursor/cursor-example.c |    0
 .../examples}/cursor/cursor-example.gresources.xml |    0
 {examples => src/examples}/cursor/cursor-example.h |    0
 .../examples}/cursor/cursor-example.ui             |    0
 .../examples}/cursor/cursor-navigator.c            |    0
 .../examples}/cursor/cursor-navigator.h            |    0
 {examples => src/examples}/cursor/cursor-search.c  |    0
 {examples => src/examples}/cursor/cursor-search.h  |    0
 {examples => src/examples}/cursor/cursor-search.ui |    0
 {examples => src/examples}/cursor/cursor-slot.c    |    0
 {examples => src/examples}/cursor/cursor-slot.h    |    0
 {examples => src/examples}/cursor/cursor-slot.ui   |    0
 {examples => src/examples}/cursor/main.c           |    0
 src/libebackend/CMakeLists.txt                     |  135 ++++++
 {libebackend => src/libebackend}/e-backend-enums.h |    0
 .../libebackend}/e-backend-factory.c               |    0
 .../libebackend}/e-backend-factory.h               |    0
 {libebackend => src/libebackend}/e-backend.c       |    0
 {libebackend => src/libebackend}/e-backend.h       |    0
 .../libebackend}/e-cache-reaper-utils.c            |    0
 .../libebackend}/e-cache-reaper-utils.h            |    0
 {libebackend => src/libebackend}/e-cache-reaper.c  |    0
 {libebackend => src/libebackend}/e-cache-reaper.h  |    0
 .../libebackend}/e-collection-backend-factory.c    |    0
 .../libebackend}/e-collection-backend-factory.h    |    0
 .../libebackend}/e-collection-backend.c            |    0
 .../libebackend}/e-collection-backend.h            |    0
 {libebackend => src/libebackend}/e-data-factory.c  |    0
 {libebackend => src/libebackend}/e-data-factory.h  |    0
 {libebackend => src/libebackend}/e-db3-utils.c     |    0
 {libebackend => src/libebackend}/e-db3-utils.h     |    0
 {libebackend => src/libebackend}/e-dbhash.c        |    0
 {libebackend => src/libebackend}/e-dbhash.h        |    0
 {libebackend => src/libebackend}/e-dbus-server.c   |    0
 {libebackend => src/libebackend}/e-dbus-server.h   |    0
 {libebackend => src/libebackend}/e-file-cache.c    |    0
 {libebackend => src/libebackend}/e-file-cache.h    |    0
 .../libebackend}/e-oauth2-support.c                |    0
 .../libebackend}/e-oauth2-support.h                |    0
 .../libebackend}/e-offline-listener.c              |    0
 .../libebackend}/e-offline-listener.h              |    0
 .../e-server-side-source-credentials-provider.c    |    0
 .../e-server-side-source-credentials-provider.h    |    0
 .../libebackend}/e-server-side-source.c            |    0
 .../libebackend}/e-server-side-source.h            |    0
 .../libebackend}/e-source-registry-server.c        |    0
 .../libebackend}/e-source-registry-server.h        |    0
 {libebackend => src/libebackend}/e-sqlite3-vfs.c   |    0
 {libebackend => src/libebackend}/e-sqlite3-vfs.h   |    0
 .../libebackend}/e-subprocess-factory.c            |    0
 .../libebackend}/e-subprocess-factory.h            |    0
 .../e-user-prompter-server-extension.c             |    0
 .../e-user-prompter-server-extension.h             |    0
 .../libebackend}/e-user-prompter-server.c          |    0
 .../libebackend}/e-user-prompter-server.h          |    0
 {libebackend => src/libebackend}/e-user-prompter.c |    0
 {libebackend => src/libebackend}/e-user-prompter.h |    0
 {libebackend => src/libebackend}/libebackend.h     |    0
 {libebackend => src/libebackend}/libebackend.pc.in |    0
 src/libedataserver/CMakeLists.txt                  |  297 ++++++++++++
 .../libedataserver}/e-alphabet-index-private.cpp   |    0
 .../libedataserver}/e-alphabet-index-private.h     |    0
 .../libedataserver}/e-cancellable-locks.c          |    0
 .../libedataserver}/e-cancellable-locks.h          |    0
 .../libedataserver}/e-categories.c                 |    0
 .../libedataserver}/e-categories.h                 |    0
 .../libedataserver}/e-client-private.h             |    0
 {libedataserver => src/libedataserver}/e-client.c  |    0
 {libedataserver => src/libedataserver}/e-client.h  |    0
 .../libedataserver}/e-collator.c                   |    0
 .../libedataserver}/e-collator.h                   |    0
 .../libedataserver}/e-credentials.c                |    0
 .../libedataserver}/e-credentials.h                |    0
 .../libedataserver}/e-data-server-util.c           |    0
 .../libedataserver}/e-data-server-util.h           |    0
 .../libedataserver}/e-debug-log.c                  |    0
 .../libedataserver}/e-debug-log.h                  |    0
 .../libedataserver}/e-extensible.c                 |    0
 .../libedataserver}/e-extensible.h                 |    0
 .../libedataserver}/e-extension.c                  |    0
 .../libedataserver}/e-extension.h                  |    0
 {libedataserver => src/libedataserver}/e-flag.c    |    0
 {libedataserver => src/libedataserver}/e-flag.h    |    0
 .../libedataserver}/e-free-form-exp.c              |    0
 .../libedataserver}/e-free-form-exp.h              |    0
 .../libedataserver}/e-gdbus-templates.c            |    0
 .../libedataserver}/e-gdbus-templates.h            |    0
 .../libedataserver}/e-iterator.c                   |    0
 .../libedataserver}/e-iterator.h                   |    0
 .../libedataserver}/e-list-iterator.c              |    0
 .../libedataserver}/e-list-iterator.h              |    0
 {libedataserver => src/libedataserver}/e-list.c    |    0
 {libedataserver => src/libedataserver}/e-list.h    |    0
 {libedataserver => src/libedataserver}/e-memory.c  |    0
 {libedataserver => src/libedataserver}/e-memory.h  |    0
 {libedataserver => src/libedataserver}/e-module.c  |    0
 {libedataserver => src/libedataserver}/e-module.h  |    0
 .../libedataserver}/e-network-monitor.c            |    0
 .../libedataserver}/e-network-monitor.h            |    0
 .../libedataserver}/e-operation-pool.c             |    0
 .../libedataserver}/e-operation-pool.h             |    0
 {libedataserver => src/libedataserver}/e-proxy.c   |    0
 {libedataserver => src/libedataserver}/e-proxy.h   |    0
 .../libedataserver}/e-secret-store.c               |    0
 .../libedataserver}/e-secret-store.h               |    0
 {libedataserver => src/libedataserver}/e-sexp.c    |    0
 {libedataserver => src/libedataserver}/e-sexp.h    |    0
 .../libedataserver}/e-soup-auth-bearer.c           |    0
 .../libedataserver}/e-soup-auth-bearer.h           |    0
 .../libedataserver}/e-soup-ssl-trust.c             |    0
 .../libedataserver}/e-soup-ssl-trust.h             |    0
 .../libedataserver}/e-source-address-book.c        |    0
 .../libedataserver}/e-source-address-book.h        |    0
 .../libedataserver}/e-source-alarms.c              |    0
 .../libedataserver}/e-source-alarms.h              |    0
 .../libedataserver}/e-source-authentication.c      |    0
 .../libedataserver}/e-source-authentication.h      |    0
 .../libedataserver}/e-source-autocomplete.c        |    0
 .../libedataserver}/e-source-autocomplete.h        |    0
 .../libedataserver}/e-source-backend.c             |    0
 .../libedataserver}/e-source-backend.h             |    0
 .../libedataserver}/e-source-calendar.c            |    0
 .../libedataserver}/e-source-calendar.h            |    0
 .../libedataserver}/e-source-camel.c               |    0
 .../libedataserver}/e-source-camel.h               |    0
 .../libedataserver}/e-source-collection.c          |    0
 .../libedataserver}/e-source-collection.h          |    0
 .../libedataserver}/e-source-contacts.c            |    0
 .../libedataserver}/e-source-contacts.h            |    0
 .../e-source-credentials-provider-impl-google.c    |    0
 .../e-source-credentials-provider-impl-google.h    |    0
 .../e-source-credentials-provider-impl-password.c  |    0
 .../e-source-credentials-provider-impl-password.h  |    0
 .../e-source-credentials-provider-impl.c           |    0
 .../e-source-credentials-provider-impl.h           |    0
 .../e-source-credentials-provider.c                |    0
 .../e-source-credentials-provider.h                |    0
 .../libedataserver}/e-source-enums.h               |    0
 .../libedataserver}/e-source-extension.c           |    0
 .../libedataserver}/e-source-extension.h           |    0
 .../libedataserver}/e-source-goa.c                 |    0
 .../libedataserver}/e-source-goa.h                 |    0
 .../libedataserver}/e-source-ldap.c                |    0
 .../libedataserver}/e-source-ldap.h                |    0
 .../libedataserver}/e-source-local.c               |    0
 .../libedataserver}/e-source-local.h               |    0
 .../libedataserver}/e-source-mail-account.c        |    0
 .../libedataserver}/e-source-mail-account.h        |    0
 .../libedataserver}/e-source-mail-composition.c    |    0
 .../libedataserver}/e-source-mail-composition.h    |    0
 .../libedataserver}/e-source-mail-identity.c       |    0
 .../libedataserver}/e-source-mail-identity.h       |    0
 .../libedataserver}/e-source-mail-signature.c      |    0
 .../libedataserver}/e-source-mail-signature.h      |    0
 .../libedataserver}/e-source-mail-submission.c     |    0
 .../libedataserver}/e-source-mail-submission.h     |    0
 .../libedataserver}/e-source-mail-transport.c      |    0
 .../libedataserver}/e-source-mail-transport.h      |    0
 .../libedataserver}/e-source-mdn.c                 |    0
 .../libedataserver}/e-source-mdn.h                 |    0
 .../libedataserver}/e-source-offline.c             |    0
 .../libedataserver}/e-source-offline.h             |    0
 .../libedataserver}/e-source-openpgp.c             |    0
 .../libedataserver}/e-source-openpgp.h             |    0
 .../libedataserver}/e-source-proxy.c               |    0
 .../libedataserver}/e-source-proxy.h               |    0
 .../libedataserver}/e-source-refresh.c             |    0
 .../libedataserver}/e-source-refresh.h             |    0
 .../libedataserver}/e-source-registry.c            |    0
 .../libedataserver}/e-source-registry.h            |    0
 .../libedataserver}/e-source-resource.c            |    0
 .../libedataserver}/e-source-resource.h            |    0
 .../libedataserver}/e-source-revision-guards.c     |    0
 .../libedataserver}/e-source-revision-guards.h     |    0
 .../libedataserver}/e-source-security.c            |    0
 .../libedataserver}/e-source-security.h            |    0
 .../libedataserver}/e-source-selectable.c          |    0
 .../libedataserver}/e-source-selectable.h          |    0
 .../libedataserver}/e-source-smime.c               |    0
 .../libedataserver}/e-source-smime.h               |    0
 .../libedataserver}/e-source-uoa.c                 |    0
 .../libedataserver}/e-source-uoa.h                 |    0
 .../libedataserver}/e-source-weather.c             |    0
 .../libedataserver}/e-source-weather.h             |    0
 .../libedataserver}/e-source-webdav.c              |    0
 .../libedataserver}/e-source-webdav.h              |    0
 {libedataserver => src/libedataserver}/e-source.c  |    0
 {libedataserver => src/libedataserver}/e-source.h  |    0
 .../libedataserver}/e-time-utils.c                 |    0
 .../libedataserver}/e-time-utils.h                 |    0
 .../libedataserver}/e-transliterator-private.cpp   |    0
 .../libedataserver}/e-transliterator-private.h     |    0
 {libedataserver => src/libedataserver}/e-uid.c     |    0
 {libedataserver => src/libedataserver}/e-uid.h     |    0
 {libedataserver => src/libedataserver}/e-url.c     |    0
 {libedataserver => src/libedataserver}/e-url.h     |    0
 .../libedataserver}/e-webdav-discover.c            |    0
 .../libedataserver}/e-webdav-discover.h            |    0
 .../libedataserver}/e-xml-hash-utils.c             |    0
 .../libedataserver}/e-xml-hash-utils.h             |    0
 .../libedataserver}/e-xml-utils.c                  |    0
 .../libedataserver}/e-xml-utils.h                  |    0
 .../libedataserver}/eds-version.c                  |    0
 .../libedataserver}/eds-version.h.in               |    0
 .../libedataserver}/libedataserver-private.h       |    0
 .../libedataserver}/libedataserver.h               |    0
 .../libedataserver}/libedataserver.pc.in           |    0
 src/libedataserverui/CMakeLists.txt                |   97 ++++
 .../libedataserverui}/e-cell-renderer-color.c      |    0
 .../libedataserverui}/e-cell-renderer-color.h      |    0
 .../e-credentials-prompter-impl-google.c           |    0
 .../e-credentials-prompter-impl-google.h           |    0
 .../e-credentials-prompter-impl-password.c         |    0
 .../e-credentials-prompter-impl-password.h         |    0
 .../e-credentials-prompter-impl.c                  |    0
 .../e-credentials-prompter-impl.h                  |    0
 .../libedataserverui}/e-credentials-prompter.c     |    0
 .../libedataserverui}/e-credentials-prompter.h     |    0
 .../libedataserverui}/e-trust-prompt.c             |    0
 .../libedataserverui}/e-trust-prompt.h             |    0
 .../libedataserverui}/e-webdav-discover-widget.c   |    0
 .../libedataserverui}/e-webdav-discover-widget.h   |    0
 .../libedataserverui}/libedataserverui.h           |    0
 .../libedataserverui}/libedataserverui.pc.in       |    0
 src/modules/CMakeLists.txt                         |   85 ++++
 .../modules}/cache-reaper/CMakeLists.txt           |    0
 .../modules}/cache-reaper/module-cache-reaper.c    |    0
 .../modules}/gnome-online-accounts/CMakeLists.txt  |    0
 .../modules}/gnome-online-accounts/e-goa-client.c  |    0
 .../modules}/gnome-online-accounts/e-goa-client.h  |    0
 .../gnome-online-accounts/e-goa-password-based.c   |    0
 .../gnome-online-accounts/e-goa-password-based.h   |    0
 .../modules}/gnome-online-accounts/goaewsclient.c  |    0
 .../modules}/gnome-online-accounts/goaewsclient.h  |    0
 .../gnome-online-accounts/module-credentials-goa.c |    0
 .../module-gnome-online-accounts.c                 |    0
 .../modules}/google-backend/CMakeLists.txt         |    0
 .../google-backend/module-google-backend.c         |    0
 .../modules}/outlook-backend/CMakeLists.txt        |    0
 .../outlook-backend/module-outlook-backend.c       |    0
 .../modules}/owncloud-backend/CMakeLists.txt       |    0
 .../owncloud-backend/module-owncloud-backend.c     |    0
 .../modules}/secret-monitor/CMakeLists.txt         |    0
 .../secret-monitor/module-secret-monitor.c         |    0
 .../modules}/trust-prompt/CMakeLists.txt           |    0
 .../modules}/trust-prompt/module-trust-prompt.c    |    0
 .../modules}/trust-prompt/trust-prompt-gtk.c       |    0
 .../modules}/trust-prompt/trust-prompt.h           |    0
 .../modules}/ubuntu-online-accounts/CMakeLists.txt |    0
 .../calendar.service-type.in.in                    |    0
 .../contacts.service-type.in.in                    |    0
 .../e-signon-session-password.c                    |    0
 .../e-signon-session-password.h                    |    0
 .../evolution-data-server-uoa.desktop.in.in        |    0
 .../evolution-data-server.application.in.in        |    0
 .../google-calendar.service.in.in                  |    0
 .../google-contacts.service.in.in                  |    0
 .../google-gmail.service.in.in                     |    0
 .../ubuntu-online-accounts/mail.service-type.in.in |    0
 .../module-credentials-uoa.c                       |    0
 .../module-ubuntu-online-accounts.c                |    0
 .../modules}/ubuntu-online-accounts/uoa-utils.c    |    0
 .../modules}/ubuntu-online-accounts/uoa-utils.h    |    0
 .../windows-live-mail.service.in.in                |    0
 .../yahoo-calendar.service.in.in                   |    0
 .../yahoo-mail.service.in.in                       |    0
 .../modules}/yahoo-backend/CMakeLists.txt          |    0
 .../modules}/yahoo-backend/module-yahoo-backend.c  |    0
 src/private/CMakeLists.txt                         |  190 ++++++++
 .../private}/org.freedesktop.locale1.xml           |    0
 .../org.gnome.evolution.dataserver.AddressBook.xml |    0
 ...nome.evolution.dataserver.AddressBookCursor.xml |    0
 ...ome.evolution.dataserver.AddressBookFactory.xml |    0
 ...rg.gnome.evolution.dataserver.Authenticator.xml |    0
 .../org.gnome.evolution.dataserver.Calendar.xml    |    0
 ....gnome.evolution.dataserver.CalendarFactory.xml |    0
 .../org.gnome.evolution.dataserver.DirectBook.xml  |    0
 .../org.gnome.evolution.dataserver.Source.xml      |    0
 ...rg.gnome.evolution.dataserver.SourceManager.xml |    0
 ...ome.evolution.dataserver.Subprocess.Backend.xml |    0
 ...org.gnome.evolution.dataserver.UserPrompter.xml |    0
 {services => src/services}/CMakeLists.txt          |    0
 .../evolution-addressbook-factory/CMakeLists.txt   |   76 ++++
 .../evolution-addressbook-factory.c                |    0
 .../evolution-addressbook-factory.service.in       |    0
 ...ome.evolution.dataserver.AddressBook.service.in |    0
 .../evolution-calendar-factory/CMakeLists.txt      |   75 +++
 .../evolution-calendar-factory.c                   |    0
 .../evolution-calendar-factory.service.in          |    0
 ....gnome.evolution.dataserver.Calendar.service.in |    0
 .../evolution-source-registry/CMakeLists.txt       |  153 +++++++
 .../builtin/birthdays.source.in                    |    0
 .../builtin/caldav-stub.source.in                  |    0
 .../builtin/contacts-stub.source.in                |    0
 .../builtin/google-stub.source.in                  |    0
 .../builtin/ldap-stub.source.in                    |    0
 .../builtin/local-stub.source.in                   |    0
 .../builtin/local.source.in                        |    0
 .../builtin/sendmail.source.in                     |    0
 .../builtin/system-address-book.source.in          |    0
 .../builtin/system-calendar.source.in              |    0
 .../builtin/system-memo-list.source.in             |    0
 .../builtin/system-proxy.source.in                 |    0
 .../builtin/system-task-list.source.in             |    0
 .../builtin/vfolder.source.in                      |    0
 .../builtin/weather-stub.source.in                 |    0
 .../builtin/webcal-stub.source.in                  |    0
 .../builtin/webdav-stub.source.in                  |    0
 .../evolution-scan-gconf-tree-xml.c                |    0
 .../evolution-source-registry-migrate-basedir.c    |    0
 ...olution-source-registry-migrate-imap-to-imapx.c |    0
 .../evolution-source-registry-migrate-proxies.c    |    0
 .../evolution-source-registry-migrate-sources.c    |    0
 .../evolution-source-registry-resource.xml         |    0
 .../evolution-source-registry.c                    |    0
 .../evolution-source-registry.service.in           |    0
 ...g.gnome.evolution.dataserver.Sources.service.in |    0
 .../evolution-user-prompter/CMakeLists.txt         |   78 ++++
 .../evolution-user-prompter.c                      |    0
 .../evolution-user-prompter.service.in             |    0
 ...me.evolution.dataserver.UserPrompter.service.in |    0
 .../evolution-user-prompter/prompt-user-gtk.c      |    0
 .../evolution-user-prompter/prompt-user.h          |    0
 {tools => src/tools}/CMakeLists.txt                |    0
 src/tools/addressbook-export/CMakeLists.txt        |   60 +++
 .../tools}/addressbook-export/addressbook-export.c |    0
 .../tools}/addressbook-export/csv2vcard.in         |    0
 src/vala/CMakeLists.txt                            |  141 ++++++
 {vala => src/vala}/Camel-1.2.metadata              |    0
 {vala => src/vala}/EBook-1.2.metadata              |    0
 {vala => src/vala}/EBookContacts-1.2.metadata      |    0
 {vala => src/vala}/EDataServer-1.2.metadata        |    0
 {vala => src/vala}/camel-1.2.deps                  |    0
 {vala => src/vala}/libebook-1.2.deps               |    0
 .../vala}/libebook-contacts-1.2-custom.vala        |    0
 {vala => src/vala}/libebook-contacts-1.2.deps      |    0
 {vala => src/vala}/libedataserver-1.2.deps         |    0
 tests/CMakeLists.txt                               |    3 +-
 tests/libebook/CMakeLists.txt                      |    3 +-
 tests/libebook/client/CMakeLists.txt               |   11 +-
 tests/libebook/vcard/CMakeLists.txt                |    7 +-
 tests/libecal/CMakeLists.txt                       |    7 +-
 tests/libedata-book/CMakeLists.txt                 |    3 +-
 tests/test-server-utils/CMakeLists.txt             |   17 +-
 ...ome.evolution.dataserver.AddressBook.service.in |    2 +-
 ....gnome.evolution.dataserver.Calendar.service.in |    2 +-
 ...g.gnome.evolution.dataserver.Sources.service.in |    2 +-
 tools/addressbook-export/CMakeLists.txt            |   59 ---
 vala/CMakeLists.txt                                |  141 ------
 1068 files changed, 4223 insertions(+), 4147 deletions(-)
---
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 48e3f92..aec781a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -895,32 +895,11 @@ print_build_options()
 
 add_pkgconfig_file(evolution-data-server.pc.in evolution-data-server-${API_VERSION}.pc)
 
-add_subdirectory(art)
-add_subdirectory(addressbook)
-add_subdirectory(calendar)
-add_subdirectory(camel)
 add_subdirectory(data)
-add_subdirectory(libebackend)
-add_subdirectory(libedataserver)
-add_subdirectory(modules)
-add_subdirectory(private)
 add_subdirectory(po)
-add_subdirectory(services)
+add_subdirectory(src)
 add_subdirectory(tests)
-add_subdirectory(tools)
-
-if(HAVE_GTK)
-       add_subdirectory(libedataserverui)
-endif(HAVE_GTK)
 
 if(ENABLE_GTK_DOC)
        add_subdirectory(docs)
 endif(ENABLE_GTK_DOC)
-
-if(ENABLE_EXAMPLES)
-       add_subdirectory(examples)
-endif(ENABLE_EXAMPLES)
-
-if(ENABLE_VALA_BINDINGS)
-       add_subdirectory(vala)
-endif(ENABLE_VALA_BINDINGS)
diff --git a/cmake/modules/GObjectIntrospection.cmake b/cmake/modules/GObjectIntrospection.cmake
index a5ae8a2..f18588d 100644
--- a/cmake/modules/GObjectIntrospection.cmake
+++ b/cmake/modules/GObjectIntrospection.cmake
@@ -178,8 +178,10 @@ macro(gir_add_introspection_simple gir_library pkg_export_prefix gir_library_ver
        set(${gir_vars_prefix}_CFLAGS
                -I${CMAKE_CURRENT_BINARY_DIR}
                -I${CMAKE_BINARY_DIR}
+               -I${CMAKE_BINARY_DIR}/src
                -I${CMAKE_CURRENT_SOURCE_DIR}
                -I${CMAKE_SOURCE_DIR}
+               -I${CMAKE_SOURCE_DIR}/src
                ${${extra_cflags_var}}
        )
        set(${gir_vars_prefix}_LIBS ${${gir_libs_var}})
@@ -194,11 +196,14 @@ macro(gir_add_introspection_simple gir_library pkg_export_prefix gir_library_ver
 
        set(INTROSPECTION_SCANNER_ARGS
                --add-include-path=${CMAKE_BINARY_DIR}
+               --add-include-path=${CMAKE_BINARY_DIR}/src
                --add-include-path=${CMAKE_SOURCE_DIR}
+               --add-include-path=${CMAKE_SOURCE_DIR}/src
                --add-include-path=${CMAKE_CURRENT_BINARY_DIR}
                --add-include-path=${CMAKE_CURRENT_SOURCE_DIR}
                --library-path=${LIB_INSTALL_DIR}
                --library-path=${CMAKE_BINARY_DIR}
+               --library-path=${CMAKE_BINARY_DIR}/src
                --library-path=${CMAKE_CURRENT_BINARY_DIR}
                ${_gir_extra_libdirs}
                ${_gir_identifies_prefixes}
diff --git a/data/CMakeLists.txt b/data/CMakeLists.txt
index 0403472..2a64e4b 100644
--- a/data/CMakeLists.txt
+++ b/data/CMakeLists.txt
@@ -1,8 +1,13 @@
+# ********************************
+# GSettings schemas
+# ********************************
+
 set(SCHEMAS
        org.gnome.Evolution.DefaultSources.gschema.xml
        org.gnome.evolution-data-server.gschema.xml
        org.gnome.evolution-data-server.calendar.gschema.xml
        org.gnome.evolution-data-server.addressbook.gschema.xml
+       org.gnome.evolution.eds-shell.gschema.xml
        org.gnome.evolution.shell.network-config.gschema.xml
 )
 
@@ -22,6 +27,39 @@ add_custom_target(data-files ALL
 
 add_gsettings_schemas(data-files ${BUILT_SCHEMAS})
 
+# ********************************
+# GConf convert file
+# ********************************
+
 install(FILES evolution-data-server.convert
        DESTINATION ${SHARE_INSTALL_DIR}/GConf/gsettings
 )
+
+# ********************************
+# Images
+# ********************************
+
+set(IMAGES
+       category_birthday_16.png
+       category_business_16.png
+       category_favorites_16.png
+       category_gifts_16.png
+       category_goals_16.png
+       category_holiday_16.png
+       category_holiday-cards_16.png
+       category_hot-contacts_16.png
+       category_ideas_16.png
+       category_international_16.png
+       category_key-customer_16.png
+       category_miscellaneous_16.png
+       category_personal_16.png
+       category_phonecalls_16.png
+       category_status_16.png
+       category_strategies_16.png
+       category_suppliers_16.png
+       category_time-and-expenses_16.png
+)
+
+install(FILES ${IMAGES}
+       DESTINATION ${imagesdir}
+)
diff --git a/libebackend/org.gnome.evolution.eds-shell.gschema.xml 
b/data/org.gnome.evolution.eds-shell.gschema.xml.in
similarity index 100%
rename from libebackend/org.gnome.evolution.eds-shell.gschema.xml
rename to data/org.gnome.evolution.eds-shell.gschema.xml.in
diff --git a/docs/reference/camel/CMakeLists.txt b/docs/reference/camel/CMakeLists.txt
index da02752..18e7f4f 100644
--- a/docs/reference/camel/CMakeLists.txt
+++ b/docs/reference/camel/CMakeLists.txt
@@ -1,11 +1,11 @@
 set(SOURCEDIRS
-       ${CMAKE_SOURCE_DIR}/camel
-       ${CMAKE_SOURCE_DIR}/camel/providers/local
-       ${CMAKE_SOURCE_DIR}/camel/providers/imapx
-       ${CMAKE_SOURCE_DIR}/camel/providers/nntp
-       ${CMAKE_SOURCE_DIR}/camel/providers/pop3
-       ${CMAKE_SOURCE_DIR}/camel/providers/sendmail
-       ${CMAKE_SOURCE_DIR}/camel/providers/smtp
+       ${CMAKE_SOURCE_DIR}/src/camel
+       ${CMAKE_SOURCE_DIR}/src/camel/providers/local
+       ${CMAKE_SOURCE_DIR}/src/camel/providers/imapx
+       ${CMAKE_SOURCE_DIR}/src/camel/providers/nntp
+       ${CMAKE_SOURCE_DIR}/src/camel/providers/pop3
+       ${CMAKE_SOURCE_DIR}/src/camel/providers/sendmail
+       ${CMAKE_SOURCE_DIR}/src/camel/providers/smtp
 )
 
 set(DEPENDENCIES
diff --git a/docs/reference/evolution-data-server/CMakeLists.txt 
b/docs/reference/evolution-data-server/CMakeLists.txt
index c050c81..84e5994 100644
--- a/docs/reference/evolution-data-server/CMakeLists.txt
+++ b/docs/reference/evolution-data-server/CMakeLists.txt
@@ -4,14 +4,14 @@ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/evolution-data-server-cursor-example.
 )
 
 set(SOURCEDIRS
-       ${CMAKE_SOURCE_DIR}/libebackend
-       ${CMAKE_SOURCE_DIR}/libedataserver
-       ${CMAKE_BINARY_DIR}/libedataserver
-       ${CMAKE_SOURCE_DIR}/addressbook/libebook
-       ${CMAKE_SOURCE_DIR}/addressbook/libebook-contacts
-       ${CMAKE_SOURCE_DIR}/addressbook/libedata-book
-       ${CMAKE_SOURCE_DIR}/calendar/libecal
-       ${CMAKE_SOURCE_DIR}/calendar/libedata-cal
+       ${CMAKE_SOURCE_DIR}/src/libebackend
+       ${CMAKE_SOURCE_DIR}/src/libedataserver
+       ${CMAKE_BINARY_DIR}/src/libedataserver
+       ${CMAKE_SOURCE_DIR}/src/addressbook/libebook
+       ${CMAKE_SOURCE_DIR}/src/addressbook/libebook-contacts
+       ${CMAKE_SOURCE_DIR}/src/addressbook/libedata-book
+       ${CMAKE_SOURCE_DIR}/src/calendar/libecal
+       ${CMAKE_SOURCE_DIR}/src/calendar/libedata-cal
        ${CMAKE_SOURCE_DIR}/tests/test-server-utils
 )
 
diff --git a/docs/reference/private/CMakeLists.txt b/docs/reference/private/CMakeLists.txt
index 2825ce6..26c3053 100644
--- a/docs/reference/private/CMakeLists.txt
+++ b/docs/reference/private/CMakeLists.txt
@@ -1,5 +1,5 @@
 set(SOURCEDIRS
-       ${CMAKE_BINARY_DIR}/private
+       ${CMAKE_BINARY_DIR}/src/private
 )
 
 set(DEPENDENCIES
diff --git a/docs/reference/private/libedbus-private-docs.sgml.in 
b/docs/reference/private/libedbus-private-docs.sgml.in
index 8052aa4..4071338 100644
--- a/docs/reference/private/libedbus-private-docs.sgml.in
+++ b/docs/reference/private/libedbus-private-docs.sgml.in
@@ -25,19 +25,19 @@
 
   <chapter>
     <title>D-Bus Interfaces</title>
-    <xi:include href="@CMAKE_BINARY_DIR@/private/e-dbus-source-org.gnome.evolution.dataserver.Source.xml"/>
-    <xi:include 
href="@CMAKE_BINARY_DIR@/private/e-dbus-source-org.gnome.evolution.dataserver.Source.Removable.xml"/>
-    <xi:include 
href="@CMAKE_BINARY_DIR@/private/e-dbus-source-org.gnome.evolution.dataserver.Source.Writable.xml"/>
-    <xi:include 
href="@CMAKE_BINARY_DIR@/private/e-dbus-source-org.gnome.evolution.dataserver.Source.RemoteCreatable.xml"/>
-    <xi:include 
href="@CMAKE_BINARY_DIR@/private/e-dbus-source-org.gnome.evolution.dataserver.Source.RemoteDeletable.xml"/>
-    <xi:include 
href="@CMAKE_BINARY_DIR@/private/e-dbus-source-org.gnome.evolution.dataserver.Source.OAuth2Support.xml"/>
-    <xi:include 
href="@CMAKE_BINARY_DIR@/private/e-dbus-source-manager-org.gnome.evolution.dataserver.SourceManager.xml"/>
-    <xi:include 
href="@CMAKE_BINARY_DIR@/private/e-dbus-authenticator-org.gnome.evolution.dataserver.Authenticator.xml"/>
-    <xi:include 
href="@CMAKE_BINARY_DIR@/private/e-dbus-address-book-org.gnome.evolution.dataserver.AddressBook.xml"/>
-    <xi:include 
href="@CMAKE_BINARY_DIR@/private/e-dbus-address-book-factory-org.gnome.evolution.dataserver.AddressBookFactory.xml"/>
-    <xi:include 
href="@CMAKE_BINARY_DIR@/private/e-dbus-calendar-org.gnome.evolution.dataserver.Calendar.xml"/>
-    <xi:include 
href="@CMAKE_BINARY_DIR@/private/e-dbus-calendar-factory-org.gnome.evolution.dataserver.CalendarFactory.xml"/>
-    <xi:include 
href="@CMAKE_BINARY_DIR@/private/e-dbus-user-prompter-org.gnome.evolution.dataserver.UserPrompter.xml"/>
+    <xi:include 
href="@CMAKE_BINARY_DIR@/src/private/e-dbus-source-org.gnome.evolution.dataserver.Source.xml"/>
+    <xi:include 
href="@CMAKE_BINARY_DIR@/src/private/e-dbus-source-org.gnome.evolution.dataserver.Source.Removable.xml"/>
+    <xi:include 
href="@CMAKE_BINARY_DIR@/src/private/e-dbus-source-org.gnome.evolution.dataserver.Source.Writable.xml"/>
+    <xi:include 
href="@CMAKE_BINARY_DIR@/src/private/e-dbus-source-org.gnome.evolution.dataserver.Source.RemoteCreatable.xml"/>
+    <xi:include 
href="@CMAKE_BINARY_DIR@/src/private/e-dbus-source-org.gnome.evolution.dataserver.Source.RemoteDeletable.xml"/>
+    <xi:include 
href="@CMAKE_BINARY_DIR@/src/private/e-dbus-source-org.gnome.evolution.dataserver.Source.OAuth2Support.xml"/>
+    <xi:include 
href="@CMAKE_BINARY_DIR@/src/private/e-dbus-source-manager-org.gnome.evolution.dataserver.SourceManager.xml"/>
+    <xi:include 
href="@CMAKE_BINARY_DIR@/src/private/e-dbus-authenticator-org.gnome.evolution.dataserver.Authenticator.xml"/>
+    <xi:include 
href="@CMAKE_BINARY_DIR@/src/private/e-dbus-address-book-org.gnome.evolution.dataserver.AddressBook.xml"/>
+    <xi:include 
href="@CMAKE_BINARY_DIR@/src/private/e-dbus-address-book-factory-org.gnome.evolution.dataserver.AddressBookFactory.xml"/>
+    <xi:include 
href="@CMAKE_BINARY_DIR@/src/private/e-dbus-calendar-org.gnome.evolution.dataserver.Calendar.xml"/>
+    <xi:include 
href="@CMAKE_BINARY_DIR@/src/private/e-dbus-calendar-factory-org.gnome.evolution.dataserver.CalendarFactory.xml"/>
+    <xi:include 
href="@CMAKE_BINARY_DIR@/src/private/e-dbus-user-prompter-org.gnome.evolution.dataserver.UserPrompter.xml"/>
   </chapter>
 
   <index id="api-index-full">
diff --git a/po/POTFILES.in b/po/POTFILES.in
index 7252423..4cdf92c 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -1,243 +1,243 @@
 # List of source files containing translatable strings.
 # Please keep this list in alphabetic order.
 [encoding: UTF-8]
-addressbook/backends/file/e-book-backend-file.c
-addressbook/backends/file/e-book-backend-file-migrate-bdb.c
-addressbook/backends/google/e-book-backend-google.c
-addressbook/backends/google/e-book-google-utils.c
-addressbook/backends/ldap/e-book-backend-ldap.c
-addressbook/backends/webdav/e-book-backend-webdav.c
-addressbook/libebook-contacts/e-book-contacts-types.c
-addressbook/libebook-contacts/e-contact.c
-addressbook/libebook-contacts/e-phone-number.c
-addressbook/libebook/e-book.c
-addressbook/libebook/e-book-client.c
-addressbook/libebook/e-book-client-cursor.c
-addressbook/libebook/e-book-client-view.c
-addressbook/libebook/e-destination.c
-addressbook/libedata-book/e-book-backend.c
-addressbook/libedata-book/e-book-backend-sexp.c
-addressbook/libedata-book/e-book-backend-sqlitedb.c
-addressbook/libedata-book/e-book-sqlite.c
-addressbook/libedata-book/e-data-book.c
-addressbook/libedata-book/e-data-book-cursor.c
-addressbook/libedata-book/e-data-book-cursor-sqlite.c
-addressbook/libedata-book/e-data-book-factory.c
-calendar/backends/caldav/e-cal-backend-caldav.c
-calendar/backends/contacts/e-cal-backend-contacts.c
-calendar/backends/file/e-cal-backend-file.c
-calendar/backends/http/e-cal-backend-http.c
-calendar/backends/weather/e-cal-backend-weather.c
-calendar/libecal/e-cal.c
-calendar/libecal/e-cal-client.c
-calendar/libecal/e-cal-client-view.c
-calendar/libecal/e-cal-component.c
-calendar/libecal/e-cal-recur.c
-calendar/libecal/e-cal-util.c
-calendar/libedata-cal/e-cal-backend.c
-calendar/libedata-cal/e-cal-backend-sexp.c
-calendar/libedata-cal/e-cal-backend-sync.c
-calendar/libedata-cal/e-cal-backend-util.c
-calendar/libedata-cal/e-data-cal.c
-calendar/libedata-cal/e-data-cal-factory.c
-camel/camel-address.c
-camel/camel-block-file.c
-camel/camel.c
-camel/camel-certdb.c
-camel/camel-charset-map.c
-camel/camel-cipher-context.c
-camel/camel-data-cache.c
-camel/camel-data-wrapper.c
-camel/camel-db.c
-camel/camel-debug.c
-camel/camel-file-utils.c
-camel/camel-filter-driver.c
-camel/camel-filter-search.c
-camel/camel-folder.c
-camel/camel-folder-search.c
-camel/camel-folder-summary.c
-camel/camel-folder-thread.c
-camel/camel-gpg-context.c
-camel/camel-html-parser.c
-camel/camel-index.c
-camel/camel-index-control.c
-camel/camel-internet-address.c
-camel/camel-junk-filter.c
-camel/camel-lock.c
-camel/camel-lock-client.c
-camel/camel-lock-helper.c
-camel/camel-medium.c
-camel/camel-mime-filter-basic.c
-camel/camel-mime-filter-bestenc.c
-camel/camel-mime-filter.c
-camel/camel-mime-filter-canon.c
-camel/camel-mime-filter-charset.c
-camel/camel-mime-filter-crlf.c
-camel/camel-mime-filter-enriched.c
-camel/camel-mime-filter-from.c
-camel/camel-mime-filter-gzip.c
-camel/camel-mime-filter-html.c
-camel/camel-mime-filter-index.c
-camel/camel-mime-filter-linewrap.c
-camel/camel-mime-filter-tohtml.c
-camel/camel-mime-filter-windows.c
-camel/camel-mime-filter-yenc.c
-camel/camel-mime-message.c
-camel/camel-mime-parser.c
-camel/camel-mime-part.c
-camel/camel-mime-part-utils.c
-camel/camel-mime-utils.c
-camel/camel-movemail.c
-camel/camel-multipart.c
-camel/camel-multipart-encrypted.c
-camel/camel-multipart-signed.c
-camel/camel-net-utils.c
-camel/camel-network-service.c
-camel/camel-object.c
-camel/camel-offline-folder.c
-camel/camel-offline-store.c
-camel/camel-operation.c
-camel/camel-partition-table.c
-camel/camel-provider.c
-camel/camel-sasl-anonymous.c
-camel/camel-sasl.c
-camel/camel-sasl-cram-md5.c
-camel/camel-sasl-digest-md5.c
-camel/camel-sasl-gssapi.c
-camel/camel-sasl-login.c
-camel/camel-sasl-ntlm.c
-camel/camel-sasl-plain.c
-camel/camel-sasl-popb4smtp.c
-camel/camel-search-private.c
-camel/camel-service.c
-camel/camel-session.c
-camel/camel-smime-context.c
-camel/camel-store.c
-camel/camel-store-summary.c
-camel/camel-stream-buffer.c
-camel/camel-stream.c
-camel/camel-stream-filter.c
-camel/camel-stream-fs.c
-camel/camel-stream-mem.c
-camel/camel-stream-null.c
-camel/camel-stream-process.c
-camel/camel-string-utils.c
-camel/camel-subscribable.c
-camel/camel-text-index.c
-camel/camel-transport.c
-camel/camel-uid-cache.c
-camel/camel-url.c
-camel/camel-url-scanner.c
-camel/camel-utf8.c
-camel/camel-vee-folder.c
-camel/camel-vee-store.c
-camel/camel-vee-summary.c
-camel/camel-vtrash-folder.c
-camel/providers/imapx/camel-imapx-command.c
-camel/providers/imapx/camel-imapx-conn-manager.c
-camel/providers/imapx/camel-imapx-folder.c
-camel/providers/imapx/camel-imapx-input-stream.c
-camel/providers/imapx/camel-imapx-provider.c
-camel/providers/imapx/camel-imapx-server.c
-camel/providers/imapx/camel-imapx-store.c
-camel/providers/local/camel-local-folder.c
-camel/providers/local/camel-local-provider.c
-camel/providers/local/camel-local-store.c
-camel/providers/local/camel-local-summary.c
-camel/providers/local/camel-maildir-folder.c
-camel/providers/local/camel-maildir-store.c
-camel/providers/local/camel-maildir-summary.c
-camel/providers/local/camel-mbox-folder.c
-camel/providers/local/camel-mbox-store.c
-camel/providers/local/camel-mbox-summary.c
-camel/providers/local/camel-mh-folder.c
-camel/providers/local/camel-mh-store.c
-camel/providers/local/camel-mh-summary.c
-camel/providers/local/camel-spool-folder.c
-camel/providers/local/camel-spool-store.c
-camel/providers/local/camel-spool-summary.c
-camel/providers/nntp/camel-nntp-folder.c
-camel/providers/nntp/camel-nntp-provider.c
-camel/providers/nntp/camel-nntp-store.c
-camel/providers/nntp/camel-nntp-store-summary.c
-camel/providers/nntp/camel-nntp-stream.c
-camel/providers/nntp/camel-nntp-summary.c
-camel/providers/pop3/camel-pop3-engine.c
-camel/providers/pop3/camel-pop3-folder.c
-camel/providers/pop3/camel-pop3-provider.c
-camel/providers/pop3/camel-pop3-store.c
-camel/providers/pop3/camel-pop3-stream.c
-camel/providers/sendmail/camel-sendmail-provider.c
-camel/providers/sendmail/camel-sendmail-transport.c
-camel/providers/smtp/camel-smtp-provider.c
-camel/providers/smtp/camel-smtp-transport.c
+src/addressbook/backends/file/e-book-backend-file.c
+src/addressbook/backends/file/e-book-backend-file-migrate-bdb.c
+src/addressbook/backends/google/e-book-backend-google.c
+src/addressbook/backends/google/e-book-google-utils.c
+src/addressbook/backends/ldap/e-book-backend-ldap.c
+src/addressbook/backends/webdav/e-book-backend-webdav.c
+src/addressbook/libebook-contacts/e-book-contacts-types.c
+src/addressbook/libebook-contacts/e-contact.c
+src/addressbook/libebook-contacts/e-phone-number.c
+src/addressbook/libebook/e-book.c
+src/addressbook/libebook/e-book-client.c
+src/addressbook/libebook/e-book-client-cursor.c
+src/addressbook/libebook/e-book-client-view.c
+src/addressbook/libebook/e-destination.c
+src/addressbook/libedata-book/e-book-backend.c
+src/addressbook/libedata-book/e-book-backend-sexp.c
+src/addressbook/libedata-book/e-book-backend-sqlitedb.c
+src/addressbook/libedata-book/e-book-sqlite.c
+src/addressbook/libedata-book/e-data-book.c
+src/addressbook/libedata-book/e-data-book-cursor.c
+src/addressbook/libedata-book/e-data-book-cursor-sqlite.c
+src/addressbook/libedata-book/e-data-book-factory.c
+src/calendar/backends/caldav/e-cal-backend-caldav.c
+src/calendar/backends/contacts/e-cal-backend-contacts.c
+src/calendar/backends/file/e-cal-backend-file.c
+src/calendar/backends/http/e-cal-backend-http.c
+src/calendar/backends/weather/e-cal-backend-weather.c
+src/calendar/libecal/e-cal.c
+src/calendar/libecal/e-cal-client.c
+src/calendar/libecal/e-cal-client-view.c
+src/calendar/libecal/e-cal-component.c
+src/calendar/libecal/e-cal-recur.c
+src/calendar/libecal/e-cal-util.c
+src/calendar/libedata-cal/e-cal-backend.c
+src/calendar/libedata-cal/e-cal-backend-sexp.c
+src/calendar/libedata-cal/e-cal-backend-sync.c
+src/calendar/libedata-cal/e-cal-backend-util.c
+src/calendar/libedata-cal/e-data-cal.c
+src/calendar/libedata-cal/e-data-cal-factory.c
+src/camel/camel-address.c
+src/camel/camel-block-file.c
+src/camel/camel.c
+src/camel/camel-certdb.c
+src/camel/camel-charset-map.c
+src/camel/camel-cipher-context.c
+src/camel/camel-data-cache.c
+src/camel/camel-data-wrapper.c
+src/camel/camel-db.c
+src/camel/camel-debug.c
+src/camel/camel-file-utils.c
+src/camel/camel-filter-driver.c
+src/camel/camel-filter-search.c
+src/camel/camel-folder.c
+src/camel/camel-folder-search.c
+src/camel/camel-folder-summary.c
+src/camel/camel-folder-thread.c
+src/camel/camel-gpg-context.c
+src/camel/camel-html-parser.c
+src/camel/camel-index.c
+src/camel/camel-index-control.c
+src/camel/camel-internet-address.c
+src/camel/camel-junk-filter.c
+src/camel/camel-lock.c
+src/camel/camel-lock-client.c
+src/camel/camel-lock-helper.c
+src/camel/camel-medium.c
+src/camel/camel-mime-filter-basic.c
+src/camel/camel-mime-filter-bestenc.c
+src/camel/camel-mime-filter.c
+src/camel/camel-mime-filter-canon.c
+src/camel/camel-mime-filter-charset.c
+src/camel/camel-mime-filter-crlf.c
+src/camel/camel-mime-filter-enriched.c
+src/camel/camel-mime-filter-from.c
+src/camel/camel-mime-filter-gzip.c
+src/camel/camel-mime-filter-html.c
+src/camel/camel-mime-filter-index.c
+src/camel/camel-mime-filter-linewrap.c
+src/camel/camel-mime-filter-tohtml.c
+src/camel/camel-mime-filter-windows.c
+src/camel/camel-mime-filter-yenc.c
+src/camel/camel-mime-message.c
+src/camel/camel-mime-parser.c
+src/camel/camel-mime-part.c
+src/camel/camel-mime-part-utils.c
+src/camel/camel-mime-utils.c
+src/camel/camel-movemail.c
+src/camel/camel-multipart.c
+src/camel/camel-multipart-encrypted.c
+src/camel/camel-multipart-signed.c
+src/camel/camel-net-utils.c
+src/camel/camel-network-service.c
+src/camel/camel-object.c
+src/camel/camel-offline-folder.c
+src/camel/camel-offline-store.c
+src/camel/camel-operation.c
+src/camel/camel-partition-table.c
+src/camel/camel-provider.c
+src/camel/camel-sasl-anonymous.c
+src/camel/camel-sasl.c
+src/camel/camel-sasl-cram-md5.c
+src/camel/camel-sasl-digest-md5.c
+src/camel/camel-sasl-gssapi.c
+src/camel/camel-sasl-login.c
+src/camel/camel-sasl-ntlm.c
+src/camel/camel-sasl-plain.c
+src/camel/camel-sasl-popb4smtp.c
+src/camel/camel-search-private.c
+src/camel/camel-service.c
+src/camel/camel-session.c
+src/camel/camel-smime-context.c
+src/camel/camel-store.c
+src/camel/camel-store-summary.c
+src/camel/camel-stream-buffer.c
+src/camel/camel-stream.c
+src/camel/camel-stream-filter.c
+src/camel/camel-stream-fs.c
+src/camel/camel-stream-mem.c
+src/camel/camel-stream-null.c
+src/camel/camel-stream-process.c
+src/camel/camel-string-utils.c
+src/camel/camel-subscribable.c
+src/camel/camel-text-index.c
+src/camel/camel-transport.c
+src/camel/camel-uid-cache.c
+src/camel/camel-url.c
+src/camel/camel-url-scanner.c
+src/camel/camel-utf8.c
+src/camel/camel-vee-folder.c
+src/camel/camel-vee-store.c
+src/camel/camel-vee-summary.c
+src/camel/camel-vtrash-folder.c
+src/camel/providers/imapx/camel-imapx-command.c
+src/camel/providers/imapx/camel-imapx-conn-manager.c
+src/camel/providers/imapx/camel-imapx-folder.c
+src/camel/providers/imapx/camel-imapx-input-stream.c
+src/camel/providers/imapx/camel-imapx-provider.c
+src/camel/providers/imapx/camel-imapx-server.c
+src/camel/providers/imapx/camel-imapx-store.c
+src/camel/providers/local/camel-local-folder.c
+src/camel/providers/local/camel-local-provider.c
+src/camel/providers/local/camel-local-store.c
+src/camel/providers/local/camel-local-summary.c
+src/camel/providers/local/camel-maildir-folder.c
+src/camel/providers/local/camel-maildir-store.c
+src/camel/providers/local/camel-maildir-summary.c
+src/camel/providers/local/camel-mbox-folder.c
+src/camel/providers/local/camel-mbox-store.c
+src/camel/providers/local/camel-mbox-summary.c
+src/camel/providers/local/camel-mh-folder.c
+src/camel/providers/local/camel-mh-store.c
+src/camel/providers/local/camel-mh-summary.c
+src/camel/providers/local/camel-spool-folder.c
+src/camel/providers/local/camel-spool-store.c
+src/camel/providers/local/camel-spool-summary.c
+src/camel/providers/nntp/camel-nntp-folder.c
+src/camel/providers/nntp/camel-nntp-provider.c
+src/camel/providers/nntp/camel-nntp-store.c
+src/camel/providers/nntp/camel-nntp-store-summary.c
+src/camel/providers/nntp/camel-nntp-stream.c
+src/camel/providers/nntp/camel-nntp-summary.c
+src/camel/providers/pop3/camel-pop3-engine.c
+src/camel/providers/pop3/camel-pop3-folder.c
+src/camel/providers/pop3/camel-pop3-provider.c
+src/camel/providers/pop3/camel-pop3-store.c
+src/camel/providers/pop3/camel-pop3-stream.c
+src/camel/providers/sendmail/camel-sendmail-provider.c
+src/camel/providers/sendmail/camel-sendmail-transport.c
+src/camel/providers/smtp/camel-smtp-provider.c
+src/camel/providers/smtp/camel-smtp-transport.c
 data/org.gnome.evolution-data-server.addressbook.gschema.xml.in
 data/org.gnome.evolution-data-server.calendar.gschema.xml.in
 data/org.gnome.evolution-data-server.gschema.xml.in
 data/org.gnome.evolution.shell.network-config.gschema.xml.in
-libebackend/e-backend.c
-libebackend/e-collection-backend.c
-libebackend/e-data-factory.c
-libebackend/e-server-side-source.c
-libebackend/e-source-registry-server.c
-libebackend/e-subprocess-factory.c
-libebackend/e-user-prompter-server.c
-libedataserver/e-categories.c
-libedataserver/e-client.c
-libedataserver/e-source.c
-libedataserver/e-source-credentials-provider-impl.c
-libedataserver/e-source-credentials-provider-impl-google.c
-libedataserver/e-source-credentials-provider-impl-password.c
-libedataserver/e-source-mail-signature.c
-libedataserver/e-source-proxy.c
-libedataserver/e-source-registry.c
-libedataserver/e-source-webdav.c
-libedataserver/e-time-utils.c
-libedataserver/e-webdav-discover.c
-libedataserverui/e-credentials-prompter.c
-libedataserverui/e-credentials-prompter-impl-google.c
-libedataserverui/e-credentials-prompter-impl-password.c
-libedataserverui/e-trust-prompt.c
-libedataserverui/e-webdav-discover-widget.c
-modules/gnome-online-accounts/e-goa-password-based.c
-modules/gnome-online-accounts/goaewsclient.c
-modules/gnome-online-accounts/module-gnome-online-accounts.c
-modules/google-backend/module-google-backend.c
-modules/trust-prompt/module-trust-prompt.c
-modules/trust-prompt/trust-prompt-gtk.c
-[type: gettext/xml]modules/ubuntu-online-accounts/calendar.service-type.in.in
-[type: gettext/xml]modules/ubuntu-online-accounts/contacts.service-type.in.in
-modules/ubuntu-online-accounts/e-signon-session-password.c
-modules/ubuntu-online-accounts/evolution-data-server-uoa.desktop.in.in
-[type: gettext/xml]modules/ubuntu-online-accounts/google-calendar.service.in.in
-[type: gettext/xml]modules/ubuntu-online-accounts/google-contacts.service.in.in
-[type: gettext/xml]modules/ubuntu-online-accounts/google-gmail.service.in.in
-[type: gettext/xml]modules/ubuntu-online-accounts/mail.service-type.in.in
-modules/ubuntu-online-accounts/module-ubuntu-online-accounts.c
-modules/ubuntu-online-accounts/uoa-utils.c
-[type: gettext/xml]modules/ubuntu-online-accounts/windows-live-mail.service.in.in
-[type: gettext/xml]modules/ubuntu-online-accounts/yahoo-calendar.service.in.in
-[type: gettext/xml]modules/ubuntu-online-accounts/yahoo-mail.service.in.in
-modules/yahoo-backend/module-yahoo-backend.c
-services/evolution-addressbook-factory/evolution-addressbook-factory.c
-services/evolution-calendar-factory/evolution-calendar-factory.c
-[type: gettext/ini]services/evolution-source-registry/builtin/birthdays.source.in
-[type: gettext/ini]services/evolution-source-registry/builtin/caldav-stub.source.in
-[type: gettext/ini]services/evolution-source-registry/builtin/contacts-stub.source.in
-[type: gettext/ini]services/evolution-source-registry/builtin/google-stub.source.in
-[type: gettext/ini]services/evolution-source-registry/builtin/ldap-stub.source.in
-[type: gettext/ini]services/evolution-source-registry/builtin/local.source.in
-[type: gettext/ini]services/evolution-source-registry/builtin/local-stub.source.in
-[type: gettext/ini]services/evolution-source-registry/builtin/sendmail.source.in
-[type: gettext/ini]services/evolution-source-registry/builtin/system-address-book.source.in
-[type: gettext/ini]services/evolution-source-registry/builtin/system-calendar.source.in
-[type: gettext/ini]services/evolution-source-registry/builtin/system-memo-list.source.in
-[type: gettext/ini]services/evolution-source-registry/builtin/system-task-list.source.in
-[type: gettext/ini]services/evolution-source-registry/builtin/vfolder.source.in
-[type: gettext/ini]services/evolution-source-registry/builtin/weather-stub.source.in
-[type: gettext/ini]services/evolution-source-registry/builtin/webcal-stub.source.in
-[type: gettext/ini]services/evolution-source-registry/builtin/webdav-stub.source.in
-services/evolution-source-registry/evolution-source-registry.c
-services/evolution-user-prompter/evolution-user-prompter.c
-services/evolution-user-prompter/prompt-user-gtk.c
-tools/addressbook-export/addressbook-export.c
+src/libebackend/e-backend.c
+src/libebackend/e-collection-backend.c
+src/libebackend/e-data-factory.c
+src/libebackend/e-server-side-source.c
+src/libebackend/e-source-registry-server.c
+src/libebackend/e-subprocess-factory.c
+src/libebackend/e-user-prompter-server.c
+src/libedataserver/e-categories.c
+src/libedataserver/e-client.c
+src/libedataserver/e-source.c
+src/libedataserver/e-source-credentials-provider-impl.c
+src/libedataserver/e-source-credentials-provider-impl-google.c
+src/libedataserver/e-source-credentials-provider-impl-password.c
+src/libedataserver/e-source-mail-signature.c
+src/libedataserver/e-source-proxy.c
+src/libedataserver/e-source-registry.c
+src/libedataserver/e-source-webdav.c
+src/libedataserver/e-time-utils.c
+src/libedataserver/e-webdav-discover.c
+src/libedataserverui/e-credentials-prompter.c
+src/libedataserverui/e-credentials-prompter-impl-google.c
+src/libedataserverui/e-credentials-prompter-impl-password.c
+src/libedataserverui/e-trust-prompt.c
+src/libedataserverui/e-webdav-discover-widget.c
+src/modules/gnome-online-accounts/e-goa-password-based.c
+src/modules/gnome-online-accounts/goaewsclient.c
+src/modules/gnome-online-accounts/module-gnome-online-accounts.c
+src/modules/google-backend/module-google-backend.c
+src/modules/trust-prompt/module-trust-prompt.c
+src/modules/trust-prompt/trust-prompt-gtk.c
+[type: gettext/xml]src/modules/ubuntu-online-accounts/calendar.service-type.in.in
+[type: gettext/xml]src/modules/ubuntu-online-accounts/contacts.service-type.in.in
+src/modules/ubuntu-online-accounts/e-signon-session-password.c
+src/modules/ubuntu-online-accounts/evolution-data-server-uoa.desktop.in.in
+[type: gettext/xml]src/modules/ubuntu-online-accounts/google-calendar.service.in.in
+[type: gettext/xml]src/modules/ubuntu-online-accounts/google-contacts.service.in.in
+[type: gettext/xml]src/modules/ubuntu-online-accounts/google-gmail.service.in.in
+[type: gettext/xml]src/modules/ubuntu-online-accounts/mail.service-type.in.in
+src/modules/ubuntu-online-accounts/module-ubuntu-online-accounts.c
+src/modules/ubuntu-online-accounts/uoa-utils.c
+[type: gettext/xml]src/modules/ubuntu-online-accounts/windows-live-mail.service.in.in
+[type: gettext/xml]src/modules/ubuntu-online-accounts/yahoo-calendar.service.in.in
+[type: gettext/xml]src/modules/ubuntu-online-accounts/yahoo-mail.service.in.in
+src/modules/yahoo-backend/module-yahoo-backend.c
+src/services/evolution-addressbook-factory/evolution-addressbook-factory.c
+src/services/evolution-calendar-factory/evolution-calendar-factory.c
+[type: gettext/ini]src/services/evolution-source-registry/builtin/birthdays.source.in
+[type: gettext/ini]src/services/evolution-source-registry/builtin/caldav-stub.source.in
+[type: gettext/ini]src/services/evolution-source-registry/builtin/contacts-stub.source.in
+[type: gettext/ini]src/services/evolution-source-registry/builtin/google-stub.source.in
+[type: gettext/ini]src/services/evolution-source-registry/builtin/ldap-stub.source.in
+[type: gettext/ini]src/services/evolution-source-registry/builtin/local.source.in
+[type: gettext/ini]src/services/evolution-source-registry/builtin/local-stub.source.in
+[type: gettext/ini]src/services/evolution-source-registry/builtin/sendmail.source.in
+[type: gettext/ini]src/services/evolution-source-registry/builtin/system-address-book.source.in
+[type: gettext/ini]src/services/evolution-source-registry/builtin/system-calendar.source.in
+[type: gettext/ini]src/services/evolution-source-registry/builtin/system-memo-list.source.in
+[type: gettext/ini]src/services/evolution-source-registry/builtin/system-task-list.source.in
+[type: gettext/ini]src/services/evolution-source-registry/builtin/vfolder.source.in
+[type: gettext/ini]src/services/evolution-source-registry/builtin/weather-stub.source.in
+[type: gettext/ini]src/services/evolution-source-registry/builtin/webcal-stub.source.in
+[type: gettext/ini]src/services/evolution-source-registry/builtin/webdav-stub.source.in
+src/services/evolution-source-registry/evolution-source-registry.c
+src/services/evolution-user-prompter/evolution-user-prompter.c
+src/services/evolution-user-prompter/prompt-user-gtk.c
+src/tools/addressbook-export/addressbook-export.c
diff --git a/po/POTFILES.skip b/po/POTFILES.skip
index fe29d74..1513d9f 100644
--- a/po/POTFILES.skip
+++ b/po/POTFILES.skip
@@ -1,15 +1,17 @@
 build/
-camel/camel-news-address.c
-camel/camel-process.c
-camel/providers/nntp/camel-nntp-auth.c
-camel/providers/nntp/camel-nntp-grouplist.c
-camel/providers/nntp/camel-nntp-newsrc.c
-camel/providers/nntp/camel-nntp-utils.c
-camel/providers/nntp/test-newsrc.c
-examples/cursor/cursor-example.ui
-examples/cursor/cursor-search.ui
-examples/cursor/cursor-slot.ui
-modules/ubuntu-online-accounts/evolution-data-server-uoa.desktop.in
-modules/ubuntu-online-accounts/google-contacts.service.in
-modules/ubuntu-online-accounts/google-gmail.service.in
-servers/exchange/lib/e2k-user-dialog.c
+.build/
+_build/
+src/camel/camel-news-address.c
+src/camel/camel-process.c
+src/camel/providers/nntp/camel-nntp-auth.c
+src/camel/providers/nntp/camel-nntp-grouplist.c
+src/camel/providers/nntp/camel-nntp-newsrc.c
+src/camel/providers/nntp/camel-nntp-utils.c
+src/camel/providers/nntp/test-newsrc.c
+src/examples/cursor/cursor-example.ui
+src/examples/cursor/cursor-search.ui
+src/examples/cursor/cursor-slot.ui
+src/modules/ubuntu-online-accounts/evolution-data-server-uoa.desktop.in
+src/modules/ubuntu-online-accounts/google-contacts.service.in
+src/modules/ubuntu-online-accounts/google-gmail.service.in
+src/servers/exchange/lib/e2k-user-dialog.c
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
new file mode 100644
index 0000000..5bb6e9d
--- /dev/null
+++ b/src/CMakeLists.txt
@@ -0,0 +1,21 @@
+add_subdirectory(addressbook)
+add_subdirectory(calendar)
+add_subdirectory(camel)
+add_subdirectory(libebackend)
+add_subdirectory(libedataserver)
+add_subdirectory(modules)
+add_subdirectory(private)
+add_subdirectory(services)
+add_subdirectory(tools)
+
+if(HAVE_GTK)
+       add_subdirectory(libedataserverui)
+endif(HAVE_GTK)
+
+if(ENABLE_EXAMPLES)
+       add_subdirectory(examples)
+endif(ENABLE_EXAMPLES)
+
+if(ENABLE_VALA_BINDINGS)
+       add_subdirectory(vala)
+endif(ENABLE_VALA_BINDINGS)
diff --git a/addressbook/CMakeLists.txt b/src/addressbook/CMakeLists.txt
similarity index 100%
rename from addressbook/CMakeLists.txt
rename to src/addressbook/CMakeLists.txt
diff --git a/addressbook/backends/CMakeLists.txt b/src/addressbook/backends/CMakeLists.txt
similarity index 100%
rename from addressbook/backends/CMakeLists.txt
rename to src/addressbook/backends/CMakeLists.txt
diff --git a/src/addressbook/backends/file/CMakeLists.txt b/src/addressbook/backends/file/CMakeLists.txt
new file mode 100644
index 0000000..adcea66
--- /dev/null
+++ b/src/addressbook/backends/file/CMakeLists.txt
@@ -0,0 +1,58 @@
+set(DEPENDENCIES
+       ebackend
+       ebook
+       ebook-contacts
+       edataserver
+       edata-book
+)
+
+set(SOURCES
+       e-book-backend-file.c
+       e-book-backend-file.h
+       e-book-backend-file-factory.c
+)
+
+if(HAVE_LIBDB)
+       list(APPEND SOURCES
+               e-book-backend-file-migrate-bdb.c
+               e-book-backend-file-migrate-bdb.h
+       )
+endif(HAVE_LIBDB)
+
+add_library(ebookbackendfile MODULE
+       ${SOURCES}
+)
+
+add_dependencies(ebookbackendfile
+       ${DEPENDENCIES}
+)
+
+target_compile_definitions(ebookbackendfile PRIVATE
+       -DG_LOG_DOMAIN=\"e-book-backend-file\"
+       -DBACKENDDIR=\"${ebook_backenddir}\"
+)
+
+target_compile_options(ebookbackendfile PUBLIC
+       ${ADDRESSBOOK_CFLAGS}
+       ${LIBDB_CFLAGS}
+)
+
+target_include_directories(ebookbackendfile PUBLIC
+       ${CMAKE_BINARY_DIR}
+       ${CMAKE_BINARY_DIR}/src
+       ${CMAKE_SOURCE_DIR}/src
+       ${CMAKE_BINARY_DIR}/src/addressbook
+       ${CMAKE_SOURCE_DIR}/src/addressbook
+       ${ADDRESSBOOK_INCLUDE_DIRS}
+       ${LIBDB_INCLUDE_DIRS}
+)
+
+target_link_libraries(ebookbackendfile
+       ${DEPENDENCIES}
+       ${ADDRESSBOOK_LDFLAGS}
+       ${LIBDB_LIBS}
+)
+
+install(TARGETS ebookbackendfile
+       DESTINATION ${ebook_backenddir}
+)
diff --git a/addressbook/backends/file/e-book-backend-file-factory.c 
b/src/addressbook/backends/file/e-book-backend-file-factory.c
similarity index 100%
rename from addressbook/backends/file/e-book-backend-file-factory.c
rename to src/addressbook/backends/file/e-book-backend-file-factory.c
diff --git a/addressbook/backends/file/e-book-backend-file-migrate-bdb.c 
b/src/addressbook/backends/file/e-book-backend-file-migrate-bdb.c
similarity index 100%
rename from addressbook/backends/file/e-book-backend-file-migrate-bdb.c
rename to src/addressbook/backends/file/e-book-backend-file-migrate-bdb.c
diff --git a/addressbook/backends/file/e-book-backend-file-migrate-bdb.h 
b/src/addressbook/backends/file/e-book-backend-file-migrate-bdb.h
similarity index 100%
rename from addressbook/backends/file/e-book-backend-file-migrate-bdb.h
rename to src/addressbook/backends/file/e-book-backend-file-migrate-bdb.h
diff --git a/addressbook/backends/file/e-book-backend-file.c 
b/src/addressbook/backends/file/e-book-backend-file.c
similarity index 100%
rename from addressbook/backends/file/e-book-backend-file.c
rename to src/addressbook/backends/file/e-book-backend-file.c
diff --git a/addressbook/backends/file/e-book-backend-file.h 
b/src/addressbook/backends/file/e-book-backend-file.h
similarity index 100%
rename from addressbook/backends/file/e-book-backend-file.h
rename to src/addressbook/backends/file/e-book-backend-file.h
diff --git a/src/addressbook/backends/google/CMakeLists.txt b/src/addressbook/backends/google/CMakeLists.txt
new file mode 100644
index 0000000..e4d930d
--- /dev/null
+++ b/src/addressbook/backends/google/CMakeLists.txt
@@ -0,0 +1,102 @@
+set(DEPENDENCIES
+       ebackend
+       ebook
+       ebook-contacts
+       edataserver
+       edata-book
+)
+
+add_library(ebookbackendgoogle MODULE
+       e-book-backend-google-factory.c
+       e-book-backend-google.c
+       e-book-backend-google.h
+       e-book-google-utils.c
+       e-book-google-utils.h
+       e-gdata-oauth2-authorizer.c
+       e-gdata-oauth2-authorizer.h
+)
+
+add_dependencies(ebookbackendgoogle
+       ${DEPENDENCIES}
+)
+
+target_compile_definitions(ebookbackendgoogle PRIVATE
+       -DG_LOG_DOMAIN=\"e-book-backend-google\"
+       -DBACKENDDIR=\"${ebook_backenddir}\"
+)
+
+target_compile_options(ebookbackendgoogle PUBLIC
+       ${ADDRESSBOOK_CFLAGS}
+       ${LIBGDATA_CFLAGS}
+)
+
+target_include_directories(ebookbackendgoogle PUBLIC
+       ${CMAKE_BINARY_DIR}
+       ${CMAKE_BINARY_DIR}/src
+       ${CMAKE_SOURCE_DIR}/src
+       ${CMAKE_BINARY_DIR}/src/addressbook
+       ${CMAKE_SOURCE_DIR}/src/addressbook
+       ${ADDRESSBOOK_INCLUDE_DIRS}
+       ${LIBGDATA_INCLUDE_DIRS}
+)
+
+target_link_libraries(ebookbackendgoogle
+       ${DEPENDENCIES}
+       ${ADDRESSBOOK_LDFLAGS}
+       ${LIBGDATA_LDFLAGS}
+)
+
+install(TARGETS ebookbackendgoogle
+       DESTINATION ${ebook_backenddir}
+)
+
+# Private utility library.
+# This is split out to allow it to be unit tested.
+
+set(SOURCES
+       e-book-google-utils.c
+       e-book-google-utils.h
+)
+
+add_library(ebook-google-utils STATIC
+       ${SOURCES}
+)
+
+add_dependencies(ebook-google-utils
+       ebackend
+       ebook
+       ebook-contacts
+       edataserver
+       edata-book
+)
+
+target_compile_definitions(ebook-google-utils PRIVATE
+       -DG_LOG_DOMAIN=\"e-book-google-utils\"
+)
+
+target_compile_options(ebook-google-utils PUBLIC
+       ${ADDRESSBOOK_CFLAGS}
+       ${LIBGDATA_CFLAGS}
+)
+
+target_include_directories(ebook-google-utils PUBLIC
+       ${CMAKE_BINARY_DIR}
+       ${CMAKE_BINARY_DIR}/src
+       ${CMAKE_SOURCE_DIR}/src
+       ${CMAKE_BINARY_DIR}/src/addressbook
+       ${CMAKE_SOURCE_DIR}/src/addressbook
+       ${ADDRESSBOOK_INCLUDE_DIRS}
+       ${LIBGDATA_INCLUDE_DIRS}
+)
+
+target_link_libraries(ebook-google-utils
+       ebackend
+       ebook
+       ebook-contacts
+       edataserver
+       edata-book
+       ${ADDRESSBOOK_LDFLAGS}
+       ${LIBGDATA_LDFLAGS}
+)
+
+add_subdirectory(tests)
diff --git a/addressbook/backends/google/e-book-backend-google-factory.c 
b/src/addressbook/backends/google/e-book-backend-google-factory.c
similarity index 100%
rename from addressbook/backends/google/e-book-backend-google-factory.c
rename to src/addressbook/backends/google/e-book-backend-google-factory.c
diff --git a/addressbook/backends/google/e-book-backend-google.c 
b/src/addressbook/backends/google/e-book-backend-google.c
similarity index 100%
rename from addressbook/backends/google/e-book-backend-google.c
rename to src/addressbook/backends/google/e-book-backend-google.c
diff --git a/addressbook/backends/google/e-book-backend-google.h 
b/src/addressbook/backends/google/e-book-backend-google.h
similarity index 100%
rename from addressbook/backends/google/e-book-backend-google.h
rename to src/addressbook/backends/google/e-book-backend-google.h
diff --git a/addressbook/backends/google/e-book-google-utils.c 
b/src/addressbook/backends/google/e-book-google-utils.c
similarity index 100%
rename from addressbook/backends/google/e-book-google-utils.c
rename to src/addressbook/backends/google/e-book-google-utils.c
diff --git a/addressbook/backends/google/e-book-google-utils.h 
b/src/addressbook/backends/google/e-book-google-utils.h
similarity index 100%
rename from addressbook/backends/google/e-book-google-utils.h
rename to src/addressbook/backends/google/e-book-google-utils.h
diff --git a/addressbook/backends/google/e-gdata-oauth2-authorizer.c 
b/src/addressbook/backends/google/e-gdata-oauth2-authorizer.c
similarity index 100%
rename from addressbook/backends/google/e-gdata-oauth2-authorizer.c
rename to src/addressbook/backends/google/e-gdata-oauth2-authorizer.c
diff --git a/addressbook/backends/google/e-gdata-oauth2-authorizer.h 
b/src/addressbook/backends/google/e-gdata-oauth2-authorizer.h
similarity index 100%
rename from addressbook/backends/google/e-gdata-oauth2-authorizer.h
rename to src/addressbook/backends/google/e-gdata-oauth2-authorizer.h
diff --git a/src/addressbook/backends/google/tests/CMakeLists.txt 
b/src/addressbook/backends/google/tests/CMakeLists.txt
new file mode 100644
index 0000000..5210967
--- /dev/null
+++ b/src/addressbook/backends/google/tests/CMakeLists.txt
@@ -0,0 +1,39 @@
+set(DEPENDENCIES
+       ebook-google-utils
+)
+
+add_executable(ebookbackendgoogle-phonenumber
+       EXCLUDE_FROM_ALL
+       phone-numbers.c
+)
+
+add_dependencies(ebookbackendgoogle-phonenumber
+       ${DEPENDENCIES}
+)
+
+target_compile_definitions(ebookbackendgoogle-phonenumber PRIVATE
+       -DG_LOG_DOMAIN=\"ebookbackendgoogle-phonenumber\"
+)
+
+target_compile_options(ebookbackendgoogle-phonenumber PUBLIC
+       ${ADDRESSBOOK_CFLAGS}
+       ${LIBGDATA_CFLAGS}
+)
+
+target_include_directories(ebookbackendgoogle-phonenumber PUBLIC
+       ${CMAKE_BINARY_DIR}
+       ${CMAKE_BINARY_DIR}/src
+       ${CMAKE_SOURCE_DIR}/src
+       ${CMAKE_SOURCE_DIR}/src/addressbook/backends/google
+       ${CMAKE_CURRENT_SOURCE_DIR}
+       ${ADDRESSBOOK_INCLUDE_DIRS}
+       ${LIBGDATA_INCLUDE_DIRS}
+)
+
+target_link_libraries(ebookbackendgoogle-phonenumber
+       ${DEPENDENCIES}
+       ${ADDRESSBOOK_LDFLAGS}
+       ${LIBGDATA_LDFLAGS}
+)
+
+add_check_test(ebookbackendgoogle-phonenumber)
diff --git a/addressbook/backends/google/tests/phone-numbers.c 
b/src/addressbook/backends/google/tests/phone-numbers.c
similarity index 100%
rename from addressbook/backends/google/tests/phone-numbers.c
rename to src/addressbook/backends/google/tests/phone-numbers.c
diff --git a/src/addressbook/backends/ldap/CMakeLists.txt b/src/addressbook/backends/ldap/CMakeLists.txt
new file mode 100644
index 0000000..9c8747b
--- /dev/null
+++ b/src/addressbook/backends/ldap/CMakeLists.txt
@@ -0,0 +1,51 @@
+set(DEPENDENCIES
+       ebackend
+       ebook
+       ebook-contacts
+       edataserver
+       edata-book
+)
+
+add_library(ebookbackendldap MODULE
+       e-book-backend-ldap.c
+       e-book-backend-ldap.h
+       e-book-backend-ldap-factory.c
+)
+
+add_dependencies(ebookbackendldap
+       ${DEPENDENCIES}
+)
+
+target_compile_definitions(ebookbackendldap PRIVATE
+       -DG_LOG_DOMAIN=\"e-book-backend-ldap\"
+       -DBACKENDDIR=\"${ebook_backenddir}\"
+)
+
+target_compile_options(ebookbackendldap PUBLIC
+       ${ADDRESSBOOK_CFLAGS}
+       ${LDAP_CFLAGS}
+)
+
+target_include_directories(ebookbackendldap PUBLIC
+       ${CMAKE_BINARY_DIR}
+       ${CMAKE_BINARY_DIR}/src
+       ${CMAKE_SOURCE_DIR}/src
+       ${CMAKE_BINARY_DIR}/src/addressbook
+       ${CMAKE_SOURCE_DIR}/src/addressbook
+       ${ADDRESSBOOK_INCLUDE_DIRS}
+       ${LDAP_INCLUDE_DIRS}
+)
+
+target_link_libraries(ebookbackendldap
+       ${DEPENDENCIES}
+       ${ADDRESSBOOK_LDFLAGS}
+       ${LDAP_LIBS}
+)
+
+install(TARGETS ebookbackendldap
+       DESTINATION ${ebook_backenddir}
+)
+
+install(FILES evolutionperson.schema
+       DESTINATION ${privdatadir}
+)
diff --git a/addressbook/backends/ldap/e-book-backend-ldap-factory.c 
b/src/addressbook/backends/ldap/e-book-backend-ldap-factory.c
similarity index 100%
rename from addressbook/backends/ldap/e-book-backend-ldap-factory.c
rename to src/addressbook/backends/ldap/e-book-backend-ldap-factory.c
diff --git a/addressbook/backends/ldap/e-book-backend-ldap.c 
b/src/addressbook/backends/ldap/e-book-backend-ldap.c
similarity index 100%
rename from addressbook/backends/ldap/e-book-backend-ldap.c
rename to src/addressbook/backends/ldap/e-book-backend-ldap.c
diff --git a/addressbook/backends/ldap/e-book-backend-ldap.h 
b/src/addressbook/backends/ldap/e-book-backend-ldap.h
similarity index 100%
rename from addressbook/backends/ldap/e-book-backend-ldap.h
rename to src/addressbook/backends/ldap/e-book-backend-ldap.h
diff --git a/addressbook/backends/ldap/evolutionperson.schema 
b/src/addressbook/backends/ldap/evolutionperson.schema
similarity index 100%
rename from addressbook/backends/ldap/evolutionperson.schema
rename to src/addressbook/backends/ldap/evolutionperson.schema
diff --git a/addressbook/backends/ldap/openldap-extract.h b/src/addressbook/backends/ldap/openldap-extract.h
similarity index 100%
rename from addressbook/backends/ldap/openldap-extract.h
rename to src/addressbook/backends/ldap/openldap-extract.h
diff --git a/src/addressbook/backends/webdav/CMakeLists.txt b/src/addressbook/backends/webdav/CMakeLists.txt
new file mode 100644
index 0000000..2ad262d
--- /dev/null
+++ b/src/addressbook/backends/webdav/CMakeLists.txt
@@ -0,0 +1,44 @@
+set(DEPENDENCIES
+       ebackend
+       ebook
+       ebook-contacts
+       edataserver
+       edata-book
+)
+
+add_library(ebookbackendwebdav MODULE
+       e-book-backend-webdav.c
+       e-book-backend-webdav.h
+       e-book-backend-webdav-factory.c
+)
+
+add_dependencies(ebookbackendwebdav
+       ${DEPENDENCIES}
+)
+
+target_compile_definitions(ebookbackendwebdav PRIVATE
+       -DG_LOG_DOMAIN=\"e-book-backend-webdav\"
+       -DBACKENDDIR=\"${ebook_backenddir}\"
+)
+
+target_compile_options(ebookbackendwebdav PUBLIC
+       ${ADDRESSBOOK_CFLAGS}
+)
+
+target_include_directories(ebookbackendwebdav PUBLIC
+       ${CMAKE_BINARY_DIR}
+       ${CMAKE_BINARY_DIR}/src
+       ${CMAKE_SOURCE_DIR}/src
+       ${CMAKE_BINARY_DIR}/src/addressbook
+       ${CMAKE_SOURCE_DIR}/src/addressbook
+       ${ADDRESSBOOK_INCLUDE_DIRS}
+)
+
+target_link_libraries(ebookbackendwebdav
+       ${DEPENDENCIES}
+       ${ADDRESSBOOK_LDFLAGS}
+)
+
+install(TARGETS ebookbackendwebdav
+       DESTINATION ${ebook_backenddir}
+)
diff --git a/addressbook/backends/webdav/e-book-backend-webdav-factory.c 
b/src/addressbook/backends/webdav/e-book-backend-webdav-factory.c
similarity index 100%
rename from addressbook/backends/webdav/e-book-backend-webdav-factory.c
rename to src/addressbook/backends/webdav/e-book-backend-webdav-factory.c
diff --git a/addressbook/backends/webdav/e-book-backend-webdav.c 
b/src/addressbook/backends/webdav/e-book-backend-webdav.c
similarity index 100%
rename from addressbook/backends/webdav/e-book-backend-webdav.c
rename to src/addressbook/backends/webdav/e-book-backend-webdav.c
diff --git a/addressbook/backends/webdav/e-book-backend-webdav.h 
b/src/addressbook/backends/webdav/e-book-backend-webdav.h
similarity index 100%
rename from addressbook/backends/webdav/e-book-backend-webdav.h
rename to src/addressbook/backends/webdav/e-book-backend-webdav.h
diff --git a/addressbook/docs/rfc2047.txt b/src/addressbook/docs/rfc2047.txt
similarity index 100%
rename from addressbook/docs/rfc2047.txt
rename to src/addressbook/docs/rfc2047.txt
diff --git a/addressbook/docs/rfc2425.txt b/src/addressbook/docs/rfc2425.txt
similarity index 100%
rename from addressbook/docs/rfc2425.txt
rename to src/addressbook/docs/rfc2425.txt
diff --git a/addressbook/docs/rfc2426.txt b/src/addressbook/docs/rfc2426.txt
similarity index 100%
rename from addressbook/docs/rfc2426.txt
rename to src/addressbook/docs/rfc2426.txt
diff --git a/addressbook/docs/rfc2739.txt b/src/addressbook/docs/rfc2739.txt
similarity index 100%
rename from addressbook/docs/rfc2739.txt
rename to src/addressbook/docs/rfc2739.txt
diff --git a/addressbook/docs/vcard-21.txt b/src/addressbook/docs/vcard-21.txt
similarity index 100%
rename from addressbook/docs/vcard-21.txt
rename to src/addressbook/docs/vcard-21.txt
diff --git a/src/addressbook/libebook-contacts/CMakeLists.txt 
b/src/addressbook/libebook-contacts/CMakeLists.txt
new file mode 100644
index 0000000..3d8ace9
--- /dev/null
+++ b/src/addressbook/libebook-contacts/CMakeLists.txt
@@ -0,0 +1,166 @@
+glib_mkenums(e-book-contacts-enumtypes e-book-contacts-types.h E_BOOK_CONTACTS_ENUMTYPES_H)
+
+add_pkgconfig_file(libebook-contacts.pc.in libebook-contacts-${API_VERSION}.pc)
+
+add_custom_command(
+       OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/e-name-western-tables.h
+       COMMAND ${PYTHON} ${CMAKE_CURRENT_SOURCE_DIR}/gen-western-table.py 
<${CMAKE_CURRENT_SOURCE_DIR}/e-name-western-tables.h.in >${CMAKE_CURRENT_BINARY_DIR}/e-name-western-tables.h
+       DEPENDS gen-western-table.py e-name-western-tables.h.in
+)
+
+set(DEPENDENCIES
+       camel
+       edataserver
+)
+
+set(SOURCES
+       e-address-western.c
+       e-book-contacts-types.c
+       e-book-query.c
+       e-contact.c
+       e-name-western.c
+       e-phone-number.c
+       e-phone-number-private.h
+       e-source-backend-summary-setup.c
+       e-vcard.c
+       ${CMAKE_CURRENT_BINARY_DIR}/e-book-contacts-enumtypes.c
+       ${CMAKE_CURRENT_BINARY_DIR}/e-name-western-tables.h
+)
+
+set(HEADERS
+       libebook-contacts.h
+       e-address-western.h
+       e-book-contacts-types.h
+       e-book-query.h
+       e-contact.h
+       e-name-western.h
+       e-phone-number.h
+       e-source-backend-summary-setup.h
+       e-vcard.h
+       ${CMAKE_CURRENT_BINARY_DIR}/e-book-contacts-enumtypes.h
+)
+
+if(ENABLE_PHONENUMBER)
+       # We put the C++ code into a separate static library, so that we can use
+       # the C linker for libebook-contacts. This avoids that libebook-contacts
+       # depends on the C++ Standard Library, even if phone number support is
+       # disabled.
+
+       add_library(ephonenumber-private STATIC
+               e-alphabet-index-private.cpp
+               e-transliterator-private.cpp
+       )
+
+       target_compile_definitions(ephonenumber-private PRIVATE
+               -DG_LOG_DOMAIN=\"e-phone-number\"
+               -DLIBEBOOK_CONTACTS_COMPILATION
+       )
+
+       target_compile_options(ephonenumber-private PUBLIC
+               ${PHONENUMBER_CXXFLAGS}
+       )
+
+       target_include_directories(ephonenumber-private PUBLIC
+               ${CMAKE_BINARY_DIR}
+               ${CMAKE_BINARY_DIR}/src
+               ${CMAKE_CURRENT_BINARY_DIR}
+               ${PHONENUMBER_INCLUDE_DIRS}
+       )
+
+       target_link_libraries(ephonenumber-private
+               ${PHONENUMBER_LDFLAGS}
+       )
+
+       list(APPEND DEPENDENCIES
+               ephonenumber-private
+       )
+endif(ENABLE_PHONENUMBER)
+
+add_library(ebook-contacts SHARED
+       ${SOURCES}
+       ${HEADERS}
+)
+
+add_dependencies(ebook-contacts
+       ${DEPENDENCIES}
+)
+
+set_target_properties(ebook-contacts PROPERTIES
+       VERSION "${LIBEBOOK_CONTACTS_CURRENT}.${LIBEBOOK_CONTACTS_REVISION}.${LIBEBOOK_CONTACTS_AGE}"
+       SOVERSION ${LIBEBOOK_CONTACTS_CURRENT}
+       OUTPUT_NAME ebook-contacts-${API_VERSION}
+)
+
+target_compile_definitions(ebook-contacts PRIVATE
+       -DG_LOG_DOMAIN=\"libebook-contacts\"
+       -DLOCALEDIR=\"${LOCALE_INSTALL_DIR}\"
+       -DLIBEBOOK_CONTACTS_COMPILATION
+)
+
+target_compile_options(ebook-contacts PUBLIC
+       ${ADDRESSBOOK_CFLAGS}
+)
+
+target_include_directories(ebook-contacts PUBLIC
+       ${CMAKE_BINARY_DIR}
+       ${CMAKE_BINARY_DIR}/src
+       ${CMAKE_BINARY_DIR}/src/addressbook
+       ${CMAKE_BINARY_DIR}/src/addressbook/libegdbus
+       ${CMAKE_BINARY_DIR}/src/private
+       ${CMAKE_SOURCE_DIR}/src
+       ${CMAKE_SOURCE_DIR}/src/private
+       ${CMAKE_SOURCE_DIR}/src/addressbook
+       ${CMAKE_SOURCE_DIR}/src/addressbook/libegdbus
+       ${CMAKE_CURRENT_BINARY_DIR}
+       ${ADDRESSBOOK_INCLUDE_DIRS}
+)
+
+target_link_libraries(ebook-contacts
+       ${DEPENDENCIES}
+       ${ADDRESSBOOK_LDFLAGS}
+)
+
+install(TARGETS ebook-contacts
+       DESTINATION ${LIB_INSTALL_DIR}
+)
+
+install(FILES ${HEADERS}
+       DESTINATION ${privincludedir}/libebook-contacts
+)
+
+set(gir_sources ${SOURCES} ${HEADERS})
+set(gir_identifies_prefixes E)
+set(gir_includes GObject-2.0 GLib-2.0 Gio-2.0 libxml2-2.0)
+set(gir_cflags
+       ${CAMEL_CFLAGS} ${DATA_SERVER_CFLAGS}
+       -DLIBEBOOK_CONTACTS_COMPILATION
+       -I${CMAKE_BINARY_DIR}/src/addressbook
+       -I${CMAKE_BINARY_DIR}/src/addressbook/libebook-contacts
+       -I${CMAKE_SOURCE_DIR}/src/addressbook
+       -I${CMAKE_SOURCE_DIR}/src/addressbook/libebook-contacts
+)
+set(gir_libdirs
+       ${CMAKE_BINARY_DIR}/src/private
+       ${CMAKE_BINARY_DIR}/src/libedataserver
+)
+set(gir_libs
+       ebook-contacts
+       edataserver
+)
+set(gir_deps
+       ${CMAKE_BINARY_DIR}/src/libedataserver/EDataServer-${API_VERSION}.gir
+)
+
+gir_add_introspection_simple(
+       EBookContacts
+       libebook-contacts
+       ${API_VERSION}
+       "libebook-contacts/libebook-contacts.h"
+       gir_identifies_prefixes
+       gir_includes
+       gir_cflags
+       gir_libdirs
+       gir_libs
+       gir_deps
+       gir_sources
+)
diff --git a/addressbook/libebook-contacts/e-address-western.c 
b/src/addressbook/libebook-contacts/e-address-western.c
similarity index 100%
rename from addressbook/libebook-contacts/e-address-western.c
rename to src/addressbook/libebook-contacts/e-address-western.c
diff --git a/addressbook/libebook-contacts/e-address-western.h 
b/src/addressbook/libebook-contacts/e-address-western.h
similarity index 100%
rename from addressbook/libebook-contacts/e-address-western.h
rename to src/addressbook/libebook-contacts/e-address-western.h
diff --git a/addressbook/libebook-contacts/e-book-contacts-types.c 
b/src/addressbook/libebook-contacts/e-book-contacts-types.c
similarity index 100%
rename from addressbook/libebook-contacts/e-book-contacts-types.c
rename to src/addressbook/libebook-contacts/e-book-contacts-types.c
diff --git a/addressbook/libebook-contacts/e-book-contacts-types.h 
b/src/addressbook/libebook-contacts/e-book-contacts-types.h
similarity index 100%
rename from addressbook/libebook-contacts/e-book-contacts-types.h
rename to src/addressbook/libebook-contacts/e-book-contacts-types.h
diff --git a/addressbook/libebook-contacts/e-book-query.c b/src/addressbook/libebook-contacts/e-book-query.c
similarity index 100%
rename from addressbook/libebook-contacts/e-book-query.c
rename to src/addressbook/libebook-contacts/e-book-query.c
diff --git a/addressbook/libebook-contacts/e-book-query.h b/src/addressbook/libebook-contacts/e-book-query.h
similarity index 100%
rename from addressbook/libebook-contacts/e-book-query.h
rename to src/addressbook/libebook-contacts/e-book-query.h
diff --git a/addressbook/libebook-contacts/e-contact.c b/src/addressbook/libebook-contacts/e-contact.c
similarity index 100%
rename from addressbook/libebook-contacts/e-contact.c
rename to src/addressbook/libebook-contacts/e-contact.c
diff --git a/addressbook/libebook-contacts/e-contact.h b/src/addressbook/libebook-contacts/e-contact.h
similarity index 100%
rename from addressbook/libebook-contacts/e-contact.h
rename to src/addressbook/libebook-contacts/e-contact.h
diff --git a/addressbook/libebook-contacts/e-name-western-tables.h.in 
b/src/addressbook/libebook-contacts/e-name-western-tables.h.in
similarity index 100%
rename from addressbook/libebook-contacts/e-name-western-tables.h.in
rename to src/addressbook/libebook-contacts/e-name-western-tables.h.in
diff --git a/addressbook/libebook-contacts/e-name-western.c 
b/src/addressbook/libebook-contacts/e-name-western.c
similarity index 100%
rename from addressbook/libebook-contacts/e-name-western.c
rename to src/addressbook/libebook-contacts/e-name-western.c
diff --git a/addressbook/libebook-contacts/e-name-western.h 
b/src/addressbook/libebook-contacts/e-name-western.h
similarity index 100%
rename from addressbook/libebook-contacts/e-name-western.h
rename to src/addressbook/libebook-contacts/e-name-western.h
diff --git a/addressbook/libebook-contacts/e-phone-number-private.cpp 
b/src/addressbook/libebook-contacts/e-phone-number-private.cpp
similarity index 100%
rename from addressbook/libebook-contacts/e-phone-number-private.cpp
rename to src/addressbook/libebook-contacts/e-phone-number-private.cpp
diff --git a/addressbook/libebook-contacts/e-phone-number-private.h 
b/src/addressbook/libebook-contacts/e-phone-number-private.h
similarity index 100%
rename from addressbook/libebook-contacts/e-phone-number-private.h
rename to src/addressbook/libebook-contacts/e-phone-number-private.h
diff --git a/addressbook/libebook-contacts/e-phone-number.c 
b/src/addressbook/libebook-contacts/e-phone-number.c
similarity index 100%
rename from addressbook/libebook-contacts/e-phone-number.c
rename to src/addressbook/libebook-contacts/e-phone-number.c
diff --git a/addressbook/libebook-contacts/e-phone-number.h 
b/src/addressbook/libebook-contacts/e-phone-number.h
similarity index 100%
rename from addressbook/libebook-contacts/e-phone-number.h
rename to src/addressbook/libebook-contacts/e-phone-number.h
diff --git a/addressbook/libebook-contacts/e-source-backend-summary-setup.c 
b/src/addressbook/libebook-contacts/e-source-backend-summary-setup.c
similarity index 100%
rename from addressbook/libebook-contacts/e-source-backend-summary-setup.c
rename to src/addressbook/libebook-contacts/e-source-backend-summary-setup.c
diff --git a/addressbook/libebook-contacts/e-source-backend-summary-setup.h 
b/src/addressbook/libebook-contacts/e-source-backend-summary-setup.h
similarity index 100%
rename from addressbook/libebook-contacts/e-source-backend-summary-setup.h
rename to src/addressbook/libebook-contacts/e-source-backend-summary-setup.h
diff --git a/addressbook/libebook-contacts/e-vcard.c b/src/addressbook/libebook-contacts/e-vcard.c
similarity index 100%
rename from addressbook/libebook-contacts/e-vcard.c
rename to src/addressbook/libebook-contacts/e-vcard.c
diff --git a/addressbook/libebook-contacts/e-vcard.h b/src/addressbook/libebook-contacts/e-vcard.h
similarity index 100%
rename from addressbook/libebook-contacts/e-vcard.h
rename to src/addressbook/libebook-contacts/e-vcard.h
diff --git a/addressbook/libebook-contacts/gen-western-table.py 
b/src/addressbook/libebook-contacts/gen-western-table.py
similarity index 100%
rename from addressbook/libebook-contacts/gen-western-table.py
rename to src/addressbook/libebook-contacts/gen-western-table.py
diff --git a/addressbook/libebook-contacts/libebook-contacts.h 
b/src/addressbook/libebook-contacts/libebook-contacts.h
similarity index 100%
rename from addressbook/libebook-contacts/libebook-contacts.h
rename to src/addressbook/libebook-contacts/libebook-contacts.h
diff --git a/addressbook/libebook-contacts/libebook-contacts.pc.in 
b/src/addressbook/libebook-contacts/libebook-contacts.pc.in
similarity index 100%
rename from addressbook/libebook-contacts/libebook-contacts.pc.in
rename to src/addressbook/libebook-contacts/libebook-contacts.pc.in
diff --git a/src/addressbook/libebook/CMakeLists.txt b/src/addressbook/libebook/CMakeLists.txt
new file mode 100644
index 0000000..c697b6f
--- /dev/null
+++ b/src/addressbook/libebook/CMakeLists.txt
@@ -0,0 +1,131 @@
+glib_mkenums(e-book-enumtypes e-book-types.h E_BOOK_ENUMTYPES_H)
+
+add_pkgconfig_file(libebook.pc.in libebook-${API_VERSION}.pc)
+
+set(DEPENDENCIES
+       camel
+       ebackend
+       ebook-contacts
+       edbus-private
+       edataserver
+       edata-book
+       egdbus-book
+)
+
+set(SOURCES
+       e-book.c
+       e-book-client.c
+       e-book-client-cursor.c
+       e-book-client-view.c
+       e-book-view-private.h
+       e-book-view.c
+       e-destination.c
+       e-error.h
+       ${CMAKE_CURRENT_BINARY_DIR}/e-book-enumtypes.c
+)
+
+set(HEADERS
+       libebook.h
+       e-book.h
+       e-book-client.h
+       e-book-client-cursor.h
+       e-book-client-view.h
+       e-book-view.h
+       e-book-types.h
+       e-destination.h
+       ${CMAKE_CURRENT_BINARY_DIR}/e-book-enumtypes.h
+)
+
+add_library(ebook SHARED
+       ${SOURCES}
+       ${HEADERS}
+)
+
+add_dependencies(ebook
+       ${DEPENDENCIES}
+)
+
+set_target_properties(ebook PROPERTIES
+       VERSION "${LIBEBOOK_CURRENT}.${LIBEBOOK_REVISION}.${LIBEBOOK_AGE}"
+       SOVERSION ${LIBEBOOK_CURRENT}
+       OUTPUT_NAME ebook-${API_VERSION}
+)
+
+target_compile_definitions(ebook PRIVATE
+       -DG_LOG_DOMAIN=\"libebook\"
+       -DLOCALEDIR=\"${LOCALE_INSTALL_DIR}\"
+       -DLIBEBOOK_COMPILATION
+)
+
+target_compile_options(ebook PUBLIC
+       ${ADDRESSBOOK_CFLAGS}
+)
+
+target_include_directories(ebook PUBLIC
+       ${CMAKE_BINARY_DIR}
+       ${CMAKE_BINARY_DIR}/src
+       ${CMAKE_BINARY_DIR}/src/addressbook
+       ${CMAKE_BINARY_DIR}/src/addressbook/libegdbus
+       ${CMAKE_BINARY_DIR}/src/private
+       ${CMAKE_SOURCE_DIR}/src
+       ${CMAKE_SOURCE_DIR}/src/private
+       ${CMAKE_SOURCE_DIR}/src/addressbook
+       ${CMAKE_SOURCE_DIR}/src/addressbook/libegdbus
+       ${CMAKE_CURRENT_BINARY_DIR}
+       ${ADDRESSBOOK_INCLUDE_DIRS}
+)
+
+target_link_libraries(ebook
+       ${DEPENDENCIES}
+       ${ADDRESSBOOK_LDFLAGS}
+)
+
+install(TARGETS ebook
+       DESTINATION ${LIB_INSTALL_DIR}
+)
+
+install(FILES ${HEADERS}
+       DESTINATION ${privincludedir}/libebook
+)
+
+set(gir_sources ${SOURCES} ${HEADERS})
+set(gir_identifies_prefixes E)
+set(gir_includes GObject-2.0 GLib-2.0 Gio-2.0 libxml2-2.0)
+set(gir_cflags
+       ${CAMEL_CFLAGS} ${DATA_SERVER_CFLAGS}
+       -DLIBEBOOK_COMPILATION
+       -I${CMAKE_BINARY_DIR}/src/addressbook
+       -I${CMAKE_BINARY_DIR}/src/addressbook/libebook
+       -I${CMAKE_SOURCE_DIR}/src/addressbook
+       -I${CMAKE_SOURCE_DIR}/src/addressbook/libebook
+)
+set(gir_libdirs
+       ${CMAKE_BINARY_DIR}/src/private
+       ${CMAKE_BINARY_DIR}/src/libedataserver
+       ${CMAKE_BINARY_DIR}/src/addressbook/libebook-contacts
+       ${CMAKE_BINARY_DIR}/src/addressbook/libedata-book
+)
+set(gir_libs
+       ebook
+       ebook-contacts
+       edata-book
+       edataserver
+)
+set(gir_deps
+       ${CMAKE_BINARY_DIR}/src/libedataserver/EDataServer-${API_VERSION}.gir
+       ${CMAKE_BINARY_DIR}/src/addressbook/libebook-contacts/EBookContacts-${API_VERSION}.gir
+)
+
+gir_add_introspection_simple(
+       EBook
+       libebook
+       ${API_VERSION}
+       "libebook/libebook.h"
+       gir_identifies_prefixes
+       gir_includes
+       gir_cflags
+       gir_libdirs
+       gir_libs
+       gir_deps
+       gir_sources
+)
diff --git a/addressbook/libebook/TODO b/src/addressbook/libebook/TODO
similarity index 100%
rename from addressbook/libebook/TODO
rename to src/addressbook/libebook/TODO
diff --git a/addressbook/libebook/e-book-client-cursor.c b/src/addressbook/libebook/e-book-client-cursor.c
similarity index 100%
rename from addressbook/libebook/e-book-client-cursor.c
rename to src/addressbook/libebook/e-book-client-cursor.c
diff --git a/addressbook/libebook/e-book-client-cursor.h b/src/addressbook/libebook/e-book-client-cursor.h
similarity index 100%
rename from addressbook/libebook/e-book-client-cursor.h
rename to src/addressbook/libebook/e-book-client-cursor.h
diff --git a/addressbook/libebook/e-book-client-view.c b/src/addressbook/libebook/e-book-client-view.c
similarity index 100%
rename from addressbook/libebook/e-book-client-view.c
rename to src/addressbook/libebook/e-book-client-view.c
diff --git a/addressbook/libebook/e-book-client-view.h b/src/addressbook/libebook/e-book-client-view.h
similarity index 100%
rename from addressbook/libebook/e-book-client-view.h
rename to src/addressbook/libebook/e-book-client-view.h
diff --git a/addressbook/libebook/e-book-client.c b/src/addressbook/libebook/e-book-client.c
similarity index 100%
rename from addressbook/libebook/e-book-client.c
rename to src/addressbook/libebook/e-book-client.c
diff --git a/addressbook/libebook/e-book-client.h b/src/addressbook/libebook/e-book-client.h
similarity index 100%
rename from addressbook/libebook/e-book-client.h
rename to src/addressbook/libebook/e-book-client.h
diff --git a/addressbook/libebook/e-book-types.h b/src/addressbook/libebook/e-book-types.h
similarity index 100%
rename from addressbook/libebook/e-book-types.h
rename to src/addressbook/libebook/e-book-types.h
diff --git a/addressbook/libebook/e-book-view-private.h b/src/addressbook/libebook/e-book-view-private.h
similarity index 100%
rename from addressbook/libebook/e-book-view-private.h
rename to src/addressbook/libebook/e-book-view-private.h
diff --git a/addressbook/libebook/e-book-view.c b/src/addressbook/libebook/e-book-view.c
similarity index 100%
rename from addressbook/libebook/e-book-view.c
rename to src/addressbook/libebook/e-book-view.c
diff --git a/addressbook/libebook/e-book-view.h b/src/addressbook/libebook/e-book-view.h
similarity index 100%
rename from addressbook/libebook/e-book-view.h
rename to src/addressbook/libebook/e-book-view.h
diff --git a/addressbook/libebook/e-book.c b/src/addressbook/libebook/e-book.c
similarity index 100%
rename from addressbook/libebook/e-book.c
rename to src/addressbook/libebook/e-book.c
diff --git a/addressbook/libebook/e-book.h b/src/addressbook/libebook/e-book.h
similarity index 100%
rename from addressbook/libebook/e-book.h
rename to src/addressbook/libebook/e-book.h
diff --git a/addressbook/libebook/e-destination.c b/src/addressbook/libebook/e-destination.c
similarity index 100%
rename from addressbook/libebook/e-destination.c
rename to src/addressbook/libebook/e-destination.c
diff --git a/addressbook/libebook/e-destination.h b/src/addressbook/libebook/e-destination.h
similarity index 100%
rename from addressbook/libebook/e-destination.h
rename to src/addressbook/libebook/e-destination.h
diff --git a/addressbook/libebook/e-error.h b/src/addressbook/libebook/e-error.h
similarity index 100%
rename from addressbook/libebook/e-error.h
rename to src/addressbook/libebook/e-error.h
diff --git a/addressbook/libebook/libebook.h b/src/addressbook/libebook/libebook.h
similarity index 100%
rename from addressbook/libebook/libebook.h
rename to src/addressbook/libebook/libebook.h
diff --git a/addressbook/libebook/libebook.pc.in b/src/addressbook/libebook/libebook.pc.in
similarity index 100%
rename from addressbook/libebook/libebook.pc.in
rename to src/addressbook/libebook/libebook.pc.in
diff --git a/src/addressbook/libedata-book/CMakeLists.txt b/src/addressbook/libedata-book/CMakeLists.txt
new file mode 100644
index 0000000..a247c7b
--- /dev/null
+++ b/src/addressbook/libedata-book/CMakeLists.txt
@@ -0,0 +1,199 @@
+add_pkgconfig_file(libedata-book.pc.in libedata-book-${API_VERSION}.pc)
+
+set(DEPENDENCIES
+       camel
+       ebackend
+       ebook-contacts
+       edbus-private
+       edataserver
+       egdbus-book
+)
+
+set(SOURCES
+       e-book-backend-factory.c
+       e-book-backend-sexp.c
+       e-book-backend-summary.c
+       e-book-backend-cache.c
+       e-book-backend-sqlitedb.c
+       e-book-backend.c
+       e-book-sqlite.c
+       e-data-book.c
+       e-data-book-cursor.c
+       e-data-book-cursor-sqlite.c
+       e-data-book-direct.c
+       e-data-book-factory.c
+       e-data-book-view.c
+       e-subprocess-book-factory.c
+       ximian-vcard.h
+)
+
+set(HEADERS
+       libedata-book.h
+       e-book-backend-factory.h
+       e-book-backend-sexp.h
+       e-book-backend-summary.h
+       e-book-backend.h
+       e-data-book-factory.h
+       e-data-book-view.h
+       e-data-book.h
+       e-data-book-cursor.h
+       e-data-book-cursor-sqlite.h
+       e-data-book-direct.h
+       e-book-backend-cache.h
+       e-book-backend-sqlitedb.h
+       e-book-sqlite.h
+       e-subprocess-book-factory.h
+)
+
+if(WITH_LIBDB)
+       list(APPEND SOURCES
+               e-book-backend-db-cache.c
+       )
+
+       list(APPEND HEADERS
+               e-book-backend-db-cache.h
+       )
+endif(WITH_LIBDB)
+
+add_library(edata-book SHARED
+       ${SOURCES}
+       ${HEADERS}
+)
+
+add_dependencies(edata-book
+       ${DEPENDENCIES}
+)
+
+set_target_properties(edata-book PROPERTIES
+       VERSION "${LIBEDATABOOK_CURRENT}.${LIBEDATABOOK_REVISION}.${LIBEDATABOOK_AGE}"
+       SOVERSION ${LIBEDATABOOK_CURRENT}
+       OUTPUT_NAME edata-book-${API_VERSION}
+)
+
+target_compile_definitions(edata-book PRIVATE
+       -DG_LOG_DOMAIN=\"libedata-book\"
+       -DBACKENDDIR=\"${ebook_backenddir}\"
+       -DSUBPROCESS_BOOK_BACKEND_PATH=\"${LIBEXEC_INSTALL_DIR}/evolution-addressbook-factory-subprocess\"
+       -DLIBEDATA_BOOK_COMPILATION
+)
+
+target_compile_options(edata-book PUBLIC
+       ${ADDRESSBOOK_CFLAGS}
+       ${LIBDB_CFLAGS}
+       ${SQLITE3_CFLAGS}
+)
+
+target_include_directories(edata-book PUBLIC
+       ${CMAKE_BINARY_DIR}
+       ${CMAKE_BINARY_DIR}/src
+       ${CMAKE_BINARY_DIR}/src/addressbook
+       ${CMAKE_BINARY_DIR}/src/addressbook/libegdbus
+       ${CMAKE_BINARY_DIR}/src/private
+       ${CMAKE_SOURCE_DIR}/src
+       ${CMAKE_SOURCE_DIR}/src/private
+       ${CMAKE_SOURCE_DIR}/src/addressbook
+       ${CMAKE_SOURCE_DIR}/src/addressbook/libegdbus
+       ${CMAKE_CURRENT_BINARY_DIR}
+       ${ADDRESSBOOK_INCLUDE_DIRS}
+       ${LIBDB_INCLUDE_DIRS}
+       ${SQLITE3_INCLUDE_DIRS}
+)
+
+target_link_libraries(edata-book
+       ${DEPENDENCIES}
+       ${ADDRESSBOOK_LDFLAGS}
+       ${LIBDB_LIBS}
+       ${SQLITE3_LDFLAGS}
+)
+
+install(TARGETS edata-book
+       DESTINATION ${LIB_INSTALL_DIR}
+)
+
+install(FILES ${HEADERS}
+       DESTINATION ${privincludedir}/libedata-book
+)
+
+add_executable(e-book-backend-sqlitedb-test EXCLUDE_FROM_ALL e-book-backend-sqlitedb-test.c)
+
+target_compile_definitions(e-book-backend-sqlitedb-test PRIVATE
+       -DG_LOG_DOMAIN=\"libedata-book\"
+       -DBACKENDDIR=\"${ebook_backenddir}\"
+       -DSUBPROCESS_BOOK_BACKEND_PATH=\"${LIBEXEC_INSTALL_DIR}/evolution-addressbook-factory-subprocess\"
+       -DLIBEDATA_BOOK_COMPILATION
+)
+
+target_compile_options(e-book-backend-sqlitedb-test PUBLIC
+       ${ADDRESSBOOK_CFLAGS}
+       ${LIBDB_CFLAGS}
+       ${SQLITE3_CFLAGS}
+)
+
+target_include_directories(e-book-backend-sqlitedb-test PUBLIC
+       ${CMAKE_BINARY_DIR}
+       ${CMAKE_BINARY_DIR}/src
+       ${CMAKE_BINARY_DIR}/src/addressbook
+       ${CMAKE_BINARY_DIR}/src/addressbook/libegdbus
+       ${CMAKE_BINARY_DIR}/src/private
+       ${CMAKE_SOURCE_DIR}/src
+       ${CMAKE_SOURCE_DIR}/src/private
+       ${CMAKE_SOURCE_DIR}/src/addressbook
+       ${CMAKE_SOURCE_DIR}/src/addressbook/libegdbus
+       ${CMAKE_CURRENT_BINARY_DIR}
+       ${ADDRESSBOOK_INCLUDE_DIRS}
+       ${LIBDB_INCLUDE_DIRS}
+       ${SQLITE3_INCLUDE_DIRS}
+)
+
+target_link_libraries(e-book-backend-sqlitedb-test
+       edata-book
+       ${DEPENDENCIES}
+       ${ADDRESSBOOK_LDFLAGS}
+       ${LIBDB_LIBS}
+       ${SQLITE3_LDFLAGS}
+)
+
+set(DEPENDENCIES
+       ebackend
+       edataserver
+       edata-book
+       edbus-private
+)
+
+add_executable(evolution-addressbook-factory-subprocess
+       evolution-addressbook-factory-subprocess.c)
+
+target_compile_definitions(evolution-addressbook-factory-subprocess PRIVATE
+       -DG_LOG_DOMAIN=\"evolution-addressbook-factory-subprocess\"
+       -DLOCALEDIR=\"${LOCALE_INSTALL_DIR}\"
+)
+
+target_compile_options(evolution-addressbook-factory-subprocess PUBLIC
+       ${ADDRESSBOOK_CFLAGS}
+       ${GTK_CFLAGS}
+)
+
+target_include_directories(evolution-addressbook-factory-subprocess PUBLIC
+       ${CMAKE_BINARY_DIR}
+       ${CMAKE_BINARY_DIR}/src
+       ${CMAKE_BINARY_DIR}/src/addressbook
+       ${CMAKE_BINARY_DIR}/src/addressbook/libegdbus
+       ${CMAKE_BINARY_DIR}/src/private
+       ${CMAKE_SOURCE_DIR}/src
+       ${CMAKE_SOURCE_DIR}/src/private
+       ${CMAKE_SOURCE_DIR}/src/addressbook
+       ${CMAKE_SOURCE_DIR}/src/addressbook/libegdbus
+       ${CMAKE_CURRENT_BINARY_DIR}
+       ${ADDRESSBOOK_INCLUDE_DIRS}
+       ${GTK_INCLUDE_DIRS}
+)
+
+target_link_libraries(evolution-addressbook-factory-subprocess
+       ${DEPENDENCIES}
+       ${ADDRESSBOOK_LDFLAGS}
+       ${GTK_LDFLAGS}
+)
+
+install(TARGETS evolution-addressbook-factory-subprocess
+       DESTINATION ${LIBEXEC_INSTALL_DIR}
+)
diff --git a/addressbook/libedata-book/TODO b/src/addressbook/libedata-book/TODO
similarity index 100%
rename from addressbook/libedata-book/TODO
rename to src/addressbook/libedata-book/TODO
diff --git a/addressbook/libedata-book/dbus.dtd b/src/addressbook/libedata-book/dbus.dtd
similarity index 100%
rename from addressbook/libedata-book/dbus.dtd
rename to src/addressbook/libedata-book/dbus.dtd
diff --git a/addressbook/libedata-book/e-book-backend-cache.c 
b/src/addressbook/libedata-book/e-book-backend-cache.c
similarity index 100%
rename from addressbook/libedata-book/e-book-backend-cache.c
rename to src/addressbook/libedata-book/e-book-backend-cache.c
diff --git a/addressbook/libedata-book/e-book-backend-cache.h 
b/src/addressbook/libedata-book/e-book-backend-cache.h
similarity index 100%
rename from addressbook/libedata-book/e-book-backend-cache.h
rename to src/addressbook/libedata-book/e-book-backend-cache.h
diff --git a/addressbook/libedata-book/e-book-backend-db-cache.c 
b/src/addressbook/libedata-book/e-book-backend-db-cache.c
similarity index 100%
rename from addressbook/libedata-book/e-book-backend-db-cache.c
rename to src/addressbook/libedata-book/e-book-backend-db-cache.c
diff --git a/addressbook/libedata-book/e-book-backend-db-cache.h 
b/src/addressbook/libedata-book/e-book-backend-db-cache.h
similarity index 100%
rename from addressbook/libedata-book/e-book-backend-db-cache.h
rename to src/addressbook/libedata-book/e-book-backend-db-cache.h
diff --git a/addressbook/libedata-book/e-book-backend-factory.c 
b/src/addressbook/libedata-book/e-book-backend-factory.c
similarity index 100%
rename from addressbook/libedata-book/e-book-backend-factory.c
rename to src/addressbook/libedata-book/e-book-backend-factory.c
diff --git a/addressbook/libedata-book/e-book-backend-factory.h 
b/src/addressbook/libedata-book/e-book-backend-factory.h
similarity index 100%
rename from addressbook/libedata-book/e-book-backend-factory.h
rename to src/addressbook/libedata-book/e-book-backend-factory.h
diff --git a/addressbook/libedata-book/e-book-backend-sexp.c 
b/src/addressbook/libedata-book/e-book-backend-sexp.c
similarity index 100%
rename from addressbook/libedata-book/e-book-backend-sexp.c
rename to src/addressbook/libedata-book/e-book-backend-sexp.c
diff --git a/addressbook/libedata-book/e-book-backend-sexp.h 
b/src/addressbook/libedata-book/e-book-backend-sexp.h
similarity index 100%
rename from addressbook/libedata-book/e-book-backend-sexp.h
rename to src/addressbook/libedata-book/e-book-backend-sexp.h
diff --git a/addressbook/libedata-book/e-book-backend-sqlitedb-test.c 
b/src/addressbook/libedata-book/e-book-backend-sqlitedb-test.c
similarity index 100%
rename from addressbook/libedata-book/e-book-backend-sqlitedb-test.c
rename to src/addressbook/libedata-book/e-book-backend-sqlitedb-test.c
diff --git a/addressbook/libedata-book/e-book-backend-sqlitedb.c 
b/src/addressbook/libedata-book/e-book-backend-sqlitedb.c
similarity index 100%
rename from addressbook/libedata-book/e-book-backend-sqlitedb.c
rename to src/addressbook/libedata-book/e-book-backend-sqlitedb.c
diff --git a/addressbook/libedata-book/e-book-backend-sqlitedb.h 
b/src/addressbook/libedata-book/e-book-backend-sqlitedb.h
similarity index 100%
rename from addressbook/libedata-book/e-book-backend-sqlitedb.h
rename to src/addressbook/libedata-book/e-book-backend-sqlitedb.h
diff --git a/addressbook/libedata-book/e-book-backend-summary.c 
b/src/addressbook/libedata-book/e-book-backend-summary.c
similarity index 100%
rename from addressbook/libedata-book/e-book-backend-summary.c
rename to src/addressbook/libedata-book/e-book-backend-summary.c
diff --git a/addressbook/libedata-book/e-book-backend-summary.h 
b/src/addressbook/libedata-book/e-book-backend-summary.h
similarity index 100%
rename from addressbook/libedata-book/e-book-backend-summary.h
rename to src/addressbook/libedata-book/e-book-backend-summary.h
diff --git a/addressbook/libedata-book/e-book-backend.c b/src/addressbook/libedata-book/e-book-backend.c
similarity index 100%
rename from addressbook/libedata-book/e-book-backend.c
rename to src/addressbook/libedata-book/e-book-backend.c
diff --git a/addressbook/libedata-book/e-book-backend.h b/src/addressbook/libedata-book/e-book-backend.h
similarity index 100%
rename from addressbook/libedata-book/e-book-backend.h
rename to src/addressbook/libedata-book/e-book-backend.h
diff --git a/addressbook/libedata-book/e-book-sqlite.c b/src/addressbook/libedata-book/e-book-sqlite.c
similarity index 100%
rename from addressbook/libedata-book/e-book-sqlite.c
rename to src/addressbook/libedata-book/e-book-sqlite.c
diff --git a/addressbook/libedata-book/e-book-sqlite.h b/src/addressbook/libedata-book/e-book-sqlite.h
similarity index 100%
rename from addressbook/libedata-book/e-book-sqlite.h
rename to src/addressbook/libedata-book/e-book-sqlite.h
diff --git a/addressbook/libedata-book/e-data-book-cursor-sqlite.c 
b/src/addressbook/libedata-book/e-data-book-cursor-sqlite.c
similarity index 100%
rename from addressbook/libedata-book/e-data-book-cursor-sqlite.c
rename to src/addressbook/libedata-book/e-data-book-cursor-sqlite.c
diff --git a/addressbook/libedata-book/e-data-book-cursor-sqlite.h 
b/src/addressbook/libedata-book/e-data-book-cursor-sqlite.h
similarity index 100%
rename from addressbook/libedata-book/e-data-book-cursor-sqlite.h
rename to src/addressbook/libedata-book/e-data-book-cursor-sqlite.h
diff --git a/addressbook/libedata-book/e-data-book-cursor.c 
b/src/addressbook/libedata-book/e-data-book-cursor.c
similarity index 100%
rename from addressbook/libedata-book/e-data-book-cursor.c
rename to src/addressbook/libedata-book/e-data-book-cursor.c
diff --git a/addressbook/libedata-book/e-data-book-cursor.h 
b/src/addressbook/libedata-book/e-data-book-cursor.h
similarity index 100%
rename from addressbook/libedata-book/e-data-book-cursor.h
rename to src/addressbook/libedata-book/e-data-book-cursor.h
diff --git a/addressbook/libedata-book/e-data-book-direct.c 
b/src/addressbook/libedata-book/e-data-book-direct.c
similarity index 100%
rename from addressbook/libedata-book/e-data-book-direct.c
rename to src/addressbook/libedata-book/e-data-book-direct.c
diff --git a/addressbook/libedata-book/e-data-book-direct.h 
b/src/addressbook/libedata-book/e-data-book-direct.h
similarity index 100%
rename from addressbook/libedata-book/e-data-book-direct.h
rename to src/addressbook/libedata-book/e-data-book-direct.h
diff --git a/addressbook/libedata-book/e-data-book-factory.c 
b/src/addressbook/libedata-book/e-data-book-factory.c
similarity index 100%
rename from addressbook/libedata-book/e-data-book-factory.c
rename to src/addressbook/libedata-book/e-data-book-factory.c
diff --git a/addressbook/libedata-book/e-data-book-factory.h 
b/src/addressbook/libedata-book/e-data-book-factory.h
similarity index 100%
rename from addressbook/libedata-book/e-data-book-factory.h
rename to src/addressbook/libedata-book/e-data-book-factory.h
diff --git a/addressbook/libedata-book/e-data-book-view.c b/src/addressbook/libedata-book/e-data-book-view.c
similarity index 100%
rename from addressbook/libedata-book/e-data-book-view.c
rename to src/addressbook/libedata-book/e-data-book-view.c
diff --git a/addressbook/libedata-book/e-data-book-view.h b/src/addressbook/libedata-book/e-data-book-view.h
similarity index 100%
rename from addressbook/libedata-book/e-data-book-view.h
rename to src/addressbook/libedata-book/e-data-book-view.h
diff --git a/addressbook/libedata-book/e-data-book-view.xml 
b/src/addressbook/libedata-book/e-data-book-view.xml
similarity index 100%
rename from addressbook/libedata-book/e-data-book-view.xml
rename to src/addressbook/libedata-book/e-data-book-view.xml
diff --git a/addressbook/libedata-book/e-data-book.c b/src/addressbook/libedata-book/e-data-book.c
similarity index 100%
rename from addressbook/libedata-book/e-data-book.c
rename to src/addressbook/libedata-book/e-data-book.c
diff --git a/addressbook/libedata-book/e-data-book.h b/src/addressbook/libedata-book/e-data-book.h
similarity index 100%
rename from addressbook/libedata-book/e-data-book.h
rename to src/addressbook/libedata-book/e-data-book.h
diff --git a/addressbook/libedata-book/e-subprocess-book-factory.c 
b/src/addressbook/libedata-book/e-subprocess-book-factory.c
similarity index 100%
rename from addressbook/libedata-book/e-subprocess-book-factory.c
rename to src/addressbook/libedata-book/e-subprocess-book-factory.c
diff --git a/addressbook/libedata-book/e-subprocess-book-factory.h 
b/src/addressbook/libedata-book/e-subprocess-book-factory.h
similarity index 100%
rename from addressbook/libedata-book/e-subprocess-book-factory.h
rename to src/addressbook/libedata-book/e-subprocess-book-factory.h
diff --git a/addressbook/libedata-book/evolution-addressbook-factory-subprocess.c 
b/src/addressbook/libedata-book/evolution-addressbook-factory-subprocess.c
similarity index 100%
rename from addressbook/libedata-book/evolution-addressbook-factory-subprocess.c
rename to src/addressbook/libedata-book/evolution-addressbook-factory-subprocess.c
diff --git a/addressbook/libedata-book/evolutionperson.schema 
b/src/addressbook/libedata-book/evolutionperson.schema
similarity index 100%
rename from addressbook/libedata-book/evolutionperson.schema
rename to src/addressbook/libedata-book/evolutionperson.schema
diff --git a/addressbook/libedata-book/libedata-book.h b/src/addressbook/libedata-book/libedata-book.h
similarity index 100%
rename from addressbook/libedata-book/libedata-book.h
rename to src/addressbook/libedata-book/libedata-book.h
diff --git a/addressbook/libedata-book/libedata-book.pc.in b/src/addressbook/libedata-book/libedata-book.pc.in
similarity index 100%
rename from addressbook/libedata-book/libedata-book.pc.in
rename to src/addressbook/libedata-book/libedata-book.pc.in
diff --git a/addressbook/libedata-book/ximian-vcard.h b/src/addressbook/libedata-book/ximian-vcard.h
similarity index 100%
rename from addressbook/libedata-book/ximian-vcard.h
rename to src/addressbook/libedata-book/ximian-vcard.h
diff --git a/src/addressbook/libegdbus/CMakeLists.txt b/src/addressbook/libegdbus/CMakeLists.txt
new file mode 100644
index 0000000..472566c
--- /dev/null
+++ b/src/addressbook/libegdbus/CMakeLists.txt
@@ -0,0 +1,37 @@
+set(SOURCES
+       e-gdbus-book-view.h
+       e-gdbus-book-view.c
+)
+
+set(DEPENDENCIES
+       edataserver
+)
+
+add_library(egdbus-book STATIC
+       ${SOURCES}
+)
+
+add_dependencies(egdbus-book
+       ${DEPENDENCIES}
+)
+
+target_compile_definitions(egdbus-book PRIVATE
+       -DG_LOG_DOMAIN=\"egdbus-book\"
+)
+
+target_compile_options(egdbus-book PUBLIC
+       ${DATA_SERVER_CFLAGS}
+)
+
+target_include_directories(egdbus-book PUBLIC
+       ${CMAKE_BINARY_DIR}
+       ${CMAKE_BINARY_DIR}/src
+       ${CMAKE_CURRENT_BINARY_DIR}
+       ${CMAKE_SOURCE_DIR}/src
+       ${DATA_SERVER_INCLUDE_DIRS}
+)
+
+target_link_libraries(egdbus-book
+       ${DEPENDENCIES}
+       ${DATA_SERVER_LDFLAGS}
+)
diff --git a/addressbook/libegdbus/e-gdbus-book-view.c b/src/addressbook/libegdbus/e-gdbus-book-view.c
similarity index 100%
rename from addressbook/libegdbus/e-gdbus-book-view.c
rename to src/addressbook/libegdbus/e-gdbus-book-view.c
diff --git a/addressbook/libegdbus/e-gdbus-book-view.h b/src/addressbook/libegdbus/e-gdbus-book-view.h
similarity index 100%
rename from addressbook/libegdbus/e-gdbus-book-view.h
rename to src/addressbook/libegdbus/e-gdbus-book-view.h
diff --git a/calendar/CMakeLists.txt b/src/calendar/CMakeLists.txt
similarity index 100%
rename from calendar/CMakeLists.txt
rename to src/calendar/CMakeLists.txt
diff --git a/calendar/backends/CMakeLists.txt b/src/calendar/backends/CMakeLists.txt
similarity index 100%
rename from calendar/backends/CMakeLists.txt
rename to src/calendar/backends/CMakeLists.txt
diff --git a/src/calendar/backends/caldav/CMakeLists.txt b/src/calendar/backends/caldav/CMakeLists.txt
new file mode 100644
index 0000000..274bf5d
--- /dev/null
+++ b/src/calendar/backends/caldav/CMakeLists.txt
@@ -0,0 +1,47 @@
+set(DEPENDENCIES
+       ebackend
+       ecal
+       edataserver
+       edata-cal
+)
+
+set(SOURCES
+       e-cal-backend-caldav-factory.c
+       e-cal-backend-caldav.c
+       e-cal-backend-caldav.h
+)
+
+add_library(ecalbackendcaldav MODULE
+       ${SOURCES}
+)
+
+add_dependencies(ecalbackendcaldav
+       ${DEPENDENCIES}
+)
+
+target_compile_definitions(ecalbackendcaldav PRIVATE
+       -DG_LOG_DOMAIN=\"e-cal-backend-caldav\"
+       -DBACKENDDIR=\"${ecal_backenddir}\"
+)
+
+target_compile_options(ecalbackendcaldav PUBLIC
+       ${CALENDAR_CFLAGS}
+)
+
+target_include_directories(ecalbackendcaldav PUBLIC
+       ${CMAKE_BINARY_DIR}
+       ${CMAKE_BINARY_DIR}/src
+       ${CMAKE_SOURCE_DIR}/src
+       ${CMAKE_BINARY_DIR}/src/calendar
+       ${CMAKE_SOURCE_DIR}/src/calendar
+       ${CALENDAR_INCLUDE_DIRS}
+)
+
+target_link_libraries(ecalbackendcaldav
+       ${DEPENDENCIES}
+       ${CALENDAR_LDFLAGS}
+)
+
+install(TARGETS ecalbackendcaldav
+       DESTINATION ${ecal_backenddir}
+)
diff --git a/calendar/backends/caldav/e-cal-backend-caldav-factory.c 
b/src/calendar/backends/caldav/e-cal-backend-caldav-factory.c
similarity index 100%
rename from calendar/backends/caldav/e-cal-backend-caldav-factory.c
rename to src/calendar/backends/caldav/e-cal-backend-caldav-factory.c
diff --git a/calendar/backends/caldav/e-cal-backend-caldav.c 
b/src/calendar/backends/caldav/e-cal-backend-caldav.c
similarity index 100%
rename from calendar/backends/caldav/e-cal-backend-caldav.c
rename to src/calendar/backends/caldav/e-cal-backend-caldav.c
diff --git a/calendar/backends/caldav/e-cal-backend-caldav.h 
b/src/calendar/backends/caldav/e-cal-backend-caldav.h
similarity index 100%
rename from calendar/backends/caldav/e-cal-backend-caldav.h
rename to src/calendar/backends/caldav/e-cal-backend-caldav.h
diff --git a/src/calendar/backends/contacts/CMakeLists.txt b/src/calendar/backends/contacts/CMakeLists.txt
new file mode 100644
index 0000000..eb581b0
--- /dev/null
+++ b/src/calendar/backends/contacts/CMakeLists.txt
@@ -0,0 +1,51 @@
+set(DEPENDENCIES
+       ebackend
+       ebook
+       ebook-contacts
+       ecal
+       edataserver
+       edata-cal
+)
+
+set(SOURCES
+       e-cal-backend-contacts-factory.c
+       e-cal-backend-contacts.c
+       e-cal-backend-contacts.h
+)
+
+add_library(ecalbackendcontacts MODULE
+       ${SOURCES}
+)
+
+add_dependencies(ecalbackendcontacts
+       ${DEPENDENCIES}
+)
+
+target_compile_definitions(ecalbackendcontacts PRIVATE
+       -DG_LOG_DOMAIN=\"e-cal-backend-contacts\"
+       -DBACKENDDIR=\"${ecal_backenddir}\"
+)
+
+target_compile_options(ecalbackendcontacts PUBLIC
+       ${CALENDAR_CFLAGS}
+)
+
+target_include_directories(ecalbackendcontacts PUBLIC
+       ${CMAKE_BINARY_DIR}
+       ${CMAKE_BINARY_DIR}/src
+       ${CMAKE_SOURCE_DIR}/src
+       ${CMAKE_BINARY_DIR}/src/addressbook
+       ${CMAKE_SOURCE_DIR}/src/addressbook
+       ${CMAKE_BINARY_DIR}/src/calendar
+       ${CMAKE_SOURCE_DIR}/src/calendar
+       ${CALENDAR_INCLUDE_DIRS}
+)
+
+target_link_libraries(ecalbackendcontacts
+       ${DEPENDENCIES}
+       ${CALENDAR_LDFLAGS}
+)
+
+install(TARGETS ecalbackendcontacts
+       DESTINATION ${ecal_backenddir}
+)
diff --git a/calendar/backends/contacts/e-cal-backend-contacts-factory.c 
b/src/calendar/backends/contacts/e-cal-backend-contacts-factory.c
similarity index 100%
rename from calendar/backends/contacts/e-cal-backend-contacts-factory.c
rename to src/calendar/backends/contacts/e-cal-backend-contacts-factory.c
diff --git a/calendar/backends/contacts/e-cal-backend-contacts.c 
b/src/calendar/backends/contacts/e-cal-backend-contacts.c
similarity index 100%
rename from calendar/backends/contacts/e-cal-backend-contacts.c
rename to src/calendar/backends/contacts/e-cal-backend-contacts.c
diff --git a/calendar/backends/contacts/e-cal-backend-contacts.h 
b/src/calendar/backends/contacts/e-cal-backend-contacts.h
similarity index 100%
rename from calendar/backends/contacts/e-cal-backend-contacts.h
rename to src/calendar/backends/contacts/e-cal-backend-contacts.h
diff --git a/src/calendar/backends/file/CMakeLists.txt b/src/calendar/backends/file/CMakeLists.txt
new file mode 100644
index 0000000..453ade6
--- /dev/null
+++ b/src/calendar/backends/file/CMakeLists.txt
@@ -0,0 +1,81 @@
+set(DEPENDENCIES
+       ebackend
+       ecal
+       edataserver
+       edata-cal
+)
+
+set(SOURCES
+       e-cal-backend-file-factory.c
+       e-cal-backend-file-events.c
+       e-cal-backend-file-events.h
+       e-cal-backend-file-journal.c
+       e-cal-backend-file-journal.h
+       e-cal-backend-file-todos.c
+       e-cal-backend-file-todos.h
+       e-cal-backend-file.c
+       e-cal-backend-file.h
+)
+
+add_library(ecalbackendfile MODULE
+       ${SOURCES}
+)
+
+add_dependencies(ecalbackendfile
+       ${DEPENDENCIES}
+)
+
+target_compile_definitions(ecalbackendfile PRIVATE
+       -DG_LOG_DOMAIN=\"e-cal-backend-file\"
+       -DBACKENDDIR=\"${ecal_backenddir}\"
+)
+
+target_compile_options(ecalbackendfile PUBLIC
+       ${CALENDAR_CFLAGS}
+)
+
+target_include_directories(ecalbackendfile PUBLIC
+       ${CMAKE_BINARY_DIR}
+       ${CMAKE_BINARY_DIR}/src
+       ${CMAKE_SOURCE_DIR}/src
+       ${CMAKE_BINARY_DIR}/src/calendar
+       ${CMAKE_SOURCE_DIR}/src/calendar
+       ${CALENDAR_INCLUDE_DIRS}
+)
+
+target_link_libraries(ecalbackendfile
+       ${DEPENDENCIES}
+       ${CALENDAR_LDFLAGS}
+)
+
+install(TARGETS ecalbackendfile
+       DESTINATION ${ecal_backenddir}
+)
+
+add_executable(test-interval-searches
+       e-cal-backend-file.c
+)
+
+target_compile_definitions(test-interval-searches PRIVATE
+       -DG_LOG_DOMAIN=\"e-cal-backend-file\"
+       -DBACKENDDIR=\"${ecal_backenddir}\"
+       -DTEST_QUERY_RESULT=1
+)
+
+target_compile_options(test-interval-searches PUBLIC
+       ${CALENDAR_CFLAGS}
+)
+
+target_include_directories(test-interval-searches PUBLIC
+       ${CMAKE_BINARY_DIR}
+       ${CMAKE_BINARY_DIR}/src
+       ${CMAKE_SOURCE_DIR}/src
+       ${CMAKE_BINARY_DIR}/src/calendar
+       ${CMAKE_SOURCE_DIR}/src/calendar
+       ${CALENDAR_INCLUDE_DIRS}
+)
+
+target_link_libraries(test-interval-searches
+       ${DEPENDENCIES}
+       ${CALENDAR_LDFLAGS}
+)
diff --git a/calendar/backends/file/e-cal-backend-file-events.c 
b/src/calendar/backends/file/e-cal-backend-file-events.c
similarity index 100%
rename from calendar/backends/file/e-cal-backend-file-events.c
rename to src/calendar/backends/file/e-cal-backend-file-events.c
diff --git a/calendar/backends/file/e-cal-backend-file-events.h 
b/src/calendar/backends/file/e-cal-backend-file-events.h
similarity index 100%
rename from calendar/backends/file/e-cal-backend-file-events.h
rename to src/calendar/backends/file/e-cal-backend-file-events.h
diff --git a/calendar/backends/file/e-cal-backend-file-factory.c 
b/src/calendar/backends/file/e-cal-backend-file-factory.c
similarity index 100%
rename from calendar/backends/file/e-cal-backend-file-factory.c
rename to src/calendar/backends/file/e-cal-backend-file-factory.c
diff --git a/calendar/backends/file/e-cal-backend-file-journal.c 
b/src/calendar/backends/file/e-cal-backend-file-journal.c
similarity index 100%
rename from calendar/backends/file/e-cal-backend-file-journal.c
rename to src/calendar/backends/file/e-cal-backend-file-journal.c
diff --git a/calendar/backends/file/e-cal-backend-file-journal.h 
b/src/calendar/backends/file/e-cal-backend-file-journal.h
similarity index 100%
rename from calendar/backends/file/e-cal-backend-file-journal.h
rename to src/calendar/backends/file/e-cal-backend-file-journal.h
diff --git a/calendar/backends/file/e-cal-backend-file-todos.c 
b/src/calendar/backends/file/e-cal-backend-file-todos.c
similarity index 100%
rename from calendar/backends/file/e-cal-backend-file-todos.c
rename to src/calendar/backends/file/e-cal-backend-file-todos.c
diff --git a/calendar/backends/file/e-cal-backend-file-todos.h 
b/src/calendar/backends/file/e-cal-backend-file-todos.h
similarity index 100%
rename from calendar/backends/file/e-cal-backend-file-todos.h
rename to src/calendar/backends/file/e-cal-backend-file-todos.h
diff --git a/calendar/backends/file/e-cal-backend-file.c b/src/calendar/backends/file/e-cal-backend-file.c
similarity index 100%
rename from calendar/backends/file/e-cal-backend-file.c
rename to src/calendar/backends/file/e-cal-backend-file.c
diff --git a/calendar/backends/file/e-cal-backend-file.h b/src/calendar/backends/file/e-cal-backend-file.h
similarity index 100%
rename from calendar/backends/file/e-cal-backend-file.h
rename to src/calendar/backends/file/e-cal-backend-file.h
diff --git a/src/calendar/backends/gtasks/CMakeLists.txt b/src/calendar/backends/gtasks/CMakeLists.txt
new file mode 100644
index 0000000..38ee19a
--- /dev/null
+++ b/src/calendar/backends/gtasks/CMakeLists.txt
@@ -0,0 +1,52 @@
+set(DEPENDENCIES
+       ebackend
+       ecal
+       edataserver
+       edata-cal
+)
+
+set(SOURCES
+       e-cal-backend-gtasks-factory.c
+       e-cal-backend-gtasks.c
+       e-cal-backend-gtasks.h
+       e-gdata-oauth2-authorizer.c
+       e-gdata-oauth2-authorizer.h
+)
+
+add_library(ecalbackendgtasks MODULE
+       ${SOURCES}
+)
+
+add_dependencies(ecalbackendgtasks
+       ${DEPENDENCIES}
+)
+
+target_compile_definitions(ecalbackendgtasks PRIVATE
+       -DG_LOG_DOMAIN=\"e-cal-backend-gtasks\"
+       -DBACKENDDIR=\"${ecal_backenddir}\"
+)
+
+target_compile_options(ecalbackendgtasks PUBLIC
+       ${CALENDAR_CFLAGS}
+       ${LIBGDATA_CFLAGS}
+)
+
+target_include_directories(ecalbackendgtasks PUBLIC
+       ${CMAKE_BINARY_DIR}
+       ${CMAKE_BINARY_DIR}/src
+       ${CMAKE_SOURCE_DIR}/src
+       ${CMAKE_BINARY_DIR}/src/calendar
+       ${CMAKE_SOURCE_DIR}/src/calendar
+       ${CALENDAR_INCLUDE_DIRS}
+       ${LIBGDATA_INCLUDE_DIRS}
+)
+
+target_link_libraries(ecalbackendgtasks
+       ${DEPENDENCIES}
+       ${CALENDAR_LDFLAGS}
+       ${LIBGDATA_LDFLAGS}
+)
+
+install(TARGETS ecalbackendgtasks
+       DESTINATION ${ecal_backenddir}
+)
diff --git a/calendar/backends/gtasks/e-cal-backend-gtasks-factory.c 
b/src/calendar/backends/gtasks/e-cal-backend-gtasks-factory.c
similarity index 100%
rename from calendar/backends/gtasks/e-cal-backend-gtasks-factory.c
rename to src/calendar/backends/gtasks/e-cal-backend-gtasks-factory.c
diff --git a/calendar/backends/gtasks/e-cal-backend-gtasks.c 
b/src/calendar/backends/gtasks/e-cal-backend-gtasks.c
similarity index 100%
rename from calendar/backends/gtasks/e-cal-backend-gtasks.c
rename to src/calendar/backends/gtasks/e-cal-backend-gtasks.c
diff --git a/calendar/backends/gtasks/e-cal-backend-gtasks.h 
b/src/calendar/backends/gtasks/e-cal-backend-gtasks.h
similarity index 100%
rename from calendar/backends/gtasks/e-cal-backend-gtasks.h
rename to src/calendar/backends/gtasks/e-cal-backend-gtasks.h
diff --git a/calendar/backends/gtasks/e-gdata-oauth2-authorizer.c 
b/src/calendar/backends/gtasks/e-gdata-oauth2-authorizer.c
similarity index 100%
rename from calendar/backends/gtasks/e-gdata-oauth2-authorizer.c
rename to src/calendar/backends/gtasks/e-gdata-oauth2-authorizer.c
diff --git a/calendar/backends/gtasks/e-gdata-oauth2-authorizer.h 
b/src/calendar/backends/gtasks/e-gdata-oauth2-authorizer.h
similarity index 100%
rename from calendar/backends/gtasks/e-gdata-oauth2-authorizer.h
rename to src/calendar/backends/gtasks/e-gdata-oauth2-authorizer.h
diff --git a/src/calendar/backends/http/CMakeLists.txt b/src/calendar/backends/http/CMakeLists.txt
new file mode 100644
index 0000000..307109b
--- /dev/null
+++ b/src/calendar/backends/http/CMakeLists.txt
@@ -0,0 +1,47 @@
+set(DEPENDENCIES
+       ebackend
+       ecal
+       edataserver
+       edata-cal
+)
+
+set(SOURCES
+       e-cal-backend-http-factory.c
+       e-cal-backend-http.c
+       e-cal-backend-http.h
+)
+
+add_library(ecalbackendhttp MODULE
+       ${SOURCES}
+)
+
+add_dependencies(ecalbackendhttp
+       ${DEPENDENCIES}
+)
+
+target_compile_definitions(ecalbackendhttp PRIVATE
+       -DG_LOG_DOMAIN=\"e-cal-backend-http\"
+       -DBACKENDDIR=\"${ecal_backenddir}\"
+)
+
+target_compile_options(ecalbackendhttp PUBLIC
+       ${CALENDAR_CFLAGS}
+)
+
+target_include_directories(ecalbackendhttp PUBLIC
+       ${CMAKE_BINARY_DIR}
+       ${CMAKE_BINARY_DIR}/src
+       ${CMAKE_SOURCE_DIR}/src
+       ${CMAKE_BINARY_DIR}/src/calendar
+       ${CMAKE_SOURCE_DIR}/src/calendar
+       ${CALENDAR_INCLUDE_DIRS}
+)
+
+target_link_libraries(ecalbackendhttp
+       ${DEPENDENCIES}
+       ${CALENDAR_LDFLAGS}
+)
+
+install(TARGETS ecalbackendhttp
+       DESTINATION ${ecal_backenddir}
+)
diff --git a/calendar/backends/http/e-cal-backend-http-factory.c 
b/src/calendar/backends/http/e-cal-backend-http-factory.c
similarity index 100%
rename from calendar/backends/http/e-cal-backend-http-factory.c
rename to src/calendar/backends/http/e-cal-backend-http-factory.c
diff --git a/calendar/backends/http/e-cal-backend-http.c b/src/calendar/backends/http/e-cal-backend-http.c
similarity index 100%
rename from calendar/backends/http/e-cal-backend-http.c
rename to src/calendar/backends/http/e-cal-backend-http.c
diff --git a/calendar/backends/http/e-cal-backend-http.h b/src/calendar/backends/http/e-cal-backend-http.h
similarity index 100%
rename from calendar/backends/http/e-cal-backend-http.h
rename to src/calendar/backends/http/e-cal-backend-http.h
diff --git a/src/calendar/backends/weather/CMakeLists.txt b/src/calendar/backends/weather/CMakeLists.txt
new file mode 100644
index 0000000..2379a06
--- /dev/null
+++ b/src/calendar/backends/weather/CMakeLists.txt
@@ -0,0 +1,52 @@
+set(DEPENDENCIES
+       ebackend
+       ecal
+       edataserver
+       edata-cal
+)
+
+set(SOURCES
+       e-cal-backend-weather-factory.c
+       e-cal-backend-weather.c
+       e-cal-backend-weather.h
+       e-weather-source.c
+       e-weather-source.h
+)
+
+add_library(ecalbackendweather MODULE
+       ${SOURCES}
+)
+
+add_dependencies(ecalbackendweather
+       ${DEPENDENCIES}
+)
+
+target_compile_definitions(ecalbackendweather PRIVATE
+       -DG_LOG_DOMAIN=\"e-cal-backend-weather\"
+       -DBACKENDDIR=\"${ecal_backenddir}\"
+)
+
+target_compile_options(ecalbackendweather PUBLIC
+       ${CALENDAR_CFLAGS}
+       ${LIBGWEATHER_CFLAGS}
+)
+
+target_include_directories(ecalbackendweather PUBLIC
+       ${CMAKE_BINARY_DIR}
+       ${CMAKE_BINARY_DIR}/src
+       ${CMAKE_SOURCE_DIR}/src
+       ${CMAKE_BINARY_DIR}/src/calendar
+       ${CMAKE_SOURCE_DIR}/src/calendar
+       ${CALENDAR_INCLUDE_DIRS}
+       ${LIBGWEATHER__INCLUDE_DIRS}
+)
+
+target_link_libraries(ecalbackendweather
+       ${DEPENDENCIES}
+       ${CALENDAR_LDFLAGS}
+       ${LIBGWEATHER_LDFLAGS}
+)
+
+install(TARGETS ecalbackendweather
+       DESTINATION ${ecal_backenddir}
+)
diff --git a/calendar/backends/weather/e-cal-backend-weather-factory.c 
b/src/calendar/backends/weather/e-cal-backend-weather-factory.c
similarity index 100%
rename from calendar/backends/weather/e-cal-backend-weather-factory.c
rename to src/calendar/backends/weather/e-cal-backend-weather-factory.c
diff --git a/calendar/backends/weather/e-cal-backend-weather.c 
b/src/calendar/backends/weather/e-cal-backend-weather.c
similarity index 100%
rename from calendar/backends/weather/e-cal-backend-weather.c
rename to src/calendar/backends/weather/e-cal-backend-weather.c
diff --git a/calendar/backends/weather/e-cal-backend-weather.h 
b/src/calendar/backends/weather/e-cal-backend-weather.h
similarity index 100%
rename from calendar/backends/weather/e-cal-backend-weather.h
rename to src/calendar/backends/weather/e-cal-backend-weather.h
diff --git a/calendar/backends/weather/e-weather-source.c b/src/calendar/backends/weather/e-weather-source.c
similarity index 100%
rename from calendar/backends/weather/e-weather-source.c
rename to src/calendar/backends/weather/e-weather-source.c
diff --git a/calendar/backends/weather/e-weather-source.h b/src/calendar/backends/weather/e-weather-source.h
similarity index 100%
rename from calendar/backends/weather/e-weather-source.h
rename to src/calendar/backends/weather/e-weather-source.h
diff --git a/src/calendar/libecal/CMakeLists.txt b/src/calendar/libecal/CMakeLists.txt
new file mode 100644
index 0000000..5240dd3
--- /dev/null
+++ b/src/calendar/libecal/CMakeLists.txt
@@ -0,0 +1,94 @@
+glib_mkenums(e-cal-enumtypes e-cal-types.h E_CAL_ENUMTYPES_H)
+
+add_pkgconfig_file(libecal.pc.in libecal-${API_VERSION}.pc)
+
+set(DEPENDENCIES
+       edbus-private
+       edataserver
+       egdbus-cal
+)
+
+set(SOURCES
+       e-cal.c
+       e-cal-client.c
+       e-cal-client-view.c
+       e-cal-component.c
+       e-cal-recur.c
+       e-cal-time-util.c
+       e-cal-check-timezones.c
+       e-cal-system-timezone.c
+       e-cal-util.c
+       e-cal-view.c
+       e-cal-view-private.h
+       e-timezone-cache.c
+       ${CMAKE_CURRENT_BINARY_DIR}/e-cal-enumtypes.c
+)
+
+set(HEADERS
+       libecal.h
+       e-cal.h
+       e-cal-client.h
+       e-cal-client-view.h
+       e-cal-component.h
+       e-cal-recur.h
+       e-cal-time-util.h
+        e-cal-check-timezones.h
+       e-cal-system-timezone.h
+       e-cal-types.h
+       e-cal-util.h
+       e-cal-view.h
+       e-timezone-cache.h
+       ${CMAKE_CURRENT_BINARY_DIR}/e-cal-enumtypes.h
+)
+
+add_library(ecal SHARED
+       ${SOURCES}
+       ${HEADERS}
+)
+
+add_dependencies(ecal
+       ${DEPENDENCIES}
+)
+
+set_target_properties(ecal PROPERTIES
+       VERSION "${LIBECAL_CURRENT}.${LIBECAL_REVISION}.${LIBECAL_AGE}"
+       SOVERSION ${LIBECAL_CURRENT}
+       OUTPUT_NAME ecal-${API_VERSION}
+)
+
+target_compile_definitions(ecal PRIVATE
+       -DG_LOG_DOMAIN=\"libecal\"
+       -DLOCALEDIR=\"${LOCALE_INSTALL_DIR}\"
+       -DLIBECAL_COMPILATION
+)
+
+target_compile_options(ecal PUBLIC
+       ${CALENDAR_CFLAGS}
+)
+
+target_include_directories(ecal PUBLIC
+       ${CMAKE_BINARY_DIR}
+       ${CMAKE_BINARY_DIR}/src
+       ${CMAKE_BINARY_DIR}/src/calendar
+       ${CMAKE_BINARY_DIR}/src/calendar/libegdbus
+       ${CMAKE_BINARY_DIR}/src/private
+       ${CMAKE_SOURCE_DIR}/src
+       ${CMAKE_SOURCE_DIR}/src/private
+       ${CMAKE_SOURCE_DIR}/src/calendar
+       ${CMAKE_SOURCE_DIR}/src/calendar/libegdbus
+       ${CMAKE_CURRENT_BINARY_DIR}
+       ${CALENDAR_INCLUDE_DIRS}
+)
+
+target_link_libraries(ecal
+       ${DEPENDENCIES}
+       ${CALENDAR_LDFLAGS}
+)
+
+install(TARGETS ecal
+       DESTINATION ${LIB_INSTALL_DIR}
+)
+
+install(FILES ${HEADERS}
+       DESTINATION ${privincludedir}/libecal
+)
diff --git a/calendar/libecal/e-cal-check-timezones.c b/src/calendar/libecal/e-cal-check-timezones.c
similarity index 100%
rename from calendar/libecal/e-cal-check-timezones.c
rename to src/calendar/libecal/e-cal-check-timezones.c
diff --git a/calendar/libecal/e-cal-check-timezones.h b/src/calendar/libecal/e-cal-check-timezones.h
similarity index 100%
rename from calendar/libecal/e-cal-check-timezones.h
rename to src/calendar/libecal/e-cal-check-timezones.h
diff --git a/calendar/libecal/e-cal-client-view.c b/src/calendar/libecal/e-cal-client-view.c
similarity index 100%
rename from calendar/libecal/e-cal-client-view.c
rename to src/calendar/libecal/e-cal-client-view.c
diff --git a/calendar/libecal/e-cal-client-view.h b/src/calendar/libecal/e-cal-client-view.h
similarity index 100%
rename from calendar/libecal/e-cal-client-view.h
rename to src/calendar/libecal/e-cal-client-view.h
diff --git a/calendar/libecal/e-cal-client.c b/src/calendar/libecal/e-cal-client.c
similarity index 100%
rename from calendar/libecal/e-cal-client.c
rename to src/calendar/libecal/e-cal-client.c
diff --git a/calendar/libecal/e-cal-client.h b/src/calendar/libecal/e-cal-client.h
similarity index 100%
rename from calendar/libecal/e-cal-client.h
rename to src/calendar/libecal/e-cal-client.h
diff --git a/calendar/libecal/e-cal-component.c b/src/calendar/libecal/e-cal-component.c
similarity index 100%
rename from calendar/libecal/e-cal-component.c
rename to src/calendar/libecal/e-cal-component.c
diff --git a/calendar/libecal/e-cal-component.h b/src/calendar/libecal/e-cal-component.h
similarity index 100%
rename from calendar/libecal/e-cal-component.h
rename to src/calendar/libecal/e-cal-component.h
diff --git a/calendar/libecal/e-cal-recur.c b/src/calendar/libecal/e-cal-recur.c
similarity index 100%
rename from calendar/libecal/e-cal-recur.c
rename to src/calendar/libecal/e-cal-recur.c
diff --git a/calendar/libecal/e-cal-recur.h b/src/calendar/libecal/e-cal-recur.h
similarity index 100%
rename from calendar/libecal/e-cal-recur.h
rename to src/calendar/libecal/e-cal-recur.h
diff --git a/calendar/libecal/e-cal-system-timezone.c b/src/calendar/libecal/e-cal-system-timezone.c
similarity index 100%
rename from calendar/libecal/e-cal-system-timezone.c
rename to src/calendar/libecal/e-cal-system-timezone.c
diff --git a/calendar/libecal/e-cal-system-timezone.h b/src/calendar/libecal/e-cal-system-timezone.h
similarity index 100%
rename from calendar/libecal/e-cal-system-timezone.h
rename to src/calendar/libecal/e-cal-system-timezone.h
diff --git a/calendar/libecal/e-cal-time-util.c b/src/calendar/libecal/e-cal-time-util.c
similarity index 100%
rename from calendar/libecal/e-cal-time-util.c
rename to src/calendar/libecal/e-cal-time-util.c
diff --git a/calendar/libecal/e-cal-time-util.h b/src/calendar/libecal/e-cal-time-util.h
similarity index 100%
rename from calendar/libecal/e-cal-time-util.h
rename to src/calendar/libecal/e-cal-time-util.h
diff --git a/calendar/libecal/e-cal-types.h b/src/calendar/libecal/e-cal-types.h
similarity index 100%
rename from calendar/libecal/e-cal-types.h
rename to src/calendar/libecal/e-cal-types.h
diff --git a/calendar/libecal/e-cal-util.c b/src/calendar/libecal/e-cal-util.c
similarity index 100%
rename from calendar/libecal/e-cal-util.c
rename to src/calendar/libecal/e-cal-util.c
diff --git a/calendar/libecal/e-cal-util.h b/src/calendar/libecal/e-cal-util.h
similarity index 100%
rename from calendar/libecal/e-cal-util.h
rename to src/calendar/libecal/e-cal-util.h
diff --git a/calendar/libecal/e-cal-view-private.h b/src/calendar/libecal/e-cal-view-private.h
similarity index 100%
rename from calendar/libecal/e-cal-view-private.h
rename to src/calendar/libecal/e-cal-view-private.h
diff --git a/calendar/libecal/e-cal-view.c b/src/calendar/libecal/e-cal-view.c
similarity index 100%
rename from calendar/libecal/e-cal-view.c
rename to src/calendar/libecal/e-cal-view.c
diff --git a/calendar/libecal/e-cal-view.h b/src/calendar/libecal/e-cal-view.h
similarity index 100%
rename from calendar/libecal/e-cal-view.h
rename to src/calendar/libecal/e-cal-view.h
diff --git a/calendar/libecal/e-cal.c b/src/calendar/libecal/e-cal.c
similarity index 100%
rename from calendar/libecal/e-cal.c
rename to src/calendar/libecal/e-cal.c
diff --git a/calendar/libecal/e-cal.h b/src/calendar/libecal/e-cal.h
similarity index 100%
rename from calendar/libecal/e-cal.h
rename to src/calendar/libecal/e-cal.h
diff --git a/calendar/libecal/e-timezone-cache.c b/src/calendar/libecal/e-timezone-cache.c
similarity index 100%
rename from calendar/libecal/e-timezone-cache.c
rename to src/calendar/libecal/e-timezone-cache.c
diff --git a/calendar/libecal/e-timezone-cache.h b/src/calendar/libecal/e-timezone-cache.h
similarity index 100%
rename from calendar/libecal/e-timezone-cache.h
rename to src/calendar/libecal/e-timezone-cache.h
diff --git a/calendar/libecal/libecal.h b/src/calendar/libecal/libecal.h
similarity index 100%
rename from calendar/libecal/libecal.h
rename to src/calendar/libecal/libecal.h
diff --git a/calendar/libecal/libecal.pc.in b/src/calendar/libecal/libecal.pc.in
similarity index 100%
rename from calendar/libecal/libecal.pc.in
rename to src/calendar/libecal/libecal.pc.in
diff --git a/src/calendar/libedata-cal/CMakeLists.txt b/src/calendar/libedata-cal/CMakeLists.txt
new file mode 100644
index 0000000..484c21c
--- /dev/null
+++ b/src/calendar/libedata-cal/CMakeLists.txt
@@ -0,0 +1,138 @@
+add_pkgconfig_file(libedata-cal.pc.in libedata-cal-${API_VERSION}.pc)
+
+set(DEPENDENCIES
+       ebackend
+       ecal
+       edbus-private
+       edataserver
+       egdbus-cal
+)
+
+set(SOURCES
+       e-cal-backend.c
+       e-cal-backend-cache.c
+       e-cal-backend-factory.c
+       e-cal-backend-intervaltree.c
+       e-cal-backend-sexp.c
+       e-cal-backend-sync.c
+       e-cal-backend-util.c
+       e-cal-backend-store.c
+       e-data-cal.c
+       e-data-cal-factory.c
+       e-data-cal-view.c
+       e-subprocess-cal-factory.c
+)
+
+set(HEADERS
+       libedata-cal.h
+       e-cal-backend.h
+       e-cal-backend-cache.h
+       e-cal-backend-factory.h
+       e-cal-backend-intervaltree.h
+       e-cal-backend-sync.h
+       e-cal-backend-util.h
+       e-cal-backend-sexp.h
+       e-data-cal.h
+       e-data-cal-factory.h
+       e-cal-backend-store.h
+       e-data-cal-view.h
+       e-subprocess-cal-factory.h
+)
+
+add_library(edata-cal SHARED
+       ${SOURCES}
+       ${HEADERS}
+)
+
+add_dependencies(edata-cal
+       ${DEPENDENCIES}
+)
+
+set_target_properties(edata-cal PROPERTIES
+       VERSION "${LIBEDATACAL_CURRENT}.${LIBEDATACAL_REVISION}.${LIBEDATACAL_AGE}"
+       SOVERSION ${LIBEDATACAL_CURRENT}
+       OUTPUT_NAME edata-cal-${API_VERSION}
+)
+
+target_compile_definitions(edata-cal PRIVATE
+       -DG_LOG_DOMAIN=\"libedata-cal\"
+       -DBACKENDDIR=\"${ecal_backenddir}\"
+       -DSUBPROCESS_CAL_BACKEND_PATH=\"${LIBEXEC_INSTALL_DIR}/evolution-calendar-factory-subprocess\"
+       -DLIBEDATA_CAL_COMPILATION
+)
+
+target_compile_options(edata-cal PUBLIC
+       ${CALENDAR_CFLAGS}
+)
+
+target_include_directories(edata-cal PUBLIC
+       ${CMAKE_BINARY_DIR}
+       ${CMAKE_BINARY_DIR}/src
+       ${CMAKE_BINARY_DIR}/src/calendar
+       ${CMAKE_BINARY_DIR}/src/calendar/libegdbus
+       ${CMAKE_BINARY_DIR}/src/private
+       ${CMAKE_SOURCE_DIR}/src
+       ${CMAKE_SOURCE_DIR}/src/private
+       ${CMAKE_SOURCE_DIR}/src/calendar
+       ${CMAKE_SOURCE_DIR}/src/calendar/libegdbus
+       ${CMAKE_CURRENT_BINARY_DIR}
+       ${CALENDAR_INCLUDE_DIRS}
+)
+
+target_link_libraries(edata-cal
+       ${DEPENDENCIES}
+       ${CALENDAR_LDFLAGS}
+)
+
+install(TARGETS edata-cal
+       DESTINATION ${LIB_INSTALL_DIR}
+)
+
+install(FILES ${HEADERS}
+       DESTINATION ${privincludedir}/libedata-cal
+)
+
+set(DEPENDENCIES
+       ebackend
+       edataserver
+       edata-cal
+       edbus-private
+)
+
+add_executable(evolution-calendar-factory-subprocess
+       evolution-calendar-factory-subprocess.c)
+
+target_compile_definitions(evolution-calendar-factory-subprocess PRIVATE
+       -DG_LOG_DOMAIN=\"evolution-calendar-factory-subprocess\"
+       -DLOCALEDIR=\"${LOCALE_INSTALL_DIR}\"
+)
+
+target_compile_options(evolution-calendar-factory-subprocess PUBLIC
+       ${CALENDAR_CFLAGS}
+       ${GTK_CFLAGS}
+)
+
+target_include_directories(evolution-calendar-factory-subprocess PUBLIC
+       ${CMAKE_BINARY_DIR}
+       ${CMAKE_BINARY_DIR}/src
+       ${CMAKE_BINARY_DIR}/src/calendar
+       ${CMAKE_BINARY_DIR}/src/calendar/libegdbus
+       ${CMAKE_BINARY_DIR}/src/private
+       ${CMAKE_SOURCE_DIR}/src
+       ${CMAKE_SOURCE_DIR}/src/private
+       ${CMAKE_SOURCE_DIR}/src/calendar
+       ${CMAKE_SOURCE_DIR}/src/calendar/libegdbus
+       ${CMAKE_CURRENT_BINARY_DIR}
+       ${CALENDAR_INCLUDE_DIRS}
+       ${GTK_INCLUDE_DIRS}
+)
+
+target_link_libraries(evolution-calendar-factory-subprocess
+       ${DEPENDENCIES}
+       ${CALENDAR_LDFLAGS}
+       ${GTK_LDFLAGS}
+)
+
+install(TARGETS evolution-calendar-factory-subprocess
+       DESTINATION ${LIBEXEC_INSTALL_DIR}
+)
diff --git a/calendar/libedata-cal/e-cal-backend-cache.c b/src/calendar/libedata-cal/e-cal-backend-cache.c
similarity index 100%
rename from calendar/libedata-cal/e-cal-backend-cache.c
rename to src/calendar/libedata-cal/e-cal-backend-cache.c
diff --git a/calendar/libedata-cal/e-cal-backend-cache.h b/src/calendar/libedata-cal/e-cal-backend-cache.h
similarity index 100%
rename from calendar/libedata-cal/e-cal-backend-cache.h
rename to src/calendar/libedata-cal/e-cal-backend-cache.h
diff --git a/calendar/libedata-cal/e-cal-backend-factory.c b/src/calendar/libedata-cal/e-cal-backend-factory.c
similarity index 100%
rename from calendar/libedata-cal/e-cal-backend-factory.c
rename to src/calendar/libedata-cal/e-cal-backend-factory.c
diff --git a/calendar/libedata-cal/e-cal-backend-factory.h b/src/calendar/libedata-cal/e-cal-backend-factory.h
similarity index 100%
rename from calendar/libedata-cal/e-cal-backend-factory.h
rename to src/calendar/libedata-cal/e-cal-backend-factory.h
diff --git a/calendar/libedata-cal/e-cal-backend-intervaltree.c 
b/src/calendar/libedata-cal/e-cal-backend-intervaltree.c
similarity index 100%
rename from calendar/libedata-cal/e-cal-backend-intervaltree.c
rename to src/calendar/libedata-cal/e-cal-backend-intervaltree.c
diff --git a/calendar/libedata-cal/e-cal-backend-intervaltree.h 
b/src/calendar/libedata-cal/e-cal-backend-intervaltree.h
similarity index 100%
rename from calendar/libedata-cal/e-cal-backend-intervaltree.h
rename to src/calendar/libedata-cal/e-cal-backend-intervaltree.h
diff --git a/calendar/libedata-cal/e-cal-backend-sexp.c b/src/calendar/libedata-cal/e-cal-backend-sexp.c
similarity index 100%
rename from calendar/libedata-cal/e-cal-backend-sexp.c
rename to src/calendar/libedata-cal/e-cal-backend-sexp.c
diff --git a/calendar/libedata-cal/e-cal-backend-sexp.h b/src/calendar/libedata-cal/e-cal-backend-sexp.h
similarity index 100%
rename from calendar/libedata-cal/e-cal-backend-sexp.h
rename to src/calendar/libedata-cal/e-cal-backend-sexp.h
diff --git a/calendar/libedata-cal/e-cal-backend-store.c b/src/calendar/libedata-cal/e-cal-backend-store.c
similarity index 100%
rename from calendar/libedata-cal/e-cal-backend-store.c
rename to src/calendar/libedata-cal/e-cal-backend-store.c
diff --git a/calendar/libedata-cal/e-cal-backend-store.h b/src/calendar/libedata-cal/e-cal-backend-store.h
similarity index 100%
rename from calendar/libedata-cal/e-cal-backend-store.h
rename to src/calendar/libedata-cal/e-cal-backend-store.h
diff --git a/calendar/libedata-cal/e-cal-backend-sync.c b/src/calendar/libedata-cal/e-cal-backend-sync.c
similarity index 100%
rename from calendar/libedata-cal/e-cal-backend-sync.c
rename to src/calendar/libedata-cal/e-cal-backend-sync.c
diff --git a/calendar/libedata-cal/e-cal-backend-sync.h b/src/calendar/libedata-cal/e-cal-backend-sync.h
similarity index 100%
rename from calendar/libedata-cal/e-cal-backend-sync.h
rename to src/calendar/libedata-cal/e-cal-backend-sync.h
diff --git a/calendar/libedata-cal/e-cal-backend-util.c b/src/calendar/libedata-cal/e-cal-backend-util.c
similarity index 100%
rename from calendar/libedata-cal/e-cal-backend-util.c
rename to src/calendar/libedata-cal/e-cal-backend-util.c
diff --git a/calendar/libedata-cal/e-cal-backend-util.h b/src/calendar/libedata-cal/e-cal-backend-util.h
similarity index 100%
rename from calendar/libedata-cal/e-cal-backend-util.h
rename to src/calendar/libedata-cal/e-cal-backend-util.h
diff --git a/calendar/libedata-cal/e-cal-backend.c b/src/calendar/libedata-cal/e-cal-backend.c
similarity index 100%
rename from calendar/libedata-cal/e-cal-backend.c
rename to src/calendar/libedata-cal/e-cal-backend.c
diff --git a/calendar/libedata-cal/e-cal-backend.h b/src/calendar/libedata-cal/e-cal-backend.h
similarity index 100%
rename from calendar/libedata-cal/e-cal-backend.h
rename to src/calendar/libedata-cal/e-cal-backend.h
diff --git a/calendar/libedata-cal/e-data-cal-factory.c b/src/calendar/libedata-cal/e-data-cal-factory.c
similarity index 100%
rename from calendar/libedata-cal/e-data-cal-factory.c
rename to src/calendar/libedata-cal/e-data-cal-factory.c
diff --git a/calendar/libedata-cal/e-data-cal-factory.h b/src/calendar/libedata-cal/e-data-cal-factory.h
similarity index 100%
rename from calendar/libedata-cal/e-data-cal-factory.h
rename to src/calendar/libedata-cal/e-data-cal-factory.h
diff --git a/calendar/libedata-cal/e-data-cal-view.c b/src/calendar/libedata-cal/e-data-cal-view.c
similarity index 100%
rename from calendar/libedata-cal/e-data-cal-view.c
rename to src/calendar/libedata-cal/e-data-cal-view.c
diff --git a/calendar/libedata-cal/e-data-cal-view.h b/src/calendar/libedata-cal/e-data-cal-view.h
similarity index 100%
rename from calendar/libedata-cal/e-data-cal-view.h
rename to src/calendar/libedata-cal/e-data-cal-view.h
diff --git a/calendar/libedata-cal/e-data-cal-view.xml b/src/calendar/libedata-cal/e-data-cal-view.xml
similarity index 100%
rename from calendar/libedata-cal/e-data-cal-view.xml
rename to src/calendar/libedata-cal/e-data-cal-view.xml
diff --git a/calendar/libedata-cal/e-data-cal.c b/src/calendar/libedata-cal/e-data-cal.c
similarity index 100%
rename from calendar/libedata-cal/e-data-cal.c
rename to src/calendar/libedata-cal/e-data-cal.c
diff --git a/calendar/libedata-cal/e-data-cal.h b/src/calendar/libedata-cal/e-data-cal.h
similarity index 100%
rename from calendar/libedata-cal/e-data-cal.h
rename to src/calendar/libedata-cal/e-data-cal.h
diff --git a/calendar/libedata-cal/e-subprocess-cal-factory.c 
b/src/calendar/libedata-cal/e-subprocess-cal-factory.c
similarity index 100%
rename from calendar/libedata-cal/e-subprocess-cal-factory.c
rename to src/calendar/libedata-cal/e-subprocess-cal-factory.c
diff --git a/calendar/libedata-cal/e-subprocess-cal-factory.h 
b/src/calendar/libedata-cal/e-subprocess-cal-factory.h
similarity index 100%
rename from calendar/libedata-cal/e-subprocess-cal-factory.h
rename to src/calendar/libedata-cal/e-subprocess-cal-factory.h
diff --git a/calendar/libedata-cal/evolution-calendar-factory-subprocess.c 
b/src/calendar/libedata-cal/evolution-calendar-factory-subprocess.c
similarity index 100%
rename from calendar/libedata-cal/evolution-calendar-factory-subprocess.c
rename to src/calendar/libedata-cal/evolution-calendar-factory-subprocess.c
diff --git a/calendar/libedata-cal/libedata-cal.h b/src/calendar/libedata-cal/libedata-cal.h
similarity index 100%
rename from calendar/libedata-cal/libedata-cal.h
rename to src/calendar/libedata-cal/libedata-cal.h
diff --git a/calendar/libedata-cal/libedata-cal.pc.in b/src/calendar/libedata-cal/libedata-cal.pc.in
similarity index 100%
rename from calendar/libedata-cal/libedata-cal.pc.in
rename to src/calendar/libedata-cal/libedata-cal.pc.in
diff --git a/src/calendar/libegdbus/CMakeLists.txt b/src/calendar/libegdbus/CMakeLists.txt
new file mode 100644
index 0000000..558c60c
--- /dev/null
+++ b/src/calendar/libegdbus/CMakeLists.txt
@@ -0,0 +1,37 @@
+set(SOURCES
+       e-gdbus-cal-view.h
+       e-gdbus-cal-view.c
+)
+
+set(DEPENDENCIES
+       edataserver
+)
+
+add_library(egdbus-cal STATIC
+       ${SOURCES}
+)
+
+add_dependencies(egdbus-cal
+       ${DEPENDENCIES}
+)
+
+target_compile_definitions(egdbus-cal PRIVATE
+       -DG_LOG_DOMAIN=\"egdbus-cal\"
+)
+
+target_compile_options(egdbus-cal PUBLIC
+       ${DATA_SERVER_CFLAGS}
+)
+
+target_include_directories(egdbus-cal PUBLIC
+       ${CMAKE_BINARY_DIR}
+       ${CMAKE_BINARY_DIR}/src
+       ${CMAKE_CURRENT_BINARY_DIR}
+       ${CMAKE_SOURCE_DIR}/src
+       ${DATA_SERVER_INCLUDE_DIRS}
+)
+
+target_link_libraries(egdbus-cal
+       ${DEPENDENCIES}
+       ${DATA_SERVER_LDFLAGS}
+)
diff --git a/calendar/libegdbus/e-gdbus-cal-view.c b/src/calendar/libegdbus/e-gdbus-cal-view.c
similarity index 100%
rename from calendar/libegdbus/e-gdbus-cal-view.c
rename to src/calendar/libegdbus/e-gdbus-cal-view.c
diff --git a/calendar/libegdbus/e-gdbus-cal-view.h b/src/calendar/libegdbus/e-gdbus-cal-view.h
similarity index 100%
rename from calendar/libegdbus/e-gdbus-cal-view.h
rename to src/calendar/libegdbus/e-gdbus-cal-view.h
diff --git a/src/camel/CMakeLists.txt b/src/camel/CMakeLists.txt
new file mode 100644
index 0000000..6e7ea43
--- /dev/null
+++ b/src/camel/CMakeLists.txt
@@ -0,0 +1,463 @@
+glib_mkenums(camel-enumtypes camel-enums.h CAMEL_ENUMTYPES_H)
+
+add_custom_command(
+       OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/camel-mime-tables.c
+       COMMAND ${PERL} ${CMAKE_CURRENT_SOURCE_DIR}/gentables.pl 
${CMAKE_CURRENT_BINARY_DIR}/camel-mime-tables.c
+       DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/gentables.pl
+)
+
+set(SOURCES
+       camel.c
+       camel-address.c
+       camel-async-closure.c
+       camel-block-file.c
+       camel-certdb.c
+       camel-charset-map.c
+       camel-cipher-context.c
+       camel-data-cache.c
+       camel-data-wrapper.c
+       camel-db.c
+       camel-debug.c
+       camel-file-utils.c
+       camel-filter-driver.c
+       camel-filter-input-stream.c
+       camel-filter-output-stream.c
+       camel-filter-search.c
+       camel-folder-search.c
+       camel-folder-summary.c
+       camel-folder-thread.c
+       camel-folder.c
+       camel-gpg-context.c
+       camel-html-parser.c
+       camel-iconv.c
+       camel-index.c
+       camel-internet-address.c
+       camel-junk-filter.c
+       camel-local-settings.c
+       camel-lock.c
+       camel-medium.c
+       camel-memchunk.c
+       camel-mempool.c
+       camel-mime-filter-basic.c
+       camel-mime-filter-bestenc.c
+       camel-mime-filter-canon.c
+       camel-mime-filter-charset.c
+       camel-mime-filter-crlf.c
+       camel-mime-filter-enriched.c
+       camel-mime-filter-from.c
+       camel-mime-filter-gzip.c
+       camel-mime-filter-html.c
+       camel-mime-filter-index.c
+       camel-mime-filter-linewrap.c
+       camel-mime-filter-pgp.c
+       camel-mime-filter-progress.c
+       camel-mime-filter-tohtml.c
+       camel-mime-filter-windows.c
+       camel-mime-filter-yenc.c
+       camel-mime-filter.c
+       camel-mime-message.c
+       camel-mime-parser.c
+       camel-mime-part-utils.c
+       camel-mime-part.c
+       camel-mime-utils.c
+       camel-msgport.c
+       camel-multipart-encrypted.c
+       camel-multipart-signed.c
+       camel-multipart.c
+       camel-net-utils.c
+       camel-network-service.c
+       camel-network-settings.c
+       camel-nntp-address.c
+       camel-null-output-stream.c
+       camel-object-bag.c
+       camel-object.c
+       camel-offline-folder.c
+       camel-offline-settings.c
+       camel-offline-store.c
+       camel-operation.c
+       camel-partition-table.c
+       camel-provider.c
+       camel-sasl-anonymous.c
+       camel-sasl-cram-md5.c
+       camel-sasl-digest-md5.c
+       camel-sasl-gssapi.c
+       camel-sasl-login.c
+       camel-sasl-ntlm.c
+       camel-sasl-plain.c
+       camel-sasl-popb4smtp.c
+       camel-sasl.c
+       camel-search-private.c
+       camel-search-sql-sexp.c
+       camel-service.c
+       camel-session.c
+       camel-settings.c
+       camel-sexp.c
+       camel-smime-context.c
+       camel-store-settings.c
+       camel-store-summary.c
+       camel-store.c
+       camel-stream-buffer.c
+       camel-stream-filter.c
+       camel-stream-fs.c
+       camel-stream-mem.c
+       camel-stream-null.c
+       camel-stream.c
+       camel-string-utils.c
+       camel-subscribable.c
+       camel-text-index.c
+       camel-transport.c
+       camel-trie.c
+       camel-uid-cache.c
+       camel-url-scanner.c
+       camel-url.c
+       camel-utf8.c
+       camel-vee-data-cache.c
+       camel-vee-folder.c
+       camel-vee-store.c
+       camel-vee-summary.c
+       camel-vtrash-folder.c
+       ${CMAKE_CURRENT_BINARY_DIR}/camel-enumtypes.c
+       ${CMAKE_CURRENT_BINARY_DIR}/camel-mime-tables.c
+)
+
+if(WIN32)
+       list(APPEND SOURCES
+               camel-win32.c
+       )
+else(WIN32)
+       list(APPEND SOURCES
+               camel-lock-client.c
+               camel-movemail.c
+               camel-stream-process.c
+       )
+endif(WIN32)
+
+set(HEADERS
+       camel.h
+       camel-address.h
+       camel-async-closure.h
+       camel-block-file.h
+       camel-certdb.h
+       camel-charset-map.h
+       camel-cipher-context.h
+       camel-data-cache.h
+       camel-data-wrapper.h
+       camel-db.h
+       camel-debug.h
+       camel-enums.h
+       camel-file-utils.h
+       camel-filter-driver.h
+       camel-filter-input-stream.h
+       camel-filter-output-stream.h
+       camel-filter-search.h
+       camel-folder-search.h
+       camel-folder-summary.h
+       camel-folder-thread.h
+       camel-folder.h
+       camel-gpg-context.h
+       camel-html-parser.h
+       camel-iconv.h
+       camel-index.h
+       camel-internet-address.h
+       camel-junk-filter.h
+       camel-local-settings.h
+       camel-lock-client.h
+       camel-lock-helper.h
+       camel-lock.h
+       camel-medium.h
+       camel-memchunk.h
+       camel-mempool.h
+       camel-mime-filter-basic.h
+       camel-mime-filter-bestenc.h
+       camel-mime-filter-canon.h
+       camel-mime-filter-charset.h
+       camel-mime-filter-crlf.h
+       camel-mime-filter-enriched.h
+       camel-mime-filter-from.h
+       camel-mime-filter-gzip.h
+       camel-mime-filter-html.h
+       camel-mime-filter-index.h
+       camel-mime-filter-linewrap.h
+       camel-mime-filter-pgp.h
+       camel-mime-filter-progress.h
+       camel-mime-filter-tohtml.h
+       camel-mime-filter-windows.h
+       camel-mime-filter-yenc.h
+       camel-mime-filter.h
+       camel-mime-message.h
+       camel-mime-parser.h
+       camel-mime-part-utils.h
+       camel-mime-part.h
+       camel-mime-utils.h
+       camel-movemail.h
+       camel-msgport.h
+       camel-multipart-encrypted.h
+       camel-multipart-signed.h
+       camel-multipart.h
+       camel-net-utils.h
+       camel-network-service.h
+       camel-network-settings.h
+       camel-nntp-address.h
+       camel-null-output-stream.h
+       camel-object-bag.h
+       camel-object.h
+       camel-offline-folder.h
+       camel-offline-settings.h
+       camel-offline-store.h
+       camel-operation.h
+       camel-partition-table.h
+       camel-provider.h
+       camel-sasl-anonymous.h
+       camel-sasl-cram-md5.h
+       camel-sasl-digest-md5.h
+       camel-sasl-gssapi.h
+       camel-sasl-login.h
+       camel-sasl-ntlm.h
+       camel-sasl-plain.h
+       camel-sasl-popb4smtp.h
+       camel-sasl.h
+       camel-search-private.h
+       camel-search-sql-sexp.h
+       camel-service.h
+       camel-session.h
+       camel-settings.h
+       camel-sexp.h
+       camel-smime-context.h
+       camel-store-settings.h
+       camel-store-summary.h
+       camel-store.h
+       camel-stream-buffer.h
+       camel-stream-filter.h
+       camel-stream-fs.h
+       camel-stream-mem.h
+       camel-stream-null.h
+       camel-stream-process.h
+       camel-stream.h
+       camel-string-utils.h
+       camel-subscribable.h
+       camel-text-index.h
+       camel-transport.h
+       camel-trie.h
+       camel-uid-cache.h
+       camel-url-scanner.h
+       camel-url.h
+       camel-utf8.h
+       camel-vee-data-cache.h
+       camel-vee-folder.h
+       camel-vee-store.h
+       camel-vee-summary.h
+       camel-vtrash-folder.h
+       ${CMAKE_CURRENT_BINARY_DIR}/camel-enumtypes.h
+)
+
+add_library(camel SHARED
+       ${SOURCES}
+       ${HEADERS}
+)
+
+set_target_properties(camel PROPERTIES
+       VERSION "${LIBCAMEL_CURRENT}.${LIBCAMEL_REVISION}.${LIBCAMEL_AGE}"
+       SOVERSION ${LIBCAMEL_CURRENT}
+       OUTPUT_NAME camel-${API_VERSION}
+)
+
+target_compile_definitions(camel PRIVATE
+       -DG_LOG_DOMAIN=\"camel\"
+       -DCAMEL_LIBEXECDIR=\"${LIBEXEC_INSTALL_DIR}\"
+       -DCAMEL_PROVIDERDIR=\"${camel_providerdir}\"
+       -DE_DATA_SERVER_PREFIX=\"${CMAKE_INSTALL_PREFIX}\"
+       -DLOCALEDIR=\"${LOCALE_INSTALL_DIR}\"
+       -DCAMEL_COMPILATION
+)
+
+target_compile_options(camel PUBLIC
+       ${CAMEL_CFLAGS}
+       ${SOCKET_CFLAGS}
+       ${ICONV_CFLAGS}
+       ${REGEX_CFLAGS}
+       ${LIBDWFL_CFLAGS}
+)
+
+target_include_directories(camel PUBLIC
+       ${CMAKE_BINARY_DIR}
+       ${CMAKE_BINARY_DIR}/src
+       ${CMAKE_CURRENT_BINARY_DIR}
+       ${CMAKE_SOURCE_DIR}/src
+       ${CMAKE_CURRENT_SOURCE_DIR}
+       ${CAMEL_INCLUDE_DIRS}
+       ${SOCKET_INCLUDE_DIRS}
+       ${ICONV_INCLUDE_DIRS}
+       ${REGEX_INCLUDE_DIRS}
+)
+
+target_link_libraries(camel
+       ${CAMEL_LDFLAGS}
+       ${SOCKET_LDFLAGS}
+       ${ICONV_LDFLAGS}
+       ${REGEX_LDFLAGS}
+       ${LIBDWFL_LDFLAGS}
+)
+
+install(TARGETS camel
+       DESTINATION ${LIB_INSTALL_DIR}
+)
+
+install(FILES ${HEADERS}
+       DESTINATION ${privincludedir}/camel
+)
+
+add_pkgconfig_file(camel.pc.in camel-${API_VERSION}.pc)
+
+set(gir_sources ${SOURCES} ${HEADERS})
+set(gir_identifies_prefixes Camel camel)
+set(gir_includes GObject-2.0 Gio-2.0 libxml2-2.0)
+set(gir_cflags ${CAMEL_CFLAGS} -DCAMEL_COMPILATION)
+set(gir_libdirs)
+set(gir_libs camel)
+set(gir_deps)
+
+# Remove the below set() once the typelib will be buildable; the gi-r-compiler crashes with
+#    ERROR:girepository/girparser.c:343:state_switch: assertion failed: (ctx->state != newstate)
+gir_construct_names(Camel ${API_VERSION} camel_gir_name camel_gir_vars_prefix)
+set(${camel_gir_vars_prefix}_SKIP_TYPELIB ON)
+
+gir_add_introspection_simple(
+       Camel
+       camel
+       ${API_VERSION}
+       "camel/camel.h"
+       gir_identifies_prefixes
+       gir_includes
+       gir_cflags
+       gir_libdirs
+       gir_libs
+       gir_deps
+       gir_sources
+)
+
+if(NOT WIN32)
+       add_executable(camel-lock-helper
+               camel-lock.c
+               camel-lock.h
+               camel-lock-helper.c
+               camel-lock-helper.h
+       )
+
+       set_target_properties(camel-lock-helper PROPERTIES
+               OUTPUT_NAME camel-lock-helper-${API_VERSION}
+       )
+
+       target_compile_definitions(camel-lock-helper PRIVATE
+               -DG_LOG_DOMAIN=\"camel-lock-helper\"
+               -DCAMEL_LIBEXECDIR=\"${LIBEXEC_INSTALL_DIR}\"
+               -DCAMEL_PROVIDERDIR=\"${camel_providerdir}\"
+               -DE_DATA_SERVER_PREFIX=\"${CMAKE_INSTALL_PREFIX}\"
+               -DLOCALEDIR=\"${LOCALE_INSTALL_DIR}\"
+               -DCAMEL_COMPILATION
+       )
+
+       target_compile_options(camel-lock-helper PUBLIC
+               ${GNOME_PLATFORM_CFLAGS}
+       )
+
+       target_include_directories(camel-lock-helper PUBLIC
+               ${CMAKE_BINARY_DIR}
+               ${CMAKE_BINARY_DIR}/src
+               ${CMAKE_CURRENT_BINARY_DIR}
+               ${CMAKE_SOURCE_DIR}/src
+               ${CMAKE_CURRENT_SOURCE_DIR}
+               ${GNOME_PLATFORM_INCLUDE_DIRS}
+       )
+
+       target_link_libraries(camel-lock-helper
+               ${GNOME_PLATFORM_LDFLAGS}
+       )
+
+       install(TARGETS camel-lock-helper
+               DESTINATION ${LIBEXEC_INSTALL_DIR}
+       )
+endif(NOT WIN32)
+
+add_executable(camel-index-control
+       camel-index-control.c
+)
+
+add_dependencies(camel-index-control camel)
+
+set_target_properties(camel-index-control PROPERTIES
+       OUTPUT_NAME camel-index-control-${API_VERSION}
+)
+
+target_compile_definitions(camel-index-control PRIVATE
+       -DG_LOG_DOMAIN=\"camel-index-control-${API_VERSION}\"
+       -DCAMEL_LIBEXECDIR=\"${LIBEXEC_INSTALL_DIR}\"
+       -DCAMEL_PROVIDERDIR=\"${camel_providerdir}\"
+       -DE_DATA_SERVER_PREFIX=\"${CMAKE_INSTALL_PREFIX}\"
+       -DLOCALEDIR=\"${LOCALE_INSTALL_DIR}\"
+       -DCAMEL_COMPILATION
+)
+
+target_compile_options(camel-index-control PUBLIC
+       ${CAMEL_CFLAGS}
+       ${SOCKET_CFLAGS}
+       ${ICONV_CFLAGS}
+       ${REGEX_CFLAGS}
+       ${LIBDWFL_CFLAGS}
+)
+
+target_include_directories(camel-index-control PUBLIC
+       ${CMAKE_BINARY_DIR}
+       ${CMAKE_BINARY_DIR}/src
+       ${CMAKE_CURRENT_BINARY_DIR}
+       ${CMAKE_SOURCE_DIR}/src
+       ${CMAKE_CURRENT_SOURCE_DIR}
+       ${CAMEL_INCLUDE_DIRS}
+       ${SOCKET_INCLUDE_DIRS}
+       ${ICONV_INCLUDE_DIRS}
+       ${REGEX_INCLUDE_DIRS}
+)
+
+target_link_libraries(camel-index-control
+       camel
+       ${CAMEL_LDFLAGS}
+       ${SOCKET_LDFLAGS}
+       ${ICONV_LDFLAGS}
+       ${REGEX_LDFLAGS}
+       ${LIBDWFL_LDFLAGS}
+)
+
+install(TARGETS camel-index-control
+       DESTINATION ${LIBEXEC_INSTALL_DIR}
+)
+
+add_executable(camel-gpg-photo-saver
+       camel-gpg-photo-saver.c
+)
+
+target_compile_definitions(camel-gpg-photo-saver PRIVATE
+       -DG_LOG_DOMAIN=\"camel-gpg-photo-saver\"
+)
+
+target_compile_options(camel-gpg-photo-saver PUBLIC
+       ${GNOME_PLATFORM_CFLAGS}
+)
+
+target_include_directories(camel-gpg-photo-saver PUBLIC
+       ${CMAKE_BINARY_DIR}
+       ${CMAKE_BINARY_DIR}/src
+       ${CMAKE_CURRENT_BINARY_DIR}
+       ${CMAKE_SOURCE_DIR}/src
+       ${CMAKE_CURRENT_SOURCE_DIR}
+       ${GNOME_PLATFORM_INCLUDE_DIRS}
+)
+
+target_link_libraries(camel-gpg-photo-saver
+       ${GNOME_PLATFORM_LDFLAGS}
+)
+
+install(TARGETS camel-gpg-photo-saver
+       DESTINATION ${LIBEXEC_INSTALL_DIR}
+)
+
+add_subdirectory(providers)
+add_subdirectory(tests)
diff --git a/camel/CODING.STYLE b/src/camel/CODING.STYLE
similarity index 100%
rename from camel/CODING.STYLE
rename to src/camel/CODING.STYLE
diff --git a/camel/README b/src/camel/README
similarity index 100%
rename from camel/README
rename to src/camel/README
diff --git a/camel/README.HACKING b/src/camel/README.HACKING
similarity index 100%
rename from camel/README.HACKING
rename to src/camel/README.HACKING
diff --git a/camel/README.mt b/src/camel/README.mt
similarity index 100%
rename from camel/README.mt
rename to src/camel/README.mt
diff --git a/camel/camel-address.c b/src/camel/camel-address.c
similarity index 100%
rename from camel/camel-address.c
rename to src/camel/camel-address.c
diff --git a/camel/camel-address.h b/src/camel/camel-address.h
similarity index 100%
rename from camel/camel-address.h
rename to src/camel/camel-address.h
diff --git a/camel/camel-async-closure.c b/src/camel/camel-async-closure.c
similarity index 100%
rename from camel/camel-async-closure.c
rename to src/camel/camel-async-closure.c
diff --git a/camel/camel-async-closure.h b/src/camel/camel-async-closure.h
similarity index 100%
rename from camel/camel-async-closure.h
rename to src/camel/camel-async-closure.h
diff --git a/camel/camel-block-file.c b/src/camel/camel-block-file.c
similarity index 100%
rename from camel/camel-block-file.c
rename to src/camel/camel-block-file.c
diff --git a/camel/camel-block-file.h b/src/camel/camel-block-file.h
similarity index 100%
rename from camel/camel-block-file.h
rename to src/camel/camel-block-file.h
diff --git a/camel/camel-certdb.c b/src/camel/camel-certdb.c
similarity index 100%
rename from camel/camel-certdb.c
rename to src/camel/camel-certdb.c
diff --git a/camel/camel-certdb.h b/src/camel/camel-certdb.h
similarity index 100%
rename from camel/camel-certdb.h
rename to src/camel/camel-certdb.h
diff --git a/camel/camel-charset-map-private.h b/src/camel/camel-charset-map-private.h
similarity index 100%
rename from camel/camel-charset-map-private.h
rename to src/camel/camel-charset-map-private.h
diff --git a/camel/camel-charset-map.c b/src/camel/camel-charset-map.c
similarity index 100%
rename from camel/camel-charset-map.c
rename to src/camel/camel-charset-map.c
diff --git a/camel/camel-charset-map.h b/src/camel/camel-charset-map.h
similarity index 100%
rename from camel/camel-charset-map.h
rename to src/camel/camel-charset-map.h
diff --git a/camel/camel-cipher-context.c b/src/camel/camel-cipher-context.c
similarity index 100%
rename from camel/camel-cipher-context.c
rename to src/camel/camel-cipher-context.c
diff --git a/camel/camel-cipher-context.h b/src/camel/camel-cipher-context.h
similarity index 100%
rename from camel/camel-cipher-context.h
rename to src/camel/camel-cipher-context.h
diff --git a/camel/camel-data-cache.c b/src/camel/camel-data-cache.c
similarity index 100%
rename from camel/camel-data-cache.c
rename to src/camel/camel-data-cache.c
diff --git a/camel/camel-data-cache.h b/src/camel/camel-data-cache.h
similarity index 100%
rename from camel/camel-data-cache.h
rename to src/camel/camel-data-cache.h
diff --git a/camel/camel-data-wrapper.c b/src/camel/camel-data-wrapper.c
similarity index 100%
rename from camel/camel-data-wrapper.c
rename to src/camel/camel-data-wrapper.c
diff --git a/camel/camel-data-wrapper.h b/src/camel/camel-data-wrapper.h
similarity index 100%
rename from camel/camel-data-wrapper.h
rename to src/camel/camel-data-wrapper.h
diff --git a/camel/camel-db.c b/src/camel/camel-db.c
similarity index 100%
rename from camel/camel-db.c
rename to src/camel/camel-db.c
diff --git a/camel/camel-db.h b/src/camel/camel-db.h
similarity index 100%
rename from camel/camel-db.h
rename to src/camel/camel-db.h
diff --git a/camel/camel-debug.c b/src/camel/camel-debug.c
similarity index 100%
rename from camel/camel-debug.c
rename to src/camel/camel-debug.c
diff --git a/camel/camel-debug.h b/src/camel/camel-debug.h
similarity index 100%
rename from camel/camel-debug.h
rename to src/camel/camel-debug.h
diff --git a/camel/camel-enums.h b/src/camel/camel-enums.h
similarity index 100%
rename from camel/camel-enums.h
rename to src/camel/camel-enums.h
diff --git a/camel/camel-file-utils.c b/src/camel/camel-file-utils.c
similarity index 100%
rename from camel/camel-file-utils.c
rename to src/camel/camel-file-utils.c
diff --git a/camel/camel-file-utils.h b/src/camel/camel-file-utils.h
similarity index 100%
rename from camel/camel-file-utils.h
rename to src/camel/camel-file-utils.h
diff --git a/camel/camel-filter-driver.c b/src/camel/camel-filter-driver.c
similarity index 100%
rename from camel/camel-filter-driver.c
rename to src/camel/camel-filter-driver.c
diff --git a/camel/camel-filter-driver.h b/src/camel/camel-filter-driver.h
similarity index 100%
rename from camel/camel-filter-driver.h
rename to src/camel/camel-filter-driver.h
diff --git a/camel/camel-filter-input-stream.c b/src/camel/camel-filter-input-stream.c
similarity index 100%
rename from camel/camel-filter-input-stream.c
rename to src/camel/camel-filter-input-stream.c
diff --git a/camel/camel-filter-input-stream.h b/src/camel/camel-filter-input-stream.h
similarity index 100%
rename from camel/camel-filter-input-stream.h
rename to src/camel/camel-filter-input-stream.h
diff --git a/camel/camel-filter-output-stream.c b/src/camel/camel-filter-output-stream.c
similarity index 100%
rename from camel/camel-filter-output-stream.c
rename to src/camel/camel-filter-output-stream.c
diff --git a/camel/camel-filter-output-stream.h b/src/camel/camel-filter-output-stream.h
similarity index 100%
rename from camel/camel-filter-output-stream.h
rename to src/camel/camel-filter-output-stream.h
diff --git a/camel/camel-filter-search.c b/src/camel/camel-filter-search.c
similarity index 100%
rename from camel/camel-filter-search.c
rename to src/camel/camel-filter-search.c
diff --git a/camel/camel-filter-search.h b/src/camel/camel-filter-search.h
similarity index 100%
rename from camel/camel-filter-search.h
rename to src/camel/camel-filter-search.h
diff --git a/camel/camel-folder-search.c b/src/camel/camel-folder-search.c
similarity index 100%
rename from camel/camel-folder-search.c
rename to src/camel/camel-folder-search.c
diff --git a/camel/camel-folder-search.h b/src/camel/camel-folder-search.h
similarity index 100%
rename from camel/camel-folder-search.h
rename to src/camel/camel-folder-search.h
diff --git a/camel/camel-folder-summary.c b/src/camel/camel-folder-summary.c
similarity index 100%
rename from camel/camel-folder-summary.c
rename to src/camel/camel-folder-summary.c
diff --git a/camel/camel-folder-summary.h b/src/camel/camel-folder-summary.h
similarity index 100%
rename from camel/camel-folder-summary.h
rename to src/camel/camel-folder-summary.h
diff --git a/camel/camel-folder-thread.c b/src/camel/camel-folder-thread.c
similarity index 100%
rename from camel/camel-folder-thread.c
rename to src/camel/camel-folder-thread.c
diff --git a/camel/camel-folder-thread.h b/src/camel/camel-folder-thread.h
similarity index 100%
rename from camel/camel-folder-thread.h
rename to src/camel/camel-folder-thread.h
diff --git a/camel/camel-folder.c b/src/camel/camel-folder.c
similarity index 100%
rename from camel/camel-folder.c
rename to src/camel/camel-folder.c
diff --git a/camel/camel-folder.h b/src/camel/camel-folder.h
similarity index 100%
rename from camel/camel-folder.h
rename to src/camel/camel-folder.h
diff --git a/camel/camel-gpg-context.c b/src/camel/camel-gpg-context.c
similarity index 100%
rename from camel/camel-gpg-context.c
rename to src/camel/camel-gpg-context.c
diff --git a/camel/camel-gpg-context.h b/src/camel/camel-gpg-context.h
similarity index 100%
rename from camel/camel-gpg-context.h
rename to src/camel/camel-gpg-context.h
diff --git a/camel/camel-gpg-photo-saver.c b/src/camel/camel-gpg-photo-saver.c
similarity index 100%
rename from camel/camel-gpg-photo-saver.c
rename to src/camel/camel-gpg-photo-saver.c
diff --git a/camel/camel-html-parser.c b/src/camel/camel-html-parser.c
similarity index 100%
rename from camel/camel-html-parser.c
rename to src/camel/camel-html-parser.c
diff --git a/camel/camel-html-parser.h b/src/camel/camel-html-parser.h
similarity index 100%
rename from camel/camel-html-parser.h
rename to src/camel/camel-html-parser.h
diff --git a/camel/camel-iconv.c b/src/camel/camel-iconv.c
similarity index 100%
rename from camel/camel-iconv.c
rename to src/camel/camel-iconv.c
diff --git a/camel/camel-iconv.h b/src/camel/camel-iconv.h
similarity index 100%
rename from camel/camel-iconv.h
rename to src/camel/camel-iconv.h
diff --git a/camel/camel-index-control.c b/src/camel/camel-index-control.c
similarity index 100%
rename from camel/camel-index-control.c
rename to src/camel/camel-index-control.c
diff --git a/camel/camel-index.c b/src/camel/camel-index.c
similarity index 100%
rename from camel/camel-index.c
rename to src/camel/camel-index.c
diff --git a/camel/camel-index.h b/src/camel/camel-index.h
similarity index 100%
rename from camel/camel-index.h
rename to src/camel/camel-index.h
diff --git a/camel/camel-internet-address.c b/src/camel/camel-internet-address.c
similarity index 100%
rename from camel/camel-internet-address.c
rename to src/camel/camel-internet-address.c
diff --git a/camel/camel-internet-address.h b/src/camel/camel-internet-address.h
similarity index 100%
rename from camel/camel-internet-address.h
rename to src/camel/camel-internet-address.h
diff --git a/camel/camel-junk-filter.c b/src/camel/camel-junk-filter.c
similarity index 100%
rename from camel/camel-junk-filter.c
rename to src/camel/camel-junk-filter.c
diff --git a/camel/camel-junk-filter.h b/src/camel/camel-junk-filter.h
similarity index 100%
rename from camel/camel-junk-filter.h
rename to src/camel/camel-junk-filter.h
diff --git a/camel/camel-local-settings.c b/src/camel/camel-local-settings.c
similarity index 100%
rename from camel/camel-local-settings.c
rename to src/camel/camel-local-settings.c
diff --git a/camel/camel-local-settings.h b/src/camel/camel-local-settings.h
similarity index 100%
rename from camel/camel-local-settings.h
rename to src/camel/camel-local-settings.h
diff --git a/camel/camel-lock-client.c b/src/camel/camel-lock-client.c
similarity index 100%
rename from camel/camel-lock-client.c
rename to src/camel/camel-lock-client.c
diff --git a/camel/camel-lock-client.h b/src/camel/camel-lock-client.h
similarity index 100%
rename from camel/camel-lock-client.h
rename to src/camel/camel-lock-client.h
diff --git a/camel/camel-lock-helper.c b/src/camel/camel-lock-helper.c
similarity index 100%
rename from camel/camel-lock-helper.c
rename to src/camel/camel-lock-helper.c
diff --git a/camel/camel-lock-helper.h b/src/camel/camel-lock-helper.h
similarity index 100%
rename from camel/camel-lock-helper.h
rename to src/camel/camel-lock-helper.h
diff --git a/camel/camel-lock.c b/src/camel/camel-lock.c
similarity index 100%
rename from camel/camel-lock.c
rename to src/camel/camel-lock.c
diff --git a/camel/camel-lock.h b/src/camel/camel-lock.h
similarity index 100%
rename from camel/camel-lock.h
rename to src/camel/camel-lock.h
diff --git a/camel/camel-medium.c b/src/camel/camel-medium.c
similarity index 100%
rename from camel/camel-medium.c
rename to src/camel/camel-medium.c
diff --git a/camel/camel-medium.h b/src/camel/camel-medium.h
similarity index 100%
rename from camel/camel-medium.h
rename to src/camel/camel-medium.h
diff --git a/camel/camel-memchunk.c b/src/camel/camel-memchunk.c
similarity index 100%
rename from camel/camel-memchunk.c
rename to src/camel/camel-memchunk.c
diff --git a/camel/camel-memchunk.h b/src/camel/camel-memchunk.h
similarity index 100%
rename from camel/camel-memchunk.h
rename to src/camel/camel-memchunk.h
diff --git a/camel/camel-mempool.c b/src/camel/camel-mempool.c
similarity index 100%
rename from camel/camel-mempool.c
rename to src/camel/camel-mempool.c
diff --git a/camel/camel-mempool.h b/src/camel/camel-mempool.h
similarity index 100%
rename from camel/camel-mempool.h
rename to src/camel/camel-mempool.h
diff --git a/camel/camel-mime-filter-basic.c b/src/camel/camel-mime-filter-basic.c
similarity index 100%
rename from camel/camel-mime-filter-basic.c
rename to src/camel/camel-mime-filter-basic.c
diff --git a/camel/camel-mime-filter-basic.h b/src/camel/camel-mime-filter-basic.h
similarity index 100%
rename from camel/camel-mime-filter-basic.h
rename to src/camel/camel-mime-filter-basic.h
diff --git a/camel/camel-mime-filter-bestenc.c b/src/camel/camel-mime-filter-bestenc.c
similarity index 100%
rename from camel/camel-mime-filter-bestenc.c
rename to src/camel/camel-mime-filter-bestenc.c
diff --git a/camel/camel-mime-filter-bestenc.h b/src/camel/camel-mime-filter-bestenc.h
similarity index 100%
rename from camel/camel-mime-filter-bestenc.h
rename to src/camel/camel-mime-filter-bestenc.h
diff --git a/camel/camel-mime-filter-canon.c b/src/camel/camel-mime-filter-canon.c
similarity index 100%
rename from camel/camel-mime-filter-canon.c
rename to src/camel/camel-mime-filter-canon.c
diff --git a/camel/camel-mime-filter-canon.h b/src/camel/camel-mime-filter-canon.h
similarity index 100%
rename from camel/camel-mime-filter-canon.h
rename to src/camel/camel-mime-filter-canon.h
diff --git a/camel/camel-mime-filter-charset.c b/src/camel/camel-mime-filter-charset.c
similarity index 100%
rename from camel/camel-mime-filter-charset.c
rename to src/camel/camel-mime-filter-charset.c
diff --git a/camel/camel-mime-filter-charset.h b/src/camel/camel-mime-filter-charset.h
similarity index 100%
rename from camel/camel-mime-filter-charset.h
rename to src/camel/camel-mime-filter-charset.h
diff --git a/camel/camel-mime-filter-crlf.c b/src/camel/camel-mime-filter-crlf.c
similarity index 100%
rename from camel/camel-mime-filter-crlf.c
rename to src/camel/camel-mime-filter-crlf.c
diff --git a/camel/camel-mime-filter-crlf.h b/src/camel/camel-mime-filter-crlf.h
similarity index 100%
rename from camel/camel-mime-filter-crlf.h
rename to src/camel/camel-mime-filter-crlf.h
diff --git a/camel/camel-mime-filter-enriched.c b/src/camel/camel-mime-filter-enriched.c
similarity index 100%
rename from camel/camel-mime-filter-enriched.c
rename to src/camel/camel-mime-filter-enriched.c
diff --git a/camel/camel-mime-filter-enriched.h b/src/camel/camel-mime-filter-enriched.h
similarity index 100%
rename from camel/camel-mime-filter-enriched.h
rename to src/camel/camel-mime-filter-enriched.h
diff --git a/camel/camel-mime-filter-from.c b/src/camel/camel-mime-filter-from.c
similarity index 100%
rename from camel/camel-mime-filter-from.c
rename to src/camel/camel-mime-filter-from.c
diff --git a/camel/camel-mime-filter-from.h b/src/camel/camel-mime-filter-from.h
similarity index 100%
rename from camel/camel-mime-filter-from.h
rename to src/camel/camel-mime-filter-from.h
diff --git a/camel/camel-mime-filter-gzip.c b/src/camel/camel-mime-filter-gzip.c
similarity index 100%
rename from camel/camel-mime-filter-gzip.c
rename to src/camel/camel-mime-filter-gzip.c
diff --git a/camel/camel-mime-filter-gzip.h b/src/camel/camel-mime-filter-gzip.h
similarity index 100%
rename from camel/camel-mime-filter-gzip.h
rename to src/camel/camel-mime-filter-gzip.h
diff --git a/camel/camel-mime-filter-html.c b/src/camel/camel-mime-filter-html.c
similarity index 100%
rename from camel/camel-mime-filter-html.c
rename to src/camel/camel-mime-filter-html.c
diff --git a/camel/camel-mime-filter-html.h b/src/camel/camel-mime-filter-html.h
similarity index 100%
rename from camel/camel-mime-filter-html.h
rename to src/camel/camel-mime-filter-html.h
diff --git a/camel/camel-mime-filter-index.c b/src/camel/camel-mime-filter-index.c
similarity index 100%
rename from camel/camel-mime-filter-index.c
rename to src/camel/camel-mime-filter-index.c
diff --git a/camel/camel-mime-filter-index.h b/src/camel/camel-mime-filter-index.h
similarity index 100%
rename from camel/camel-mime-filter-index.h
rename to src/camel/camel-mime-filter-index.h
diff --git a/camel/camel-mime-filter-linewrap.c b/src/camel/camel-mime-filter-linewrap.c
similarity index 100%
rename from camel/camel-mime-filter-linewrap.c
rename to src/camel/camel-mime-filter-linewrap.c
diff --git a/camel/camel-mime-filter-linewrap.h b/src/camel/camel-mime-filter-linewrap.h
similarity index 100%
rename from camel/camel-mime-filter-linewrap.h
rename to src/camel/camel-mime-filter-linewrap.h
diff --git a/camel/camel-mime-filter-pgp.c b/src/camel/camel-mime-filter-pgp.c
similarity index 100%
rename from camel/camel-mime-filter-pgp.c
rename to src/camel/camel-mime-filter-pgp.c
diff --git a/camel/camel-mime-filter-pgp.h b/src/camel/camel-mime-filter-pgp.h
similarity index 100%
rename from camel/camel-mime-filter-pgp.h
rename to src/camel/camel-mime-filter-pgp.h
diff --git a/camel/camel-mime-filter-progress.c b/src/camel/camel-mime-filter-progress.c
similarity index 100%
rename from camel/camel-mime-filter-progress.c
rename to src/camel/camel-mime-filter-progress.c
diff --git a/camel/camel-mime-filter-progress.h b/src/camel/camel-mime-filter-progress.h
similarity index 100%
rename from camel/camel-mime-filter-progress.h
rename to src/camel/camel-mime-filter-progress.h
diff --git a/camel/camel-mime-filter-tohtml.c b/src/camel/camel-mime-filter-tohtml.c
similarity index 100%
rename from camel/camel-mime-filter-tohtml.c
rename to src/camel/camel-mime-filter-tohtml.c
diff --git a/camel/camel-mime-filter-tohtml.h b/src/camel/camel-mime-filter-tohtml.h
similarity index 100%
rename from camel/camel-mime-filter-tohtml.h
rename to src/camel/camel-mime-filter-tohtml.h
diff --git a/camel/camel-mime-filter-windows.c b/src/camel/camel-mime-filter-windows.c
similarity index 100%
rename from camel/camel-mime-filter-windows.c
rename to src/camel/camel-mime-filter-windows.c
diff --git a/camel/camel-mime-filter-windows.h b/src/camel/camel-mime-filter-windows.h
similarity index 100%
rename from camel/camel-mime-filter-windows.h
rename to src/camel/camel-mime-filter-windows.h
diff --git a/camel/camel-mime-filter-yenc.c b/src/camel/camel-mime-filter-yenc.c
similarity index 100%
rename from camel/camel-mime-filter-yenc.c
rename to src/camel/camel-mime-filter-yenc.c
diff --git a/camel/camel-mime-filter-yenc.h b/src/camel/camel-mime-filter-yenc.h
similarity index 100%
rename from camel/camel-mime-filter-yenc.h
rename to src/camel/camel-mime-filter-yenc.h
diff --git a/camel/camel-mime-filter.c b/src/camel/camel-mime-filter.c
similarity index 100%
rename from camel/camel-mime-filter.c
rename to src/camel/camel-mime-filter.c
diff --git a/camel/camel-mime-filter.h b/src/camel/camel-mime-filter.h
similarity index 100%
rename from camel/camel-mime-filter.h
rename to src/camel/camel-mime-filter.h
diff --git a/camel/camel-mime-message.c b/src/camel/camel-mime-message.c
similarity index 100%
rename from camel/camel-mime-message.c
rename to src/camel/camel-mime-message.c
diff --git a/camel/camel-mime-message.h b/src/camel/camel-mime-message.h
similarity index 100%
rename from camel/camel-mime-message.h
rename to src/camel/camel-mime-message.h
diff --git a/camel/camel-mime-parser.c b/src/camel/camel-mime-parser.c
similarity index 100%
rename from camel/camel-mime-parser.c
rename to src/camel/camel-mime-parser.c
diff --git a/camel/camel-mime-parser.h b/src/camel/camel-mime-parser.h
similarity index 100%
rename from camel/camel-mime-parser.h
rename to src/camel/camel-mime-parser.h
diff --git a/camel/camel-mime-part-utils.c b/src/camel/camel-mime-part-utils.c
similarity index 100%
rename from camel/camel-mime-part-utils.c
rename to src/camel/camel-mime-part-utils.c
diff --git a/camel/camel-mime-part-utils.h b/src/camel/camel-mime-part-utils.h
similarity index 100%
rename from camel/camel-mime-part-utils.h
rename to src/camel/camel-mime-part-utils.h
diff --git a/camel/camel-mime-part.c b/src/camel/camel-mime-part.c
similarity index 100%
rename from camel/camel-mime-part.c
rename to src/camel/camel-mime-part.c
diff --git a/camel/camel-mime-part.h b/src/camel/camel-mime-part.h
similarity index 100%
rename from camel/camel-mime-part.h
rename to src/camel/camel-mime-part.h
diff --git a/camel/camel-mime-utils.c b/src/camel/camel-mime-utils.c
similarity index 100%
rename from camel/camel-mime-utils.c
rename to src/camel/camel-mime-utils.c
diff --git a/camel/camel-mime-utils.h b/src/camel/camel-mime-utils.h
similarity index 100%
rename from camel/camel-mime-utils.h
rename to src/camel/camel-mime-utils.h
diff --git a/camel/camel-movemail.c b/src/camel/camel-movemail.c
similarity index 100%
rename from camel/camel-movemail.c
rename to src/camel/camel-movemail.c
diff --git a/camel/camel-movemail.h b/src/camel/camel-movemail.h
similarity index 100%
rename from camel/camel-movemail.h
rename to src/camel/camel-movemail.h
diff --git a/camel/camel-msgport.c b/src/camel/camel-msgport.c
similarity index 100%
rename from camel/camel-msgport.c
rename to src/camel/camel-msgport.c
diff --git a/camel/camel-msgport.h b/src/camel/camel-msgport.h
similarity index 100%
rename from camel/camel-msgport.h
rename to src/camel/camel-msgport.h
diff --git a/camel/camel-multipart-encrypted.c b/src/camel/camel-multipart-encrypted.c
similarity index 100%
rename from camel/camel-multipart-encrypted.c
rename to src/camel/camel-multipart-encrypted.c
diff --git a/camel/camel-multipart-encrypted.h b/src/camel/camel-multipart-encrypted.h
similarity index 100%
rename from camel/camel-multipart-encrypted.h
rename to src/camel/camel-multipart-encrypted.h
diff --git a/camel/camel-multipart-signed.c b/src/camel/camel-multipart-signed.c
similarity index 100%
rename from camel/camel-multipart-signed.c
rename to src/camel/camel-multipart-signed.c
diff --git a/camel/camel-multipart-signed.h b/src/camel/camel-multipart-signed.h
similarity index 100%
rename from camel/camel-multipart-signed.h
rename to src/camel/camel-multipart-signed.h
diff --git a/camel/camel-multipart.c b/src/camel/camel-multipart.c
similarity index 100%
rename from camel/camel-multipart.c
rename to src/camel/camel-multipart.c
diff --git a/camel/camel-multipart.h b/src/camel/camel-multipart.h
similarity index 100%
rename from camel/camel-multipart.h
rename to src/camel/camel-multipart.h
diff --git a/camel/camel-net-utils.c b/src/camel/camel-net-utils.c
similarity index 100%
rename from camel/camel-net-utils.c
rename to src/camel/camel-net-utils.c
diff --git a/camel/camel-net-utils.h b/src/camel/camel-net-utils.h
similarity index 100%
rename from camel/camel-net-utils.h
rename to src/camel/camel-net-utils.h
diff --git a/camel/camel-network-service.c b/src/camel/camel-network-service.c
similarity index 100%
rename from camel/camel-network-service.c
rename to src/camel/camel-network-service.c
diff --git a/camel/camel-network-service.h b/src/camel/camel-network-service.h
similarity index 100%
rename from camel/camel-network-service.h
rename to src/camel/camel-network-service.h
diff --git a/camel/camel-network-settings.c b/src/camel/camel-network-settings.c
similarity index 100%
rename from camel/camel-network-settings.c
rename to src/camel/camel-network-settings.c
diff --git a/camel/camel-network-settings.h b/src/camel/camel-network-settings.h
similarity index 100%
rename from camel/camel-network-settings.h
rename to src/camel/camel-network-settings.h
diff --git a/camel/camel-nntp-address.c b/src/camel/camel-nntp-address.c
similarity index 100%
rename from camel/camel-nntp-address.c
rename to src/camel/camel-nntp-address.c
diff --git a/camel/camel-nntp-address.h b/src/camel/camel-nntp-address.h
similarity index 100%
rename from camel/camel-nntp-address.h
rename to src/camel/camel-nntp-address.h
diff --git a/camel/camel-null-output-stream.c b/src/camel/camel-null-output-stream.c
similarity index 100%
rename from camel/camel-null-output-stream.c
rename to src/camel/camel-null-output-stream.c
diff --git a/camel/camel-null-output-stream.h b/src/camel/camel-null-output-stream.h
similarity index 100%
rename from camel/camel-null-output-stream.h
rename to src/camel/camel-null-output-stream.h
diff --git a/camel/camel-object-bag.c b/src/camel/camel-object-bag.c
similarity index 100%
rename from camel/camel-object-bag.c
rename to src/camel/camel-object-bag.c
diff --git a/camel/camel-object-bag.h b/src/camel/camel-object-bag.h
similarity index 100%
rename from camel/camel-object-bag.h
rename to src/camel/camel-object-bag.h
diff --git a/camel/camel-object.c b/src/camel/camel-object.c
similarity index 100%
rename from camel/camel-object.c
rename to src/camel/camel-object.c
diff --git a/camel/camel-object.h b/src/camel/camel-object.h
similarity index 100%
rename from camel/camel-object.h
rename to src/camel/camel-object.h
diff --git a/camel/camel-offline-folder.c b/src/camel/camel-offline-folder.c
similarity index 100%
rename from camel/camel-offline-folder.c
rename to src/camel/camel-offline-folder.c
diff --git a/camel/camel-offline-folder.h b/src/camel/camel-offline-folder.h
similarity index 100%
rename from camel/camel-offline-folder.h
rename to src/camel/camel-offline-folder.h
diff --git a/camel/camel-offline-settings.c b/src/camel/camel-offline-settings.c
similarity index 100%
rename from camel/camel-offline-settings.c
rename to src/camel/camel-offline-settings.c
diff --git a/camel/camel-offline-settings.h b/src/camel/camel-offline-settings.h
similarity index 100%
rename from camel/camel-offline-settings.h
rename to src/camel/camel-offline-settings.h
diff --git a/camel/camel-offline-store.c b/src/camel/camel-offline-store.c
similarity index 100%
rename from camel/camel-offline-store.c
rename to src/camel/camel-offline-store.c
diff --git a/camel/camel-offline-store.h b/src/camel/camel-offline-store.h
similarity index 100%
rename from camel/camel-offline-store.h
rename to src/camel/camel-offline-store.h
diff --git a/camel/camel-operation.c b/src/camel/camel-operation.c
similarity index 100%
rename from camel/camel-operation.c
rename to src/camel/camel-operation.c
diff --git a/camel/camel-operation.h b/src/camel/camel-operation.h
similarity index 100%
rename from camel/camel-operation.h
rename to src/camel/camel-operation.h
diff --git a/camel/camel-partition-table.c b/src/camel/camel-partition-table.c
similarity index 100%
rename from camel/camel-partition-table.c
rename to src/camel/camel-partition-table.c
diff --git a/camel/camel-partition-table.h b/src/camel/camel-partition-table.h
similarity index 100%
rename from camel/camel-partition-table.h
rename to src/camel/camel-partition-table.h
diff --git a/camel/camel-provider.c b/src/camel/camel-provider.c
similarity index 100%
rename from camel/camel-provider.c
rename to src/camel/camel-provider.c
diff --git a/camel/camel-provider.h b/src/camel/camel-provider.h
similarity index 100%
rename from camel/camel-provider.h
rename to src/camel/camel-provider.h
diff --git a/camel/camel-sasl-anonymous.c b/src/camel/camel-sasl-anonymous.c
similarity index 100%
rename from camel/camel-sasl-anonymous.c
rename to src/camel/camel-sasl-anonymous.c
diff --git a/camel/camel-sasl-anonymous.h b/src/camel/camel-sasl-anonymous.h
similarity index 100%
rename from camel/camel-sasl-anonymous.h
rename to src/camel/camel-sasl-anonymous.h
diff --git a/camel/camel-sasl-cram-md5.c b/src/camel/camel-sasl-cram-md5.c
similarity index 100%
rename from camel/camel-sasl-cram-md5.c
rename to src/camel/camel-sasl-cram-md5.c
diff --git a/camel/camel-sasl-cram-md5.h b/src/camel/camel-sasl-cram-md5.h
similarity index 100%
rename from camel/camel-sasl-cram-md5.h
rename to src/camel/camel-sasl-cram-md5.h
diff --git a/camel/camel-sasl-digest-md5.c b/src/camel/camel-sasl-digest-md5.c
similarity index 100%
rename from camel/camel-sasl-digest-md5.c
rename to src/camel/camel-sasl-digest-md5.c
diff --git a/camel/camel-sasl-digest-md5.h b/src/camel/camel-sasl-digest-md5.h
similarity index 100%
rename from camel/camel-sasl-digest-md5.h
rename to src/camel/camel-sasl-digest-md5.h
diff --git a/camel/camel-sasl-gssapi.c b/src/camel/camel-sasl-gssapi.c
similarity index 100%
rename from camel/camel-sasl-gssapi.c
rename to src/camel/camel-sasl-gssapi.c
diff --git a/camel/camel-sasl-gssapi.h b/src/camel/camel-sasl-gssapi.h
similarity index 100%
rename from camel/camel-sasl-gssapi.h
rename to src/camel/camel-sasl-gssapi.h
diff --git a/camel/camel-sasl-login.c b/src/camel/camel-sasl-login.c
similarity index 100%
rename from camel/camel-sasl-login.c
rename to src/camel/camel-sasl-login.c
diff --git a/camel/camel-sasl-login.h b/src/camel/camel-sasl-login.h
similarity index 100%
rename from camel/camel-sasl-login.h
rename to src/camel/camel-sasl-login.h
diff --git a/camel/camel-sasl-ntlm.c b/src/camel/camel-sasl-ntlm.c
similarity index 100%
rename from camel/camel-sasl-ntlm.c
rename to src/camel/camel-sasl-ntlm.c
diff --git a/camel/camel-sasl-ntlm.h b/src/camel/camel-sasl-ntlm.h
similarity index 100%
rename from camel/camel-sasl-ntlm.h
rename to src/camel/camel-sasl-ntlm.h
diff --git a/camel/camel-sasl-plain.c b/src/camel/camel-sasl-plain.c
similarity index 100%
rename from camel/camel-sasl-plain.c
rename to src/camel/camel-sasl-plain.c
diff --git a/camel/camel-sasl-plain.h b/src/camel/camel-sasl-plain.h
similarity index 100%
rename from camel/camel-sasl-plain.h
rename to src/camel/camel-sasl-plain.h
diff --git a/camel/camel-sasl-popb4smtp.c b/src/camel/camel-sasl-popb4smtp.c
similarity index 100%
rename from camel/camel-sasl-popb4smtp.c
rename to src/camel/camel-sasl-popb4smtp.c
diff --git a/camel/camel-sasl-popb4smtp.h b/src/camel/camel-sasl-popb4smtp.h
similarity index 100%
rename from camel/camel-sasl-popb4smtp.h
rename to src/camel/camel-sasl-popb4smtp.h
diff --git a/camel/camel-sasl.c b/src/camel/camel-sasl.c
similarity index 100%
rename from camel/camel-sasl.c
rename to src/camel/camel-sasl.c
diff --git a/camel/camel-sasl.h b/src/camel/camel-sasl.h
similarity index 100%
rename from camel/camel-sasl.h
rename to src/camel/camel-sasl.h
diff --git a/camel/camel-search-private.c b/src/camel/camel-search-private.c
similarity index 100%
rename from camel/camel-search-private.c
rename to src/camel/camel-search-private.c
diff --git a/camel/camel-search-private.h b/src/camel/camel-search-private.h
similarity index 100%
rename from camel/camel-search-private.h
rename to src/camel/camel-search-private.h
diff --git a/camel/camel-search-sql-sexp.c b/src/camel/camel-search-sql-sexp.c
similarity index 100%
rename from camel/camel-search-sql-sexp.c
rename to src/camel/camel-search-sql-sexp.c
diff --git a/camel/camel-search-sql-sexp.h b/src/camel/camel-search-sql-sexp.h
similarity index 100%
rename from camel/camel-search-sql-sexp.h
rename to src/camel/camel-search-sql-sexp.h
diff --git a/camel/camel-service.c b/src/camel/camel-service.c
similarity index 100%
rename from camel/camel-service.c
rename to src/camel/camel-service.c
diff --git a/camel/camel-service.h b/src/camel/camel-service.h
similarity index 100%
rename from camel/camel-service.h
rename to src/camel/camel-service.h
diff --git a/camel/camel-session.c b/src/camel/camel-session.c
similarity index 100%
rename from camel/camel-session.c
rename to src/camel/camel-session.c
diff --git a/camel/camel-session.h b/src/camel/camel-session.h
similarity index 100%
rename from camel/camel-session.h
rename to src/camel/camel-session.h
diff --git a/camel/camel-settings.c b/src/camel/camel-settings.c
similarity index 100%
rename from camel/camel-settings.c
rename to src/camel/camel-settings.c
diff --git a/camel/camel-settings.h b/src/camel/camel-settings.h
similarity index 100%
rename from camel/camel-settings.h
rename to src/camel/camel-settings.h
diff --git a/camel/camel-sexp.c b/src/camel/camel-sexp.c
similarity index 100%
rename from camel/camel-sexp.c
rename to src/camel/camel-sexp.c
diff --git a/camel/camel-sexp.h b/src/camel/camel-sexp.h
similarity index 100%
rename from camel/camel-sexp.h
rename to src/camel/camel-sexp.h
diff --git a/camel/camel-smime-context.c b/src/camel/camel-smime-context.c
similarity index 100%
rename from camel/camel-smime-context.c
rename to src/camel/camel-smime-context.c
diff --git a/camel/camel-smime-context.h b/src/camel/camel-smime-context.h
similarity index 100%
rename from camel/camel-smime-context.h
rename to src/camel/camel-smime-context.h
diff --git a/camel/camel-store-settings.c b/src/camel/camel-store-settings.c
similarity index 100%
rename from camel/camel-store-settings.c
rename to src/camel/camel-store-settings.c
diff --git a/camel/camel-store-settings.h b/src/camel/camel-store-settings.h
similarity index 100%
rename from camel/camel-store-settings.h
rename to src/camel/camel-store-settings.h
diff --git a/camel/camel-store-summary.c b/src/camel/camel-store-summary.c
similarity index 100%
rename from camel/camel-store-summary.c
rename to src/camel/camel-store-summary.c
diff --git a/camel/camel-store-summary.h b/src/camel/camel-store-summary.h
similarity index 100%
rename from camel/camel-store-summary.h
rename to src/camel/camel-store-summary.h
diff --git a/camel/camel-store.c b/src/camel/camel-store.c
similarity index 100%
rename from camel/camel-store.c
rename to src/camel/camel-store.c
diff --git a/camel/camel-store.h b/src/camel/camel-store.h
similarity index 100%
rename from camel/camel-store.h
rename to src/camel/camel-store.h
diff --git a/camel/camel-stream-buffer.c b/src/camel/camel-stream-buffer.c
similarity index 100%
rename from camel/camel-stream-buffer.c
rename to src/camel/camel-stream-buffer.c
diff --git a/camel/camel-stream-buffer.h b/src/camel/camel-stream-buffer.h
similarity index 100%
rename from camel/camel-stream-buffer.h
rename to src/camel/camel-stream-buffer.h
diff --git a/camel/camel-stream-filter.c b/src/camel/camel-stream-filter.c
similarity index 100%
rename from camel/camel-stream-filter.c
rename to src/camel/camel-stream-filter.c
diff --git a/camel/camel-stream-filter.h b/src/camel/camel-stream-filter.h
similarity index 100%
rename from camel/camel-stream-filter.h
rename to src/camel/camel-stream-filter.h
diff --git a/camel/camel-stream-fs.c b/src/camel/camel-stream-fs.c
similarity index 100%
rename from camel/camel-stream-fs.c
rename to src/camel/camel-stream-fs.c
diff --git a/camel/camel-stream-fs.h b/src/camel/camel-stream-fs.h
similarity index 100%
rename from camel/camel-stream-fs.h
rename to src/camel/camel-stream-fs.h
diff --git a/camel/camel-stream-mem.c b/src/camel/camel-stream-mem.c
similarity index 100%
rename from camel/camel-stream-mem.c
rename to src/camel/camel-stream-mem.c
diff --git a/camel/camel-stream-mem.h b/src/camel/camel-stream-mem.h
similarity index 100%
rename from camel/camel-stream-mem.h
rename to src/camel/camel-stream-mem.h
diff --git a/camel/camel-stream-null.c b/src/camel/camel-stream-null.c
similarity index 100%
rename from camel/camel-stream-null.c
rename to src/camel/camel-stream-null.c
diff --git a/camel/camel-stream-null.h b/src/camel/camel-stream-null.h
similarity index 100%
rename from camel/camel-stream-null.h
rename to src/camel/camel-stream-null.h
diff --git a/camel/camel-stream-process.c b/src/camel/camel-stream-process.c
similarity index 100%
rename from camel/camel-stream-process.c
rename to src/camel/camel-stream-process.c
diff --git a/camel/camel-stream-process.h b/src/camel/camel-stream-process.h
similarity index 100%
rename from camel/camel-stream-process.h
rename to src/camel/camel-stream-process.h
diff --git a/camel/camel-stream.c b/src/camel/camel-stream.c
similarity index 100%
rename from camel/camel-stream.c
rename to src/camel/camel-stream.c
diff --git a/camel/camel-stream.h b/src/camel/camel-stream.h
similarity index 100%
rename from camel/camel-stream.h
rename to src/camel/camel-stream.h
diff --git a/camel/camel-string-utils.c b/src/camel/camel-string-utils.c
similarity index 100%
rename from camel/camel-string-utils.c
rename to src/camel/camel-string-utils.c
diff --git a/camel/camel-string-utils.h b/src/camel/camel-string-utils.h
similarity index 100%
rename from camel/camel-string-utils.h
rename to src/camel/camel-string-utils.h
diff --git a/camel/camel-subscribable.c b/src/camel/camel-subscribable.c
similarity index 100%
rename from camel/camel-subscribable.c
rename to src/camel/camel-subscribable.c
diff --git a/camel/camel-subscribable.h b/src/camel/camel-subscribable.h
similarity index 100%
rename from camel/camel-subscribable.h
rename to src/camel/camel-subscribable.h
diff --git a/camel/camel-text-index.c b/src/camel/camel-text-index.c
similarity index 100%
rename from camel/camel-text-index.c
rename to src/camel/camel-text-index.c
diff --git a/camel/camel-text-index.h b/src/camel/camel-text-index.h
similarity index 100%
rename from camel/camel-text-index.h
rename to src/camel/camel-text-index.h
diff --git a/camel/camel-transport.c b/src/camel/camel-transport.c
similarity index 100%
rename from camel/camel-transport.c
rename to src/camel/camel-transport.c
diff --git a/camel/camel-transport.h b/src/camel/camel-transport.h
similarity index 100%
rename from camel/camel-transport.h
rename to src/camel/camel-transport.h
diff --git a/camel/camel-trie.c b/src/camel/camel-trie.c
similarity index 100%
rename from camel/camel-trie.c
rename to src/camel/camel-trie.c
diff --git a/camel/camel-trie.h b/src/camel/camel-trie.h
similarity index 100%
rename from camel/camel-trie.h
rename to src/camel/camel-trie.h
diff --git a/camel/camel-uid-cache.c b/src/camel/camel-uid-cache.c
similarity index 100%
rename from camel/camel-uid-cache.c
rename to src/camel/camel-uid-cache.c
diff --git a/camel/camel-uid-cache.h b/src/camel/camel-uid-cache.h
similarity index 100%
rename from camel/camel-uid-cache.h
rename to src/camel/camel-uid-cache.h
diff --git a/camel/camel-url-scanner.c b/src/camel/camel-url-scanner.c
similarity index 100%
rename from camel/camel-url-scanner.c
rename to src/camel/camel-url-scanner.c
diff --git a/camel/camel-url-scanner.h b/src/camel/camel-url-scanner.h
similarity index 100%
rename from camel/camel-url-scanner.h
rename to src/camel/camel-url-scanner.h
diff --git a/camel/camel-url.c b/src/camel/camel-url.c
similarity index 100%
rename from camel/camel-url.c
rename to src/camel/camel-url.c
diff --git a/camel/camel-url.h b/src/camel/camel-url.h
similarity index 100%
rename from camel/camel-url.h
rename to src/camel/camel-url.h
diff --git a/camel/camel-utf8.c b/src/camel/camel-utf8.c
similarity index 100%
rename from camel/camel-utf8.c
rename to src/camel/camel-utf8.c
diff --git a/camel/camel-utf8.h b/src/camel/camel-utf8.h
similarity index 100%
rename from camel/camel-utf8.h
rename to src/camel/camel-utf8.h
diff --git a/camel/camel-vee-data-cache.c b/src/camel/camel-vee-data-cache.c
similarity index 100%
rename from camel/camel-vee-data-cache.c
rename to src/camel/camel-vee-data-cache.c
diff --git a/camel/camel-vee-data-cache.h b/src/camel/camel-vee-data-cache.h
similarity index 100%
rename from camel/camel-vee-data-cache.h
rename to src/camel/camel-vee-data-cache.h
diff --git a/camel/camel-vee-folder.c b/src/camel/camel-vee-folder.c
similarity index 100%
rename from camel/camel-vee-folder.c
rename to src/camel/camel-vee-folder.c
diff --git a/camel/camel-vee-folder.h b/src/camel/camel-vee-folder.h
similarity index 100%
rename from camel/camel-vee-folder.h
rename to src/camel/camel-vee-folder.h
diff --git a/camel/camel-vee-store.c b/src/camel/camel-vee-store.c
similarity index 100%
rename from camel/camel-vee-store.c
rename to src/camel/camel-vee-store.c
diff --git a/camel/camel-vee-store.h b/src/camel/camel-vee-store.h
similarity index 100%
rename from camel/camel-vee-store.h
rename to src/camel/camel-vee-store.h
diff --git a/camel/camel-vee-summary.c b/src/camel/camel-vee-summary.c
similarity index 100%
rename from camel/camel-vee-summary.c
rename to src/camel/camel-vee-summary.c
diff --git a/camel/camel-vee-summary.h b/src/camel/camel-vee-summary.h
similarity index 100%
rename from camel/camel-vee-summary.h
rename to src/camel/camel-vee-summary.h
diff --git a/camel/camel-vtrash-folder.c b/src/camel/camel-vtrash-folder.c
similarity index 100%
rename from camel/camel-vtrash-folder.c
rename to src/camel/camel-vtrash-folder.c
diff --git a/camel/camel-vtrash-folder.h b/src/camel/camel-vtrash-folder.h
similarity index 100%
rename from camel/camel-vtrash-folder.h
rename to src/camel/camel-vtrash-folder.h
diff --git a/camel/camel-win32.c b/src/camel/camel-win32.c
similarity index 100%
rename from camel/camel-win32.c
rename to src/camel/camel-win32.c
diff --git a/camel/camel-win32.h b/src/camel/camel-win32.h
similarity index 100%
rename from camel/camel-win32.h
rename to src/camel/camel-win32.h
diff --git a/camel/camel.c b/src/camel/camel.c
similarity index 100%
rename from camel/camel.c
rename to src/camel/camel.c
diff --git a/camel/camel.h b/src/camel/camel.h
similarity index 100%
rename from camel/camel.h
rename to src/camel/camel.h
diff --git a/camel/camel.pc.in b/src/camel/camel.pc.in
similarity index 100%
rename from camel/camel.pc.in
rename to src/camel/camel.pc.in
diff --git a/camel/devel-docs/camel-index.txt b/src/camel/devel-docs/camel-index.txt
similarity index 100%
rename from camel/devel-docs/camel-index.txt
rename to src/camel/devel-docs/camel-index.txt
diff --git a/camel/gentables.pl b/src/camel/gentables.pl
similarity index 100%
rename from camel/gentables.pl
rename to src/camel/gentables.pl
diff --git a/camel/providers/CMakeLists.txt b/src/camel/providers/CMakeLists.txt
similarity index 100%
rename from camel/providers/CMakeLists.txt
rename to src/camel/providers/CMakeLists.txt
diff --git a/src/camel/providers/imapx/CMakeLists.txt b/src/camel/providers/imapx/CMakeLists.txt
new file mode 100644
index 0000000..5395f24
--- /dev/null
+++ b/src/camel/providers/imapx/CMakeLists.txt
@@ -0,0 +1,93 @@
+set(SOURCES
+       camel-imapx-provider.c
+       camel-imapx-command.c
+       camel-imapx-command.h
+       camel-imapx-conn-manager.c
+       camel-imapx-conn-manager.h
+       camel-imapx-folder.c
+       camel-imapx-folder.h
+       camel-imapx-input-stream.c
+       camel-imapx-input-stream.h
+       camel-imapx-job.c
+       camel-imapx-job.h
+       camel-imapx-list-response.c
+       camel-imapx-list-response.h
+       camel-imapx-logger.c
+       camel-imapx-logger.h
+       camel-imapx-mailbox.c
+       camel-imapx-mailbox.h
+       camel-imapx-namespace.c
+       camel-imapx-namespace.h
+       camel-imapx-namespace-response.c
+       camel-imapx-namespace-response.h
+       camel-imapx-search.c
+       camel-imapx-search.h
+       camel-imapx-server.c
+       camel-imapx-server.h
+       camel-imapx-settings.c
+       camel-imapx-settings.h
+       camel-imapx-status-response.c
+       camel-imapx-status-response.h
+       camel-imapx-store.c
+       camel-imapx-store.h
+       camel-imapx-store-summary.c
+       camel-imapx-store-summary.h
+       camel-imapx-summary.c
+       camel-imapx-summary.h
+       camel-imapx-tokenise.h
+       camel-imapx-utils.c
+       camel-imapx-utils.h
+)
+
+set(DEPENDENCIES
+       camel
+)
+
+add_custom_command(
+       OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/camel-imapx-tokenise.h
+       COMMAND ${GPERF} -H imapx_hash -N imapx_tokenise_struct -L ANSI-C -o -t -k1,$$ 
${CMAKE_CURRENT_SOURCE_DIR}/camel-imapx-tokens.txt 
--output-file=${CMAKE_CURRENT_BINARY_DIR}/camel-imapx-tokenise.h
+       DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/camel-imapx-tokens.txt
+)
+
+add_library(camelimapx MODULE ${SOURCES})
+
+add_dependencies(camelimapx
+       ${DEPENDENCIES}
+)
+
+target_compile_definitions(camelimapx PRIVATE
+       -DG_LOG_DOMAIN=\"camel-imapx-provider\"
+)
+
+target_compile_options(camelimapx PUBLIC
+       ${CAMEL_CFLAGS}
+       ${GIO_UNIX_CFLAGS}
+       ${CALENDAR_CFLAGS}
+)
+
+target_include_directories(camelimapx PUBLIC
+       ${CMAKE_BINARY_DIR}
+       ${CMAKE_BINARY_DIR}/src
+       ${CMAKE_BINARY_DIR}/src/camel
+       ${CMAKE_SOURCE_DIR}/src
+       ${CMAKE_SOURCE_DIR}/src/camel
+       ${CMAKE_CURRENT_BINARY_DIR}
+       ${CAMEL_INCLUDE_DIRS}
+       ${GIO_UNIX_INCLUDE_DIRS}
+       ${CALENDAR_INCLUDE_DIRS}
+)
+
+target_link_libraries(camelimapx
+       ${DEPENDENCIES}
+       ${CAMEL_LDFLAGS}
+       ${GIO_UNIX_LDFLAGS}
+       ${CALENDAR_LDFLAGS}
+)
+
+install(TARGETS camelimapx
+       DESTINATION ${camel_providerdir}
+)
+
+install(FILES libcamelimapx.urls
+       DESTINATION ${camel_providerdir}
+)
diff --git a/camel/providers/imapx/camel-imapx-command.c b/src/camel/providers/imapx/camel-imapx-command.c
similarity index 100%
rename from camel/providers/imapx/camel-imapx-command.c
rename to src/camel/providers/imapx/camel-imapx-command.c
diff --git a/camel/providers/imapx/camel-imapx-command.h b/src/camel/providers/imapx/camel-imapx-command.h
similarity index 100%
rename from camel/providers/imapx/camel-imapx-command.h
rename to src/camel/providers/imapx/camel-imapx-command.h
diff --git a/camel/providers/imapx/camel-imapx-conn-manager.c 
b/src/camel/providers/imapx/camel-imapx-conn-manager.c
similarity index 100%
rename from camel/providers/imapx/camel-imapx-conn-manager.c
rename to src/camel/providers/imapx/camel-imapx-conn-manager.c
diff --git a/camel/providers/imapx/camel-imapx-conn-manager.h 
b/src/camel/providers/imapx/camel-imapx-conn-manager.h
similarity index 100%
rename from camel/providers/imapx/camel-imapx-conn-manager.h
rename to src/camel/providers/imapx/camel-imapx-conn-manager.h
diff --git a/camel/providers/imapx/camel-imapx-folder.c b/src/camel/providers/imapx/camel-imapx-folder.c
similarity index 100%
rename from camel/providers/imapx/camel-imapx-folder.c
rename to src/camel/providers/imapx/camel-imapx-folder.c
diff --git a/camel/providers/imapx/camel-imapx-folder.h b/src/camel/providers/imapx/camel-imapx-folder.h
similarity index 100%
rename from camel/providers/imapx/camel-imapx-folder.h
rename to src/camel/providers/imapx/camel-imapx-folder.h
diff --git a/camel/providers/imapx/camel-imapx-input-stream.c 
b/src/camel/providers/imapx/camel-imapx-input-stream.c
similarity index 100%
rename from camel/providers/imapx/camel-imapx-input-stream.c
rename to src/camel/providers/imapx/camel-imapx-input-stream.c
diff --git a/camel/providers/imapx/camel-imapx-input-stream.h 
b/src/camel/providers/imapx/camel-imapx-input-stream.h
similarity index 100%
rename from camel/providers/imapx/camel-imapx-input-stream.h
rename to src/camel/providers/imapx/camel-imapx-input-stream.h
diff --git a/camel/providers/imapx/camel-imapx-job.c b/src/camel/providers/imapx/camel-imapx-job.c
similarity index 100%
rename from camel/providers/imapx/camel-imapx-job.c
rename to src/camel/providers/imapx/camel-imapx-job.c
diff --git a/camel/providers/imapx/camel-imapx-job.h b/src/camel/providers/imapx/camel-imapx-job.h
similarity index 100%
rename from camel/providers/imapx/camel-imapx-job.h
rename to src/camel/providers/imapx/camel-imapx-job.h
diff --git a/camel/providers/imapx/camel-imapx-list-response.c 
b/src/camel/providers/imapx/camel-imapx-list-response.c
similarity index 100%
rename from camel/providers/imapx/camel-imapx-list-response.c
rename to src/camel/providers/imapx/camel-imapx-list-response.c
diff --git a/camel/providers/imapx/camel-imapx-list-response.h 
b/src/camel/providers/imapx/camel-imapx-list-response.h
similarity index 100%
rename from camel/providers/imapx/camel-imapx-list-response.h
rename to src/camel/providers/imapx/camel-imapx-list-response.h
diff --git a/camel/providers/imapx/camel-imapx-logger.c b/src/camel/providers/imapx/camel-imapx-logger.c
similarity index 100%
rename from camel/providers/imapx/camel-imapx-logger.c
rename to src/camel/providers/imapx/camel-imapx-logger.c
diff --git a/camel/providers/imapx/camel-imapx-logger.h b/src/camel/providers/imapx/camel-imapx-logger.h
similarity index 100%
rename from camel/providers/imapx/camel-imapx-logger.h
rename to src/camel/providers/imapx/camel-imapx-logger.h
diff --git a/camel/providers/imapx/camel-imapx-mailbox.c b/src/camel/providers/imapx/camel-imapx-mailbox.c
similarity index 100%
rename from camel/providers/imapx/camel-imapx-mailbox.c
rename to src/camel/providers/imapx/camel-imapx-mailbox.c
diff --git a/camel/providers/imapx/camel-imapx-mailbox.h b/src/camel/providers/imapx/camel-imapx-mailbox.h
similarity index 100%
rename from camel/providers/imapx/camel-imapx-mailbox.h
rename to src/camel/providers/imapx/camel-imapx-mailbox.h
diff --git a/camel/providers/imapx/camel-imapx-namespace-response.c 
b/src/camel/providers/imapx/camel-imapx-namespace-response.c
similarity index 100%
rename from camel/providers/imapx/camel-imapx-namespace-response.c
rename to src/camel/providers/imapx/camel-imapx-namespace-response.c
diff --git a/camel/providers/imapx/camel-imapx-namespace-response.h 
b/src/camel/providers/imapx/camel-imapx-namespace-response.h
similarity index 100%
rename from camel/providers/imapx/camel-imapx-namespace-response.h
rename to src/camel/providers/imapx/camel-imapx-namespace-response.h
diff --git a/camel/providers/imapx/camel-imapx-namespace.c b/src/camel/providers/imapx/camel-imapx-namespace.c
similarity index 100%
rename from camel/providers/imapx/camel-imapx-namespace.c
rename to src/camel/providers/imapx/camel-imapx-namespace.c
diff --git a/camel/providers/imapx/camel-imapx-namespace.h b/src/camel/providers/imapx/camel-imapx-namespace.h
similarity index 100%
rename from camel/providers/imapx/camel-imapx-namespace.h
rename to src/camel/providers/imapx/camel-imapx-namespace.h
diff --git a/camel/providers/imapx/camel-imapx-provider.c b/src/camel/providers/imapx/camel-imapx-provider.c
similarity index 100%
rename from camel/providers/imapx/camel-imapx-provider.c
rename to src/camel/providers/imapx/camel-imapx-provider.c
diff --git a/camel/providers/imapx/camel-imapx-search.c b/src/camel/providers/imapx/camel-imapx-search.c
similarity index 100%
rename from camel/providers/imapx/camel-imapx-search.c
rename to src/camel/providers/imapx/camel-imapx-search.c
diff --git a/camel/providers/imapx/camel-imapx-search.h b/src/camel/providers/imapx/camel-imapx-search.h
similarity index 100%
rename from camel/providers/imapx/camel-imapx-search.h
rename to src/camel/providers/imapx/camel-imapx-search.h
diff --git a/camel/providers/imapx/camel-imapx-server.c b/src/camel/providers/imapx/camel-imapx-server.c
similarity index 100%
rename from camel/providers/imapx/camel-imapx-server.c
rename to src/camel/providers/imapx/camel-imapx-server.c
diff --git a/camel/providers/imapx/camel-imapx-server.h b/src/camel/providers/imapx/camel-imapx-server.h
similarity index 100%
rename from camel/providers/imapx/camel-imapx-server.h
rename to src/camel/providers/imapx/camel-imapx-server.h
diff --git a/camel/providers/imapx/camel-imapx-settings.c b/src/camel/providers/imapx/camel-imapx-settings.c
similarity index 100%
rename from camel/providers/imapx/camel-imapx-settings.c
rename to src/camel/providers/imapx/camel-imapx-settings.c
diff --git a/camel/providers/imapx/camel-imapx-settings.h b/src/camel/providers/imapx/camel-imapx-settings.h
similarity index 100%
rename from camel/providers/imapx/camel-imapx-settings.h
rename to src/camel/providers/imapx/camel-imapx-settings.h
diff --git a/camel/providers/imapx/camel-imapx-status-response.c 
b/src/camel/providers/imapx/camel-imapx-status-response.c
similarity index 100%
rename from camel/providers/imapx/camel-imapx-status-response.c
rename to src/camel/providers/imapx/camel-imapx-status-response.c
diff --git a/camel/providers/imapx/camel-imapx-status-response.h 
b/src/camel/providers/imapx/camel-imapx-status-response.h
similarity index 100%
rename from camel/providers/imapx/camel-imapx-status-response.h
rename to src/camel/providers/imapx/camel-imapx-status-response.h
diff --git a/camel/providers/imapx/camel-imapx-store-summary.c 
b/src/camel/providers/imapx/camel-imapx-store-summary.c
similarity index 100%
rename from camel/providers/imapx/camel-imapx-store-summary.c
rename to src/camel/providers/imapx/camel-imapx-store-summary.c
diff --git a/camel/providers/imapx/camel-imapx-store-summary.h 
b/src/camel/providers/imapx/camel-imapx-store-summary.h
similarity index 100%
rename from camel/providers/imapx/camel-imapx-store-summary.h
rename to src/camel/providers/imapx/camel-imapx-store-summary.h
diff --git a/camel/providers/imapx/camel-imapx-store.c b/src/camel/providers/imapx/camel-imapx-store.c
similarity index 100%
rename from camel/providers/imapx/camel-imapx-store.c
rename to src/camel/providers/imapx/camel-imapx-store.c
diff --git a/camel/providers/imapx/camel-imapx-store.h b/src/camel/providers/imapx/camel-imapx-store.h
similarity index 100%
rename from camel/providers/imapx/camel-imapx-store.h
rename to src/camel/providers/imapx/camel-imapx-store.h
diff --git a/camel/providers/imapx/camel-imapx-summary.c b/src/camel/providers/imapx/camel-imapx-summary.c
similarity index 100%
rename from camel/providers/imapx/camel-imapx-summary.c
rename to src/camel/providers/imapx/camel-imapx-summary.c
diff --git a/camel/providers/imapx/camel-imapx-summary.h b/src/camel/providers/imapx/camel-imapx-summary.h
similarity index 100%
rename from camel/providers/imapx/camel-imapx-summary.h
rename to src/camel/providers/imapx/camel-imapx-summary.h
diff --git a/camel/providers/imapx/camel-imapx-tokens.txt b/src/camel/providers/imapx/camel-imapx-tokens.txt
similarity index 100%
rename from camel/providers/imapx/camel-imapx-tokens.txt
rename to src/camel/providers/imapx/camel-imapx-tokens.txt
diff --git a/camel/providers/imapx/camel-imapx-utils.c b/src/camel/providers/imapx/camel-imapx-utils.c
similarity index 100%
rename from camel/providers/imapx/camel-imapx-utils.c
rename to src/camel/providers/imapx/camel-imapx-utils.c
diff --git a/camel/providers/imapx/camel-imapx-utils.h b/src/camel/providers/imapx/camel-imapx-utils.h
similarity index 100%
rename from camel/providers/imapx/camel-imapx-utils.h
rename to src/camel/providers/imapx/camel-imapx-utils.h
diff --git a/camel/providers/imapx/libcamelimapx.urls b/src/camel/providers/imapx/libcamelimapx.urls
similarity index 100%
rename from camel/providers/imapx/libcamelimapx.urls
rename to src/camel/providers/imapx/libcamelimapx.urls
diff --git a/src/camel/providers/local/CMakeLists.txt b/src/camel/providers/local/CMakeLists.txt
new file mode 100644
index 0000000..169e489
--- /dev/null
+++ b/src/camel/providers/local/CMakeLists.txt
@@ -0,0 +1,84 @@
+set(SOURCES
+       camel-local-folder.c
+       camel-local-folder.h
+       camel-local-store.c
+       camel-local-store.h
+       camel-local-summary.c
+       camel-local-summary.h
+       camel-local-private.c
+       camel-local-private.h
+       camel-local-provider.c
+       camel-maildir-folder.c
+       camel-maildir-folder.h
+       camel-maildir-store.c
+       camel-maildir-store.h
+       camel-maildir-summary.c
+       camel-maildir-summary.h
+       camel-mbox-folder.c
+       camel-mbox-folder.h
+       camel-mbox-store.c
+       camel-mbox-store.h
+       camel-mbox-summary.c
+       camel-mbox-summary.h
+       camel-mh-folder.c
+       camel-mh-folder.h
+       camel-mh-settings.c
+       camel-mh-settings.h
+       camel-mh-store.c
+       camel-mh-store.h
+       camel-mh-summary.c
+       camel-mh-summary.h
+)
+
+set(DEPENDENCIES
+       camel
+)
+
+if(NOT WIN32)
+       list(APPEND SOURCES
+               camel-spool-folder.c
+               camel-spool-folder.h
+               camel-spool-settings.c
+               camel-spool-settings.h
+               camel-spool-store.c
+               camel-spool-store.h
+               camel-spool-summary.c
+               camel-spool-summary.h
+       )
+endif(NOT WIN32)
+
+add_library(camellocal MODULE ${SOURCES})
+
+add_dependencies(camellocal
+       ${DEPENDENCIES}
+)
+
+target_compile_definitions(camellocal PRIVATE
+       -DG_LOG_DOMAIN=\"camel-local-provider\"
+)
+
+target_compile_options(camellocal PUBLIC
+       ${CAMEL_CFLAGS}
+)
+
+target_include_directories(camellocal PUBLIC
+       ${CMAKE_BINARY_DIR}
+       ${CMAKE_BINARY_DIR}/src
+       ${CMAKE_BINARY_DIR}/src/camel
+       ${CMAKE_SOURCE_DIR}/src
+       ${CMAKE_SOURCE_DIR}/src/camel
+       ${CAMEL_INCLUDE_DIRS}
+)
+
+target_link_libraries(camellocal
+       ${DEPENDENCIES}
+       ${CAMEL_LDFLAGS}
+)
+
+install(TARGETS camellocal
+       DESTINATION ${camel_providerdir}
+)
+
+install(FILES libcamellocal.urls
+       DESTINATION ${camel_providerdir}
+)
diff --git a/camel/providers/local/camel-local-folder.c b/src/camel/providers/local/camel-local-folder.c
similarity index 100%
rename from camel/providers/local/camel-local-folder.c
rename to src/camel/providers/local/camel-local-folder.c
diff --git a/camel/providers/local/camel-local-folder.h b/src/camel/providers/local/camel-local-folder.h
similarity index 100%
rename from camel/providers/local/camel-local-folder.h
rename to src/camel/providers/local/camel-local-folder.h
diff --git a/camel/providers/local/camel-local-private.c b/src/camel/providers/local/camel-local-private.c
similarity index 100%
rename from camel/providers/local/camel-local-private.c
rename to src/camel/providers/local/camel-local-private.c
diff --git a/camel/providers/local/camel-local-private.h b/src/camel/providers/local/camel-local-private.h
similarity index 100%
rename from camel/providers/local/camel-local-private.h
rename to src/camel/providers/local/camel-local-private.h
diff --git a/camel/providers/local/camel-local-provider.c b/src/camel/providers/local/camel-local-provider.c
similarity index 100%
rename from camel/providers/local/camel-local-provider.c
rename to src/camel/providers/local/camel-local-provider.c
diff --git a/camel/providers/local/camel-local-store.c b/src/camel/providers/local/camel-local-store.c
similarity index 100%
rename from camel/providers/local/camel-local-store.c
rename to src/camel/providers/local/camel-local-store.c
diff --git a/camel/providers/local/camel-local-store.h b/src/camel/providers/local/camel-local-store.h
similarity index 100%
rename from camel/providers/local/camel-local-store.h
rename to src/camel/providers/local/camel-local-store.h
diff --git a/camel/providers/local/camel-local-summary.c b/src/camel/providers/local/camel-local-summary.c
similarity index 100%
rename from camel/providers/local/camel-local-summary.c
rename to src/camel/providers/local/camel-local-summary.c
diff --git a/camel/providers/local/camel-local-summary.h b/src/camel/providers/local/camel-local-summary.h
similarity index 100%
rename from camel/providers/local/camel-local-summary.h
rename to src/camel/providers/local/camel-local-summary.h
diff --git a/camel/providers/local/camel-maildir-folder.c b/src/camel/providers/local/camel-maildir-folder.c
similarity index 100%
rename from camel/providers/local/camel-maildir-folder.c
rename to src/camel/providers/local/camel-maildir-folder.c
diff --git a/camel/providers/local/camel-maildir-folder.h b/src/camel/providers/local/camel-maildir-folder.h
similarity index 100%
rename from camel/providers/local/camel-maildir-folder.h
rename to src/camel/providers/local/camel-maildir-folder.h
diff --git a/camel/providers/local/camel-maildir-store.c b/src/camel/providers/local/camel-maildir-store.c
similarity index 100%
rename from camel/providers/local/camel-maildir-store.c
rename to src/camel/providers/local/camel-maildir-store.c
diff --git a/camel/providers/local/camel-maildir-store.h b/src/camel/providers/local/camel-maildir-store.h
similarity index 100%
rename from camel/providers/local/camel-maildir-store.h
rename to src/camel/providers/local/camel-maildir-store.h
diff --git a/camel/providers/local/camel-maildir-summary.c b/src/camel/providers/local/camel-maildir-summary.c
similarity index 100%
rename from camel/providers/local/camel-maildir-summary.c
rename to src/camel/providers/local/camel-maildir-summary.c
diff --git a/camel/providers/local/camel-maildir-summary.h b/src/camel/providers/local/camel-maildir-summary.h
similarity index 100%
rename from camel/providers/local/camel-maildir-summary.h
rename to src/camel/providers/local/camel-maildir-summary.h
diff --git a/camel/providers/local/camel-mbox-folder.c b/src/camel/providers/local/camel-mbox-folder.c
similarity index 100%
rename from camel/providers/local/camel-mbox-folder.c
rename to src/camel/providers/local/camel-mbox-folder.c
diff --git a/camel/providers/local/camel-mbox-folder.h b/src/camel/providers/local/camel-mbox-folder.h
similarity index 100%
rename from camel/providers/local/camel-mbox-folder.h
rename to src/camel/providers/local/camel-mbox-folder.h
diff --git a/camel/providers/local/camel-mbox-store.c b/src/camel/providers/local/camel-mbox-store.c
similarity index 100%
rename from camel/providers/local/camel-mbox-store.c
rename to src/camel/providers/local/camel-mbox-store.c
diff --git a/camel/providers/local/camel-mbox-store.h b/src/camel/providers/local/camel-mbox-store.h
similarity index 100%
rename from camel/providers/local/camel-mbox-store.h
rename to src/camel/providers/local/camel-mbox-store.h
diff --git a/camel/providers/local/camel-mbox-summary.c b/src/camel/providers/local/camel-mbox-summary.c
similarity index 100%
rename from camel/providers/local/camel-mbox-summary.c
rename to src/camel/providers/local/camel-mbox-summary.c
diff --git a/camel/providers/local/camel-mbox-summary.h b/src/camel/providers/local/camel-mbox-summary.h
similarity index 100%
rename from camel/providers/local/camel-mbox-summary.h
rename to src/camel/providers/local/camel-mbox-summary.h
diff --git a/camel/providers/local/camel-mh-folder.c b/src/camel/providers/local/camel-mh-folder.c
similarity index 100%
rename from camel/providers/local/camel-mh-folder.c
rename to src/camel/providers/local/camel-mh-folder.c
diff --git a/camel/providers/local/camel-mh-folder.h b/src/camel/providers/local/camel-mh-folder.h
similarity index 100%
rename from camel/providers/local/camel-mh-folder.h
rename to src/camel/providers/local/camel-mh-folder.h
diff --git a/camel/providers/local/camel-mh-settings.c b/src/camel/providers/local/camel-mh-settings.c
similarity index 100%
rename from camel/providers/local/camel-mh-settings.c
rename to src/camel/providers/local/camel-mh-settings.c
diff --git a/camel/providers/local/camel-mh-settings.h b/src/camel/providers/local/camel-mh-settings.h
similarity index 100%
rename from camel/providers/local/camel-mh-settings.h
rename to src/camel/providers/local/camel-mh-settings.h
diff --git a/camel/providers/local/camel-mh-store.c b/src/camel/providers/local/camel-mh-store.c
similarity index 100%
rename from camel/providers/local/camel-mh-store.c
rename to src/camel/providers/local/camel-mh-store.c
diff --git a/camel/providers/local/camel-mh-store.h b/src/camel/providers/local/camel-mh-store.h
similarity index 100%
rename from camel/providers/local/camel-mh-store.h
rename to src/camel/providers/local/camel-mh-store.h
diff --git a/camel/providers/local/camel-mh-summary.c b/src/camel/providers/local/camel-mh-summary.c
similarity index 100%
rename from camel/providers/local/camel-mh-summary.c
rename to src/camel/providers/local/camel-mh-summary.c
diff --git a/camel/providers/local/camel-mh-summary.h b/src/camel/providers/local/camel-mh-summary.h
similarity index 100%
rename from camel/providers/local/camel-mh-summary.h
rename to src/camel/providers/local/camel-mh-summary.h
diff --git a/camel/providers/local/camel-spool-folder.c b/src/camel/providers/local/camel-spool-folder.c
similarity index 100%
rename from camel/providers/local/camel-spool-folder.c
rename to src/camel/providers/local/camel-spool-folder.c
diff --git a/camel/providers/local/camel-spool-folder.h b/src/camel/providers/local/camel-spool-folder.h
similarity index 100%
rename from camel/providers/local/camel-spool-folder.h
rename to src/camel/providers/local/camel-spool-folder.h
diff --git a/camel/providers/local/camel-spool-settings.c b/src/camel/providers/local/camel-spool-settings.c
similarity index 100%
rename from camel/providers/local/camel-spool-settings.c
rename to src/camel/providers/local/camel-spool-settings.c
diff --git a/camel/providers/local/camel-spool-settings.h b/src/camel/providers/local/camel-spool-settings.h
similarity index 100%
rename from camel/providers/local/camel-spool-settings.h
rename to src/camel/providers/local/camel-spool-settings.h
diff --git a/camel/providers/local/camel-spool-store.c b/src/camel/providers/local/camel-spool-store.c
similarity index 100%
rename from camel/providers/local/camel-spool-store.c
rename to src/camel/providers/local/camel-spool-store.c
diff --git a/camel/providers/local/camel-spool-store.h b/src/camel/providers/local/camel-spool-store.h
similarity index 100%
rename from camel/providers/local/camel-spool-store.h
rename to src/camel/providers/local/camel-spool-store.h
diff --git a/camel/providers/local/camel-spool-summary.c b/src/camel/providers/local/camel-spool-summary.c
similarity index 100%
rename from camel/providers/local/camel-spool-summary.c
rename to src/camel/providers/local/camel-spool-summary.c
diff --git a/camel/providers/local/camel-spool-summary.h b/src/camel/providers/local/camel-spool-summary.h
similarity index 100%
rename from camel/providers/local/camel-spool-summary.h
rename to src/camel/providers/local/camel-spool-summary.h
diff --git a/camel/providers/local/libcamellocal.urls b/src/camel/providers/local/libcamellocal.urls
similarity index 100%
rename from camel/providers/local/libcamellocal.urls
rename to src/camel/providers/local/libcamellocal.urls
diff --git a/src/camel/providers/nntp/CMakeLists.txt b/src/camel/providers/nntp/CMakeLists.txt
new file mode 100644
index 0000000..e6fdc74
--- /dev/null
+++ b/src/camel/providers/nntp/CMakeLists.txt
@@ -0,0 +1,57 @@
+set(SOURCES
+       camel-nntp-folder.c
+       camel-nntp-folder.h
+       camel-nntp-private.h
+       camel-nntp-provider.c
+       camel-nntp-resp-codes.h
+       camel-nntp-settings.c
+       camel-nntp-settings.h
+       camel-nntp-store-summary.c
+       camel-nntp-store-summary.h
+       camel-nntp-store.c
+       camel-nntp-store.h
+       camel-nntp-stream.c
+       camel-nntp-stream.h
+       camel-nntp-summary.c
+       camel-nntp-summary.h
+)
+
+set(DEPENDENCIES
+       camel
+)
+
+add_library(camelnntp MODULE ${SOURCES})
+
+add_dependencies(camelnntp
+       ${DEPENDENCIES}
+)
+
+target_compile_definitions(camelnntp PRIVATE
+       -DG_LOG_DOMAIN=\"camel-nntp-provider\"
+)
+
+target_compile_options(camelnntp PUBLIC
+       ${CAMEL_CFLAGS}
+)
+
+target_include_directories(camelnntp PUBLIC
+       ${CMAKE_BINARY_DIR}
+       ${CMAKE_BINARY_DIR}/src
+       ${CMAKE_BINARY_DIR}/src/camel
+       ${CMAKE_SOURCE_DIR}/src
+       ${CMAKE_SOURCE_DIR}/src/camel
+       ${CAMEL_INCLUDE_DIRS}
+)
+
+target_link_libraries(camelnntp
+       ${DEPENDENCIES}
+       ${CAMEL_LDFLAGS}
+)
+
+install(TARGETS camelnntp
+       DESTINATION ${camel_providerdir}
+)
+
+install(FILES libcamelnntp.urls
+       DESTINATION ${camel_providerdir}
+)
diff --git a/camel/providers/nntp/camel-nntp-folder.c b/src/camel/providers/nntp/camel-nntp-folder.c
similarity index 100%
rename from camel/providers/nntp/camel-nntp-folder.c
rename to src/camel/providers/nntp/camel-nntp-folder.c
diff --git a/camel/providers/nntp/camel-nntp-folder.h b/src/camel/providers/nntp/camel-nntp-folder.h
similarity index 100%
rename from camel/providers/nntp/camel-nntp-folder.h
rename to src/camel/providers/nntp/camel-nntp-folder.h
diff --git a/camel/providers/nntp/camel-nntp-private.h b/src/camel/providers/nntp/camel-nntp-private.h
similarity index 100%
rename from camel/providers/nntp/camel-nntp-private.h
rename to src/camel/providers/nntp/camel-nntp-private.h
diff --git a/camel/providers/nntp/camel-nntp-provider.c b/src/camel/providers/nntp/camel-nntp-provider.c
similarity index 100%
rename from camel/providers/nntp/camel-nntp-provider.c
rename to src/camel/providers/nntp/camel-nntp-provider.c
diff --git a/camel/providers/nntp/camel-nntp-resp-codes.h b/src/camel/providers/nntp/camel-nntp-resp-codes.h
similarity index 100%
rename from camel/providers/nntp/camel-nntp-resp-codes.h
rename to src/camel/providers/nntp/camel-nntp-resp-codes.h
diff --git a/camel/providers/nntp/camel-nntp-settings.c b/src/camel/providers/nntp/camel-nntp-settings.c
similarity index 100%
rename from camel/providers/nntp/camel-nntp-settings.c
rename to src/camel/providers/nntp/camel-nntp-settings.c
diff --git a/camel/providers/nntp/camel-nntp-settings.h b/src/camel/providers/nntp/camel-nntp-settings.h
similarity index 100%
rename from camel/providers/nntp/camel-nntp-settings.h
rename to src/camel/providers/nntp/camel-nntp-settings.h
diff --git a/camel/providers/nntp/camel-nntp-store-summary.c 
b/src/camel/providers/nntp/camel-nntp-store-summary.c
similarity index 100%
rename from camel/providers/nntp/camel-nntp-store-summary.c
rename to src/camel/providers/nntp/camel-nntp-store-summary.c
diff --git a/camel/providers/nntp/camel-nntp-store-summary.h 
b/src/camel/providers/nntp/camel-nntp-store-summary.h
similarity index 100%
rename from camel/providers/nntp/camel-nntp-store-summary.h
rename to src/camel/providers/nntp/camel-nntp-store-summary.h
diff --git a/camel/providers/nntp/camel-nntp-store.c b/src/camel/providers/nntp/camel-nntp-store.c
similarity index 100%
rename from camel/providers/nntp/camel-nntp-store.c
rename to src/camel/providers/nntp/camel-nntp-store.c
diff --git a/camel/providers/nntp/camel-nntp-store.h b/src/camel/providers/nntp/camel-nntp-store.h
similarity index 100%
rename from camel/providers/nntp/camel-nntp-store.h
rename to src/camel/providers/nntp/camel-nntp-store.h
diff --git a/camel/providers/nntp/camel-nntp-stream.c b/src/camel/providers/nntp/camel-nntp-stream.c
similarity index 100%
rename from camel/providers/nntp/camel-nntp-stream.c
rename to src/camel/providers/nntp/camel-nntp-stream.c
diff --git a/camel/providers/nntp/camel-nntp-stream.h b/src/camel/providers/nntp/camel-nntp-stream.h
similarity index 100%
rename from camel/providers/nntp/camel-nntp-stream.h
rename to src/camel/providers/nntp/camel-nntp-stream.h
diff --git a/camel/providers/nntp/camel-nntp-summary.c b/src/camel/providers/nntp/camel-nntp-summary.c
similarity index 100%
rename from camel/providers/nntp/camel-nntp-summary.c
rename to src/camel/providers/nntp/camel-nntp-summary.c
diff --git a/camel/providers/nntp/camel-nntp-summary.h b/src/camel/providers/nntp/camel-nntp-summary.h
similarity index 100%
rename from camel/providers/nntp/camel-nntp-summary.h
rename to src/camel/providers/nntp/camel-nntp-summary.h
diff --git a/camel/providers/nntp/libcamelnntp.urls b/src/camel/providers/nntp/libcamelnntp.urls
similarity index 100%
rename from camel/providers/nntp/libcamelnntp.urls
rename to src/camel/providers/nntp/libcamelnntp.urls
diff --git a/src/camel/providers/pop3/CMakeLists.txt b/src/camel/providers/pop3/CMakeLists.txt
new file mode 100644
index 0000000..1adf8bd
--- /dev/null
+++ b/src/camel/providers/pop3/CMakeLists.txt
@@ -0,0 +1,53 @@
+set(SOURCES
+       camel-pop3-engine.c
+       camel-pop3-engine.h
+       camel-pop3-folder.c
+       camel-pop3-folder.h
+       camel-pop3-provider.c
+       camel-pop3-settings.c
+       camel-pop3-settings.h
+       camel-pop3-stream.c
+       camel-pop3-stream.h
+       camel-pop3-store.c
+       camel-pop3-store.h
+)
+
+set(DEPENDENCIES
+       camel
+)
+
+add_library(camelpop3 MODULE ${SOURCES})
+
+add_dependencies(camelpop3
+       ${DEPENDENCIES}
+)
+
+target_compile_definitions(camelpop3 PRIVATE
+       -DG_LOG_DOMAIN=\"camel-pop3-provider\"
+)
+
+target_compile_options(camelpop3 PUBLIC
+       ${CAMEL_CFLAGS}
+)
+
+target_include_directories(camelpop3 PUBLIC
+       ${CMAKE_BINARY_DIR}
+       ${CMAKE_BINARY_DIR}/src
+       ${CMAKE_BINARY_DIR}/src/camel
+       ${CMAKE_SOURCE_DIR}/src
+       ${CMAKE_SOURCE_DIR}/src/camel
+       ${CAMEL_INCLUDE_DIRS}
+)
+
+target_link_libraries(camelpop3
+       ${DEPENDENCIES}
+       ${CAMEL_LDFLAGS}
+)
+
+install(TARGETS camelpop3
+       DESTINATION ${camel_providerdir}
+)
+
+install(FILES libcamelpop3.urls
+       DESTINATION ${camel_providerdir}
+)
diff --git a/camel/providers/pop3/camel-pop3-engine.c b/src/camel/providers/pop3/camel-pop3-engine.c
similarity index 100%
rename from camel/providers/pop3/camel-pop3-engine.c
rename to src/camel/providers/pop3/camel-pop3-engine.c
diff --git a/camel/providers/pop3/camel-pop3-engine.h b/src/camel/providers/pop3/camel-pop3-engine.h
similarity index 100%
rename from camel/providers/pop3/camel-pop3-engine.h
rename to src/camel/providers/pop3/camel-pop3-engine.h
diff --git a/camel/providers/pop3/camel-pop3-folder.c b/src/camel/providers/pop3/camel-pop3-folder.c
similarity index 100%
rename from camel/providers/pop3/camel-pop3-folder.c
rename to src/camel/providers/pop3/camel-pop3-folder.c
diff --git a/camel/providers/pop3/camel-pop3-folder.h b/src/camel/providers/pop3/camel-pop3-folder.h
similarity index 100%
rename from camel/providers/pop3/camel-pop3-folder.h
rename to src/camel/providers/pop3/camel-pop3-folder.h
diff --git a/camel/providers/pop3/camel-pop3-provider.c b/src/camel/providers/pop3/camel-pop3-provider.c
similarity index 100%
rename from camel/providers/pop3/camel-pop3-provider.c
rename to src/camel/providers/pop3/camel-pop3-provider.c
diff --git a/camel/providers/pop3/camel-pop3-settings.c b/src/camel/providers/pop3/camel-pop3-settings.c
similarity index 100%
rename from camel/providers/pop3/camel-pop3-settings.c
rename to src/camel/providers/pop3/camel-pop3-settings.c
diff --git a/camel/providers/pop3/camel-pop3-settings.h b/src/camel/providers/pop3/camel-pop3-settings.h
similarity index 100%
rename from camel/providers/pop3/camel-pop3-settings.h
rename to src/camel/providers/pop3/camel-pop3-settings.h
diff --git a/camel/providers/pop3/camel-pop3-store.c b/src/camel/providers/pop3/camel-pop3-store.c
similarity index 100%
rename from camel/providers/pop3/camel-pop3-store.c
rename to src/camel/providers/pop3/camel-pop3-store.c
diff --git a/camel/providers/pop3/camel-pop3-store.h b/src/camel/providers/pop3/camel-pop3-store.h
similarity index 100%
rename from camel/providers/pop3/camel-pop3-store.h
rename to src/camel/providers/pop3/camel-pop3-store.h
diff --git a/camel/providers/pop3/camel-pop3-stream.c b/src/camel/providers/pop3/camel-pop3-stream.c
similarity index 100%
rename from camel/providers/pop3/camel-pop3-stream.c
rename to src/camel/providers/pop3/camel-pop3-stream.c
diff --git a/camel/providers/pop3/camel-pop3-stream.h b/src/camel/providers/pop3/camel-pop3-stream.h
similarity index 100%
rename from camel/providers/pop3/camel-pop3-stream.h
rename to src/camel/providers/pop3/camel-pop3-stream.h
diff --git a/camel/providers/pop3/libcamelpop3.urls b/src/camel/providers/pop3/libcamelpop3.urls
similarity index 100%
rename from camel/providers/pop3/libcamelpop3.urls
rename to src/camel/providers/pop3/libcamelpop3.urls
diff --git a/src/camel/providers/sendmail/CMakeLists.txt b/src/camel/providers/sendmail/CMakeLists.txt
new file mode 100644
index 0000000..2c4d6ca
--- /dev/null
+++ b/src/camel/providers/sendmail/CMakeLists.txt
@@ -0,0 +1,49 @@
+set(SOURCES
+       camel-sendmail-settings.c
+       camel-sendmail-settings.h
+       camel-sendmail-provider.c
+       camel-sendmail-transport.c
+       camel-sendmail-transport.h
+)
+
+set(DEPENDENCIES
+       camel
+)
+
+add_library(camelsendmail MODULE ${SOURCES})
+
+add_dependencies(camelsendmail
+       ${DEPENDENCIES}
+)
+
+target_compile_definitions(camelsendmail PRIVATE
+       -DG_LOG_DOMAIN=\"camel-sendmail-provider\"
+)
+
+target_compile_options(camelsendmail PUBLIC
+       ${CAMEL_CFLAGS}
+)
+
+target_include_directories(camelsendmail PUBLIC
+       ${CMAKE_BINARY_DIR}
+       ${CMAKE_BINARY_DIR}/src
+       ${CMAKE_BINARY_DIR}/src/camel
+       ${CMAKE_SOURCE_DIR}/src
+       ${CMAKE_SOURCE_DIR}/src/camel
+       ${CAMEL_INCLUDE_DIRS}
+)
+
+target_link_libraries(camelsendmail
+       ${DEPENDENCIES}
+       ${CAMEL_LDFLAGS}
+)
+
+install(TARGETS camelsendmail
+       DESTINATION ${camel_providerdir}
+)
+
+install(FILES libcamelsendmail.urls
+       DESTINATION ${camel_providerdir}
+)
+
+unset(SOURCES)
diff --git a/camel/providers/sendmail/camel-sendmail-provider.c 
b/src/camel/providers/sendmail/camel-sendmail-provider.c
similarity index 100%
rename from camel/providers/sendmail/camel-sendmail-provider.c
rename to src/camel/providers/sendmail/camel-sendmail-provider.c
diff --git a/camel/providers/sendmail/camel-sendmail-settings.c 
b/src/camel/providers/sendmail/camel-sendmail-settings.c
similarity index 100%
rename from camel/providers/sendmail/camel-sendmail-settings.c
rename to src/camel/providers/sendmail/camel-sendmail-settings.c
diff --git a/camel/providers/sendmail/camel-sendmail-settings.h 
b/src/camel/providers/sendmail/camel-sendmail-settings.h
similarity index 100%
rename from camel/providers/sendmail/camel-sendmail-settings.h
rename to src/camel/providers/sendmail/camel-sendmail-settings.h
diff --git a/camel/providers/sendmail/camel-sendmail-transport.c 
b/src/camel/providers/sendmail/camel-sendmail-transport.c
similarity index 100%
rename from camel/providers/sendmail/camel-sendmail-transport.c
rename to src/camel/providers/sendmail/camel-sendmail-transport.c
diff --git a/camel/providers/sendmail/camel-sendmail-transport.h 
b/src/camel/providers/sendmail/camel-sendmail-transport.h
similarity index 100%
rename from camel/providers/sendmail/camel-sendmail-transport.h
rename to src/camel/providers/sendmail/camel-sendmail-transport.h
diff --git a/camel/providers/sendmail/libcamelsendmail.urls 
b/src/camel/providers/sendmail/libcamelsendmail.urls
similarity index 100%
rename from camel/providers/sendmail/libcamelsendmail.urls
rename to src/camel/providers/sendmail/libcamelsendmail.urls
diff --git a/src/camel/providers/smtp/CMakeLists.txt b/src/camel/providers/smtp/CMakeLists.txt
new file mode 100644
index 0000000..d47fbc0
--- /dev/null
+++ b/src/camel/providers/smtp/CMakeLists.txt
@@ -0,0 +1,47 @@
+set(SOURCES
+       camel-smtp-provider.c
+       camel-smtp-settings.c
+       camel-smtp-settings.h
+       camel-smtp-transport.c
+       camel-smtp-transport.h
+)
+
+set(DEPENDENCIES
+       camel
+)
+
+add_library(camelsmtp MODULE ${SOURCES})
+
+add_dependencies(camelsmtp
+       ${DEPENDENCIES}
+)
+
+target_compile_definitions(camelsmtp PRIVATE
+       -DG_LOG_DOMAIN=\"camel-smtp-provider\"
+)
+
+target_compile_options(camelsmtp PUBLIC
+       ${CAMEL_CFLAGS}
+)
+
+target_include_directories(camelsmtp PUBLIC
+       ${CMAKE_BINARY_DIR}
+       ${CMAKE_BINARY_DIR}/src
+       ${CMAKE_BINARY_DIR}/src/camel
+       ${CMAKE_SOURCE_DIR}/src
+       ${CMAKE_SOURCE_DIR}/src/camel
+       ${CAMEL_INCLUDE_DIRS}
+)
+
+target_link_libraries(camelsmtp
+       ${DEPENDENCIES}
+       ${CAMEL_LDFLAGS}
+)
+
+install(TARGETS camelsmtp
+       DESTINATION ${camel_providerdir}
+)
+
+install(FILES libcamelsmtp.urls
+       DESTINATION ${camel_providerdir}
+)
diff --git a/camel/providers/smtp/camel-smtp-provider.c b/src/camel/providers/smtp/camel-smtp-provider.c
similarity index 100%
rename from camel/providers/smtp/camel-smtp-provider.c
rename to src/camel/providers/smtp/camel-smtp-provider.c
diff --git a/camel/providers/smtp/camel-smtp-settings.c b/src/camel/providers/smtp/camel-smtp-settings.c
similarity index 100%
rename from camel/providers/smtp/camel-smtp-settings.c
rename to src/camel/providers/smtp/camel-smtp-settings.c
diff --git a/camel/providers/smtp/camel-smtp-settings.h b/src/camel/providers/smtp/camel-smtp-settings.h
similarity index 100%
rename from camel/providers/smtp/camel-smtp-settings.h
rename to src/camel/providers/smtp/camel-smtp-settings.h
diff --git a/camel/providers/smtp/camel-smtp-transport.c b/src/camel/providers/smtp/camel-smtp-transport.c
similarity index 100%
rename from camel/providers/smtp/camel-smtp-transport.c
rename to src/camel/providers/smtp/camel-smtp-transport.c
diff --git a/camel/providers/smtp/camel-smtp-transport.h b/src/camel/providers/smtp/camel-smtp-transport.h
similarity index 100%
rename from camel/providers/smtp/camel-smtp-transport.h
rename to src/camel/providers/smtp/camel-smtp-transport.h
diff --git a/camel/providers/smtp/libcamelsmtp.urls b/src/camel/providers/smtp/libcamelsmtp.urls
similarity index 100%
rename from camel/providers/smtp/libcamelsmtp.urls
rename to src/camel/providers/smtp/libcamelsmtp.urls
diff --git a/src/camel/tests/CMakeLists.txt b/src/camel/tests/CMakeLists.txt
new file mode 100644
index 0000000..652cfc3
--- /dev/null
+++ b/src/camel/tests/CMakeLists.txt
@@ -0,0 +1,53 @@
+macro(add_camel_test_one _part _name _src_file)
+       set(_test_ident cameltest-${_part}-${_name})
+
+       add_executable(${_test_ident} EXCLUDE_FROM_ALL ${_src_file})
+
+       target_compile_definitions(${_test_ident} PRIVATE
+               -DG_LOG_DOMAIN=\"${_test_ident}\"
+               -DSOURCEDIR=\"${CMAKE_CURRENT_SOURCE_DIR}\"
+               -DTEST_DATA_DIR=\"${CMAKE_SOURCE_DIR}/src/camel/tests/data\"
+       )
+
+       target_compile_options(${_test_ident} PUBLIC
+               ${CAMEL_CFLAGS}
+       )
+
+       target_include_directories(${_test_ident} PUBLIC
+               ${CMAKE_BINARY_DIR}
+               ${CMAKE_BINARY_DIR}/src
+               ${CMAKE_BINARY_DIR}/src/camel
+               ${CMAKE_SOURCE_DIR}/src
+               ${CMAKE_SOURCE_DIR}/src/camel
+               ${CMAKE_SOURCE_DIR}/src/camel/tests/lib
+               ${CAMEL_INCLUDE_DIRS}
+       )
+
+       target_link_libraries(${_test_ident}
+               camel
+               cameltest
+               cameltest-provider
+               ${CAMEL_LDFLAGS}
+       )
+
+       set_target_properties(${_test_ident} PROPERTIES
+               OUTPUT_NAME ${_name}}
+       )
+
+       add_check_test(${_test_ident})
+endmacro(add_camel_test_one)
+
+macro(add_camel_tests _part _tests)
+       foreach(test IN LISTS ${_tests})
+               if(NOT "${test}" STREQUAL "")
+                       add_camel_test_one(${_part} ${test} ${test}.c)
+               endif(NOT "${test}" STREQUAL "")
+       endforeach(test)
+endmacro(add_camel_tests)
+
+add_subdirectory(lib)
+add_subdirectory(message)
+add_subdirectory(folder)
+add_subdirectory(smime)
+add_subdirectory(misc)
+add_subdirectory(mime-filter)
diff --git a/camel/tests/README b/src/camel/tests/README
similarity index 100%
rename from camel/tests/README
rename to src/camel/tests/README
diff --git a/camel/tests/data/camel-test.gpg.pub b/src/camel/tests/data/camel-test.gpg.pub
similarity index 100%
rename from camel/tests/data/camel-test.gpg.pub
rename to src/camel/tests/data/camel-test.gpg.pub
diff --git a/camel/tests/data/camel-test.gpg.sec b/src/camel/tests/data/camel-test.gpg.sec
similarity index 100%
rename from camel/tests/data/camel-test.gpg.sec
rename to src/camel/tests/data/camel-test.gpg.sec
diff --git a/camel/tests/data/gendoc.pl b/src/camel/tests/data/gendoc.pl
similarity index 100%
rename from camel/tests/data/gendoc.pl
rename to src/camel/tests/data/gendoc.pl
diff --git a/camel/tests/data/genline.pl b/src/camel/tests/data/genline.pl
similarity index 100%
rename from camel/tests/data/genline.pl
rename to src/camel/tests/data/genline.pl
diff --git a/camel/tests/data/getaddr.pl b/src/camel/tests/data/getaddr.pl
similarity index 100%
rename from camel/tests/data/getaddr.pl
rename to src/camel/tests/data/getaddr.pl
diff --git a/camel/tests/folder/CMakeLists.txt b/src/camel/tests/folder/CMakeLists.txt
similarity index 100%
rename from camel/tests/folder/CMakeLists.txt
rename to src/camel/tests/folder/CMakeLists.txt
diff --git a/camel/tests/folder/README b/src/camel/tests/folder/README
similarity index 100%
rename from camel/tests/folder/README
rename to src/camel/tests/folder/README
diff --git a/camel/tests/folder/test1.c b/src/camel/tests/folder/test1.c
similarity index 100%
rename from camel/tests/folder/test1.c
rename to src/camel/tests/folder/test1.c
diff --git a/camel/tests/folder/test10.c b/src/camel/tests/folder/test10.c
similarity index 100%
rename from camel/tests/folder/test10.c
rename to src/camel/tests/folder/test10.c
diff --git a/camel/tests/folder/test11.c b/src/camel/tests/folder/test11.c
similarity index 100%
rename from camel/tests/folder/test11.c
rename to src/camel/tests/folder/test11.c
diff --git a/camel/tests/folder/test2.c b/src/camel/tests/folder/test2.c
similarity index 100%
rename from camel/tests/folder/test2.c
rename to src/camel/tests/folder/test2.c
diff --git a/camel/tests/folder/test3.c b/src/camel/tests/folder/test3.c
similarity index 100%
rename from camel/tests/folder/test3.c
rename to src/camel/tests/folder/test3.c
diff --git a/camel/tests/folder/test4.c b/src/camel/tests/folder/test4.c
similarity index 100%
rename from camel/tests/folder/test4.c
rename to src/camel/tests/folder/test4.c
diff --git a/camel/tests/folder/test5.c b/src/camel/tests/folder/test5.c
similarity index 100%
rename from camel/tests/folder/test5.c
rename to src/camel/tests/folder/test5.c
diff --git a/camel/tests/folder/test6.c b/src/camel/tests/folder/test6.c
similarity index 100%
rename from camel/tests/folder/test6.c
rename to src/camel/tests/folder/test6.c
diff --git a/camel/tests/folder/test7.c b/src/camel/tests/folder/test7.c
similarity index 100%
rename from camel/tests/folder/test7.c
rename to src/camel/tests/folder/test7.c
diff --git a/camel/tests/folder/test8.c b/src/camel/tests/folder/test8.c
similarity index 100%
rename from camel/tests/folder/test8.c
rename to src/camel/tests/folder/test8.c
diff --git a/camel/tests/folder/test9.c b/src/camel/tests/folder/test9.c
similarity index 100%
rename from camel/tests/folder/test9.c
rename to src/camel/tests/folder/test9.c
diff --git a/src/camel/tests/lib/CMakeLists.txt b/src/camel/tests/lib/CMakeLists.txt
new file mode 100644
index 0000000..f7a8b10
--- /dev/null
+++ b/src/camel/tests/lib/CMakeLists.txt
@@ -0,0 +1,72 @@
+set(SOURCES
+       camel-test.c
+       camel-test.h
+       messages.c
+       messages.h
+       addresses.c
+       addresses.h
+       folders.c
+       folders.h
+       session.c
+       session.h
+       address-data.h
+)
+
+add_library(cameltest STATIC EXCLUDE_FROM_ALL
+       ${SOURCES}
+)
+
+add_dependencies(cameltest camel)
+
+target_compile_definitions(cameltest PRIVATE
+       -DG_LOG_DOMAIN=\"camel-test\"
+       -DCAMEL_BUILD_DIR=\"${CMAKE_BINARY_DIR}/src/camel\"
+)
+
+target_compile_options(cameltest PUBLIC
+       ${CAMEL_CFLAGS}
+)
+
+target_include_directories(cameltest PUBLIC
+       ${CMAKE_BINARY_DIR}
+       ${CMAKE_BINARY_DIR}/src
+       ${CMAKE_BINARY_DIR}/src/camel
+       ${CMAKE_SOURCE_DIR}/src
+       ${CMAKE_SOURCE_DIR}/src/camel
+       ${CAMEL_INCLUDE_DIRS}
+)
+
+target_link_libraries(cameltest
+       camel
+       ${CAMEL_LDFLAGS}
+)
+
+add_library(cameltest-provider STATIC EXCLUDE_FROM_ALL
+       camel-test-provider.c
+       camel-test-provider.h
+)
+
+add_dependencies(cameltest-provider camel)
+
+target_compile_definitions(cameltest-provider PRIVATE
+       -DG_LOG_DOMAIN=\"camel-test-provider\"
+       -DCAMEL_BUILD_DIR=\"${CMAKE_BINARY_DIR}/src/camel\"
+)
+
+target_compile_options(cameltest-provider PUBLIC
+       ${CAMEL_CFLAGS}
+)
+
+target_include_directories(cameltest-provider PUBLIC
+       ${CMAKE_BINARY_DIR}
+       ${CMAKE_BINARY_DIR}/src
+       ${CMAKE_BINARY_DIR}/src/camel
+       ${CMAKE_SOURCE_DIR}/src
+       ${CMAKE_SOURCE_DIR}/src/camel
+       ${CAMEL_INCLUDE_DIRS}
+)
+
+target_link_libraries(cameltest-provider
+       camel
+       ${CAMEL_LDFLAGS}
+)
diff --git a/camel/tests/lib/address-data.h b/src/camel/tests/lib/address-data.h
similarity index 100%
rename from camel/tests/lib/address-data.h
rename to src/camel/tests/lib/address-data.h
diff --git a/camel/tests/lib/addresses.c b/src/camel/tests/lib/addresses.c
similarity index 100%
rename from camel/tests/lib/addresses.c
rename to src/camel/tests/lib/addresses.c
diff --git a/camel/tests/lib/addresses.h b/src/camel/tests/lib/addresses.h
similarity index 100%
rename from camel/tests/lib/addresses.h
rename to src/camel/tests/lib/addresses.h
diff --git a/camel/tests/lib/camel-test-provider.c b/src/camel/tests/lib/camel-test-provider.c
similarity index 100%
rename from camel/tests/lib/camel-test-provider.c
rename to src/camel/tests/lib/camel-test-provider.c
diff --git a/camel/tests/lib/camel-test-provider.h b/src/camel/tests/lib/camel-test-provider.h
similarity index 100%
rename from camel/tests/lib/camel-test-provider.h
rename to src/camel/tests/lib/camel-test-provider.h
diff --git a/camel/tests/lib/camel-test.c b/src/camel/tests/lib/camel-test.c
similarity index 100%
rename from camel/tests/lib/camel-test.c
rename to src/camel/tests/lib/camel-test.c
diff --git a/camel/tests/lib/camel-test.h b/src/camel/tests/lib/camel-test.h
similarity index 100%
rename from camel/tests/lib/camel-test.h
rename to src/camel/tests/lib/camel-test.h
diff --git a/camel/tests/lib/folders.c b/src/camel/tests/lib/folders.c
similarity index 100%
rename from camel/tests/lib/folders.c
rename to src/camel/tests/lib/folders.c
diff --git a/camel/tests/lib/folders.h b/src/camel/tests/lib/folders.h
similarity index 100%
rename from camel/tests/lib/folders.h
rename to src/camel/tests/lib/folders.h
diff --git a/camel/tests/lib/messages.c b/src/camel/tests/lib/messages.c
similarity index 100%
rename from camel/tests/lib/messages.c
rename to src/camel/tests/lib/messages.c
diff --git a/camel/tests/lib/messages.h b/src/camel/tests/lib/messages.h
similarity index 100%
rename from camel/tests/lib/messages.h
rename to src/camel/tests/lib/messages.h
diff --git a/camel/tests/lib/session.c b/src/camel/tests/lib/session.c
similarity index 100%
rename from camel/tests/lib/session.c
rename to src/camel/tests/lib/session.c
diff --git a/camel/tests/lib/session.h b/src/camel/tests/lib/session.h
similarity index 100%
rename from camel/tests/lib/session.h
rename to src/camel/tests/lib/session.h
diff --git a/camel/tests/message/CMakeLists.txt b/src/camel/tests/message/CMakeLists.txt
similarity index 100%
rename from camel/tests/message/CMakeLists.txt
rename to src/camel/tests/message/CMakeLists.txt
diff --git a/camel/tests/message/README b/src/camel/tests/message/README
similarity index 100%
rename from camel/tests/message/README
rename to src/camel/tests/message/README
diff --git a/camel/tests/message/test1.c b/src/camel/tests/message/test1.c
similarity index 100%
rename from camel/tests/message/test1.c
rename to src/camel/tests/message/test1.c
diff --git a/camel/tests/message/test2.c b/src/camel/tests/message/test2.c
similarity index 100%
rename from camel/tests/message/test2.c
rename to src/camel/tests/message/test2.c
diff --git a/camel/tests/message/test4.c b/src/camel/tests/message/test4.c
similarity index 100%
rename from camel/tests/message/test4.c
rename to src/camel/tests/message/test4.c
diff --git a/camel/tests/mime-filter/CMakeLists.txt b/src/camel/tests/mime-filter/CMakeLists.txt
similarity index 100%
rename from camel/tests/mime-filter/CMakeLists.txt
rename to src/camel/tests/mime-filter/CMakeLists.txt
diff --git a/camel/tests/mime-filter/charset-gb2312.0.in b/src/camel/tests/mime-filter/charset-gb2312.0.in
similarity index 100%
rename from camel/tests/mime-filter/charset-gb2312.0.in
rename to src/camel/tests/mime-filter/charset-gb2312.0.in
diff --git a/camel/tests/mime-filter/charset-gb2312.0.out b/src/camel/tests/mime-filter/charset-gb2312.0.out
similarity index 100%
rename from camel/tests/mime-filter/charset-gb2312.0.out
rename to src/camel/tests/mime-filter/charset-gb2312.0.out
diff --git a/camel/tests/mime-filter/charset-iso-2022-jp.0.in 
b/src/camel/tests/mime-filter/charset-iso-2022-jp.0.in
similarity index 100%
rename from camel/tests/mime-filter/charset-iso-2022-jp.0.in
rename to src/camel/tests/mime-filter/charset-iso-2022-jp.0.in
diff --git a/camel/tests/mime-filter/charset-iso-2022-jp.0.out 
b/src/camel/tests/mime-filter/charset-iso-2022-jp.0.out
similarity index 100%
rename from camel/tests/mime-filter/charset-iso-2022-jp.0.out
rename to src/camel/tests/mime-filter/charset-iso-2022-jp.0.out
diff --git a/camel/tests/mime-filter/crlf-1.in b/src/camel/tests/mime-filter/crlf-1.in
similarity index 100%
rename from camel/tests/mime-filter/crlf-1.in
rename to src/camel/tests/mime-filter/crlf-1.in
diff --git a/camel/tests/mime-filter/crlf-1.out b/src/camel/tests/mime-filter/crlf-1.out
similarity index 100%
rename from camel/tests/mime-filter/crlf-1.out
rename to src/camel/tests/mime-filter/crlf-1.out
diff --git a/camel/tests/mime-filter/data/html.0.in b/src/camel/tests/mime-filter/data/html.0.in
similarity index 100%
rename from camel/tests/mime-filter/data/html.0.in
rename to src/camel/tests/mime-filter/data/html.0.in
diff --git a/camel/tests/mime-filter/data/html.0.out b/src/camel/tests/mime-filter/data/html.0.out
similarity index 100%
rename from camel/tests/mime-filter/data/html.0.out
rename to src/camel/tests/mime-filter/data/html.0.out
diff --git a/camel/tests/mime-filter/data/html.1.in b/src/camel/tests/mime-filter/data/html.1.in
similarity index 100%
rename from camel/tests/mime-filter/data/html.1.in
rename to src/camel/tests/mime-filter/data/html.1.in
diff --git a/camel/tests/mime-filter/data/html.1.out b/src/camel/tests/mime-filter/data/html.1.out
similarity index 100%
rename from camel/tests/mime-filter/data/html.1.out
rename to src/camel/tests/mime-filter/data/html.1.out
diff --git a/camel/tests/mime-filter/test-charset.c b/src/camel/tests/mime-filter/test-charset.c
similarity index 100%
rename from camel/tests/mime-filter/test-charset.c
rename to src/camel/tests/mime-filter/test-charset.c
diff --git a/camel/tests/mime-filter/test-crlf.c b/src/camel/tests/mime-filter/test-crlf.c
similarity index 100%
rename from camel/tests/mime-filter/test-crlf.c
rename to src/camel/tests/mime-filter/test-crlf.c
diff --git a/camel/tests/mime-filter/test-tohtml.c b/src/camel/tests/mime-filter/test-tohtml.c
similarity index 100%
rename from camel/tests/mime-filter/test-tohtml.c
rename to src/camel/tests/mime-filter/test-tohtml.c
diff --git a/camel/tests/mime-filter/test1.c b/src/camel/tests/mime-filter/test1.c
similarity index 100%
rename from camel/tests/mime-filter/test1.c
rename to src/camel/tests/mime-filter/test1.c
diff --git a/camel/tests/misc/CMakeLists.txt b/src/camel/tests/misc/CMakeLists.txt
similarity index 100%
rename from camel/tests/misc/CMakeLists.txt
rename to src/camel/tests/misc/CMakeLists.txt
diff --git a/camel/tests/misc/README b/src/camel/tests/misc/README
similarity index 100%
rename from camel/tests/misc/README
rename to src/camel/tests/misc/README
diff --git a/camel/tests/misc/rfc2047.c b/src/camel/tests/misc/rfc2047.c
similarity index 100%
rename from camel/tests/misc/rfc2047.c
rename to src/camel/tests/misc/rfc2047.c
diff --git a/camel/tests/misc/split.c b/src/camel/tests/misc/split.c
similarity index 100%
rename from camel/tests/misc/split.c
rename to src/camel/tests/misc/split.c
diff --git a/camel/tests/misc/test1.c b/src/camel/tests/misc/test1.c
similarity index 100%
rename from camel/tests/misc/test1.c
rename to src/camel/tests/misc/test1.c
diff --git a/camel/tests/misc/test2.c b/src/camel/tests/misc/test2.c
similarity index 100%
rename from camel/tests/misc/test2.c
rename to src/camel/tests/misc/test2.c
diff --git a/camel/tests/misc/url-scan.c b/src/camel/tests/misc/url-scan.c
similarity index 100%
rename from camel/tests/misc/url-scan.c
rename to src/camel/tests/misc/url-scan.c
diff --git a/camel/tests/misc/url.c b/src/camel/tests/misc/url.c
similarity index 100%
rename from camel/tests/misc/url.c
rename to src/camel/tests/misc/url.c
diff --git a/camel/tests/misc/utf7.c b/src/camel/tests/misc/utf7.c
similarity index 100%
rename from camel/tests/misc/utf7.c
rename to src/camel/tests/misc/utf7.c
diff --git a/camel/tests/smime/CMakeLists.txt b/src/camel/tests/smime/CMakeLists.txt
similarity index 100%
rename from camel/tests/smime/CMakeLists.txt
rename to src/camel/tests/smime/CMakeLists.txt
diff --git a/camel/tests/smime/README b/src/camel/tests/smime/README
similarity index 100%
rename from camel/tests/smime/README
rename to src/camel/tests/smime/README
diff --git a/camel/tests/smime/pgp-mime.c b/src/camel/tests/smime/pgp-mime.c
similarity index 100%
rename from camel/tests/smime/pgp-mime.c
rename to src/camel/tests/smime/pgp-mime.c
diff --git a/camel/tests/smime/pgp.c b/src/camel/tests/smime/pgp.c
similarity index 100%
rename from camel/tests/smime/pgp.c
rename to src/camel/tests/smime/pgp.c
diff --git a/camel/tests/smime/pkcs7.c b/src/camel/tests/smime/pkcs7.c
similarity index 100%
rename from camel/tests/smime/pkcs7.c
rename to src/camel/tests/smime/pkcs7.c
diff --git a/examples/CMakeLists.txt b/src/examples/CMakeLists.txt
similarity index 100%
rename from examples/CMakeLists.txt
rename to src/examples/CMakeLists.txt
diff --git a/src/examples/cursor/CMakeLists.txt b/src/examples/cursor/CMakeLists.txt
new file mode 100644
index 0000000..ae1a3ff
--- /dev/null
+++ b/src/examples/cursor/CMakeLists.txt
@@ -0,0 +1,61 @@
+set(DEPENDENCIES
+       ebook
+       ebook-contacts
+       edataserver
+)
+
+set(SOURCES
+       cursor-data.c
+       cursor-data.h
+       cursor-example.c
+       cursor-example.h
+       cursor-navigator.c
+       cursor-navigator.h
+       cursor-search.c
+       cursor-search.h
+       cursor-slot.c
+       cursor-slot.h
+       main.c
+       ${CMAKE_CURRENT_BINARY_DIR}/cursor-example-resources.c
+       ${CMAKE_CURRENT_BINARY_DIR}/cursor-example-resources.h
+)
+
+add_executable(cursor-example
+       ${SOURCES}
+)
+
+add_dependencies(cursor-example
+       ${DEPENDENCIES}
+)
+
+target_compile_definitions(cursor-example PRIVATE
+       -DG_LOG_DOMAIN=\"cursor-example\"
+       -DSRCDIR=\"${CMAKE_CURRENT_SOURCE_DIR}\"
+)
+
+target_compile_options(cursor-example PUBLIC
+       ${EXAMPLES_CFLAGS}
+)
+
+target_include_directories(cursor-example PUBLIC
+       ${CMAKE_BINARY_DIR}
+       ${CMAKE_BINARY_DIR}/src
+       ${CMAKE_BINARY_DIR}/src/addressbook
+       ${CMAKE_SOURCE_DIR}/src
+       ${CMAKE_SOURCE_DIR}/src/addressbook
+       ${CMAKE_CURRENT_BINARY_DIR}
+       ${EXAMPLES_INCLUDE_DIRS}
+)
+
+target_link_libraries(cursor-example
+       ${DEPENDENCIES}
+       ${EXAMPLES_LDFLAGS}
+)
+
+set(UI_FILES
+       cursor-example.ui
+       cursor-search.ui
+       cursor-slot.ui
+)
+
+glib_compile_resources(${CMAKE_CURRENT_SOURCE_DIR} cursor-example-resources _cursor_example 
cursor-example.gresources.xml ${UI_FILES})
diff --git a/examples/cursor/cursor-data.c b/src/examples/cursor/cursor-data.c
similarity index 100%
rename from examples/cursor/cursor-data.c
rename to src/examples/cursor/cursor-data.c
diff --git a/examples/cursor/cursor-data.h b/src/examples/cursor/cursor-data.h
similarity index 100%
rename from examples/cursor/cursor-data.h
rename to src/examples/cursor/cursor-data.h
diff --git a/examples/cursor/cursor-example.c b/src/examples/cursor/cursor-example.c
similarity index 100%
rename from examples/cursor/cursor-example.c
rename to src/examples/cursor/cursor-example.c
diff --git a/examples/cursor/cursor-example.gresources.xml b/src/examples/cursor/cursor-example.gresources.xml
similarity index 100%
rename from examples/cursor/cursor-example.gresources.xml
rename to src/examples/cursor/cursor-example.gresources.xml
diff --git a/examples/cursor/cursor-example.h b/src/examples/cursor/cursor-example.h
similarity index 100%
rename from examples/cursor/cursor-example.h
rename to src/examples/cursor/cursor-example.h
diff --git a/examples/cursor/cursor-example.ui b/src/examples/cursor/cursor-example.ui
similarity index 100%
rename from examples/cursor/cursor-example.ui
rename to src/examples/cursor/cursor-example.ui
diff --git a/examples/cursor/cursor-navigator.c b/src/examples/cursor/cursor-navigator.c
similarity index 100%
rename from examples/cursor/cursor-navigator.c
rename to src/examples/cursor/cursor-navigator.c
diff --git a/examples/cursor/cursor-navigator.h b/src/examples/cursor/cursor-navigator.h
similarity index 100%
rename from examples/cursor/cursor-navigator.h
rename to src/examples/cursor/cursor-navigator.h
diff --git a/examples/cursor/cursor-search.c b/src/examples/cursor/cursor-search.c
similarity index 100%
rename from examples/cursor/cursor-search.c
rename to src/examples/cursor/cursor-search.c
diff --git a/examples/cursor/cursor-search.h b/src/examples/cursor/cursor-search.h
similarity index 100%
rename from examples/cursor/cursor-search.h
rename to src/examples/cursor/cursor-search.h
diff --git a/examples/cursor/cursor-search.ui b/src/examples/cursor/cursor-search.ui
similarity index 100%
rename from examples/cursor/cursor-search.ui
rename to src/examples/cursor/cursor-search.ui
diff --git a/examples/cursor/cursor-slot.c b/src/examples/cursor/cursor-slot.c
similarity index 100%
rename from examples/cursor/cursor-slot.c
rename to src/examples/cursor/cursor-slot.c
diff --git a/examples/cursor/cursor-slot.h b/src/examples/cursor/cursor-slot.h
similarity index 100%
rename from examples/cursor/cursor-slot.h
rename to src/examples/cursor/cursor-slot.h
diff --git a/examples/cursor/cursor-slot.ui b/src/examples/cursor/cursor-slot.ui
similarity index 100%
rename from examples/cursor/cursor-slot.ui
rename to src/examples/cursor/cursor-slot.ui
diff --git a/examples/cursor/main.c b/src/examples/cursor/main.c
similarity index 100%
rename from examples/cursor/main.c
rename to src/examples/cursor/main.c
diff --git a/src/libebackend/CMakeLists.txt b/src/libebackend/CMakeLists.txt
new file mode 100644
index 0000000..f328f0b
--- /dev/null
+++ b/src/libebackend/CMakeLists.txt
@@ -0,0 +1,135 @@
+glib_mkenums(e-backend-enumtypes e-backend-enums.h E_BACKEND_ENUMTYPES_H)
+
+add_pkgconfig_file(libebackend.pc.in libebackend-${API_VERSION}.pc)
+
+set(DEPENDENCIES
+       edataserver
+       edbus-private
+)
+
+set(SOURCES
+       e-backend.c
+       e-backend-factory.c
+       e-cache-reaper.c
+       e-cache-reaper-utils.c
+       e-cache-reaper-utils.h
+       e-collection-backend.c
+       e-collection-backend-factory.c
+       e-data-factory.c
+       e-dbus-server.c
+       e-file-cache.c
+       e-oauth2-support.c
+       e-offline-listener.c
+       e-server-side-source.c
+       e-server-side-source-credentials-provider.c
+       e-source-registry-server.c
+       e-sqlite3-vfs.c
+       e-subprocess-factory.c
+       e-user-prompter.c
+       e-user-prompter-server.c
+       e-user-prompter-server-extension.c
+       ${CMAKE_CURRENT_BINARY_DIR}/e-backend-enumtypes.c
+)
+
+set(HEADERS
+       libebackend.h
+       e-backend.h
+       e-backend-enums.h
+       e-backend-factory.h
+       e-cache-reaper.h
+       e-collection-backend.h
+       e-collection-backend-factory.h
+       e-data-factory.h
+       e-dbus-server.h
+       e-file-cache.h
+       e-oauth2-support.h
+       e-offline-listener.h
+       e-server-side-source.h
+       e-server-side-source-credentials-provider.h
+       e-source-registry-server.h
+       e-sqlite3-vfs.h
+       e-subprocess-factory.h
+       e-user-prompter.h
+       e-user-prompter-server.h
+       e-user-prompter-server-extension.h
+       ${CMAKE_CURRENT_BINARY_DIR}/e-backend-enumtypes.h
+)
+
+if(HAVE_LIBDB)
+       list(APPEND SOURCES
+               e-dbhash.c
+               e-db3-utils.c
+       )
+       list(APPEND HEADERS
+               e-dbhash.h
+               e-db3-utils.h
+       )
+endif(HAVE_LIBDB)
+
+add_library(ebackend SHARED
+       ${SOURCES}
+       ${HEADERS}
+)
+
+add_dependencies(ebackend
+       ${DEPENDENCIES}
+)
+
+set_target_properties(ebackend PROPERTIES
+       VERSION "${LIBEBACKEND_CURRENT}.${LIBEBACKEND_REVISION}.${LIBEBACKEND_AGE}"
+       SOVERSION ${LIBEBACKEND_CURRENT}
+       OUTPUT_NAME ebackend-${API_VERSION}
+)
+
+target_compile_definitions(ebackend PRIVATE
+       -DG_LOG_DOMAIN=\"e-backend\"
+       -DE_DATA_SERVER_PREFIX=\"${CMAKE_INSTALL_PREFIX}\"
+       -DMODULE_DIRECTORY=\"${moduledir}\"
+       -DE_DATA_SERVER_PRIVDATADIR=\"${privdatadir}\"
+       -DSYSTEM_WIDE_RO_SOURCES_DIRECTORY=\"${ro_sourcesdir}\"
+       -DSYSTEM_WIDE_RW_SOURCES_DIRECTORY=\"${rw_sourcesdir}\"
+       -DLIBEBACKEND_COMPILATION
+)
+
+target_compile_options(ebackend PUBLIC
+       ${BACKEND_CFLAGS}
+       ${LIBDB_CFLAGS}
+       ${CAMEL_CFLAGS}
+       ${SQLITE3_CFLAGS}
+       ${GCR_BASE_CFLAGS}
+       ${GIO_UNIX_CFLAGS}
+)
+
+target_include_directories(ebackend PUBLIC
+       ${CMAKE_BINARY_DIR}
+       ${CMAKE_BINARY_DIR}/src
+       ${CMAKE_BINARY_DIR}/src/private
+       ${CMAKE_SOURCE_DIR}/src
+       ${CMAKE_SOURCE_DIR}/src/private
+       ${CMAKE_CURRENT_BINARY_DIR}
+       ${BACKEND_INCLUDE_DIRS}
+       ${LIBDB_INCLUDE_DIRS}
+       ${CAMEL_INCLUDE_DIRS}
+       ${SQLITE3_INCLUDE_DIRS}
+       ${GCR_BASE_INCLUDE_DIRS}
+       ${GIO_UNIX_INCLUDE_DIRS}
+)
+
+target_link_libraries(ebackend
+       ${DEPENDENCIES}
+       ${BACKEND_LDFLAGS}
+       ${LIBDB_LDFLAGS}
+       ${LIBDB_LIBS}
+       ${CAMEL_LDFLAGS}
+       ${SQLITE3_LDFLAGS}
+       ${GCR_BASE_LDFLAGS}
+       ${GIO_UNIX_LDFLAGS}
+)
+
+install(TARGETS ebackend
+       DESTINATION ${LIB_INSTALL_DIR}
+)
+
+install(FILES ${HEADERS}
+       DESTINATION ${privincludedir}/libebackend
+)
diff --git a/libebackend/e-backend-enums.h b/src/libebackend/e-backend-enums.h
similarity index 100%
rename from libebackend/e-backend-enums.h
rename to src/libebackend/e-backend-enums.h
diff --git a/libebackend/e-backend-factory.c b/src/libebackend/e-backend-factory.c
similarity index 100%
rename from libebackend/e-backend-factory.c
rename to src/libebackend/e-backend-factory.c
diff --git a/libebackend/e-backend-factory.h b/src/libebackend/e-backend-factory.h
similarity index 100%
rename from libebackend/e-backend-factory.h
rename to src/libebackend/e-backend-factory.h
diff --git a/libebackend/e-backend.c b/src/libebackend/e-backend.c
similarity index 100%
rename from libebackend/e-backend.c
rename to src/libebackend/e-backend.c
diff --git a/libebackend/e-backend.h b/src/libebackend/e-backend.h
similarity index 100%
rename from libebackend/e-backend.h
rename to src/libebackend/e-backend.h
diff --git a/libebackend/e-cache-reaper-utils.c b/src/libebackend/e-cache-reaper-utils.c
similarity index 100%
rename from libebackend/e-cache-reaper-utils.c
rename to src/libebackend/e-cache-reaper-utils.c
diff --git a/libebackend/e-cache-reaper-utils.h b/src/libebackend/e-cache-reaper-utils.h
similarity index 100%
rename from libebackend/e-cache-reaper-utils.h
rename to src/libebackend/e-cache-reaper-utils.h
diff --git a/libebackend/e-cache-reaper.c b/src/libebackend/e-cache-reaper.c
similarity index 100%
rename from libebackend/e-cache-reaper.c
rename to src/libebackend/e-cache-reaper.c
diff --git a/libebackend/e-cache-reaper.h b/src/libebackend/e-cache-reaper.h
similarity index 100%
rename from libebackend/e-cache-reaper.h
rename to src/libebackend/e-cache-reaper.h
diff --git a/libebackend/e-collection-backend-factory.c b/src/libebackend/e-collection-backend-factory.c
similarity index 100%
rename from libebackend/e-collection-backend-factory.c
rename to src/libebackend/e-collection-backend-factory.c
diff --git a/libebackend/e-collection-backend-factory.h b/src/libebackend/e-collection-backend-factory.h
similarity index 100%
rename from libebackend/e-collection-backend-factory.h
rename to src/libebackend/e-collection-backend-factory.h
diff --git a/libebackend/e-collection-backend.c b/src/libebackend/e-collection-backend.c
similarity index 100%
rename from libebackend/e-collection-backend.c
rename to src/libebackend/e-collection-backend.c
diff --git a/libebackend/e-collection-backend.h b/src/libebackend/e-collection-backend.h
similarity index 100%
rename from libebackend/e-collection-backend.h
rename to src/libebackend/e-collection-backend.h
diff --git a/libebackend/e-data-factory.c b/src/libebackend/e-data-factory.c
similarity index 100%
rename from libebackend/e-data-factory.c
rename to src/libebackend/e-data-factory.c
diff --git a/libebackend/e-data-factory.h b/src/libebackend/e-data-factory.h
similarity index 100%
rename from libebackend/e-data-factory.h
rename to src/libebackend/e-data-factory.h
diff --git a/libebackend/e-db3-utils.c b/src/libebackend/e-db3-utils.c
similarity index 100%
rename from libebackend/e-db3-utils.c
rename to src/libebackend/e-db3-utils.c
diff --git a/libebackend/e-db3-utils.h b/src/libebackend/e-db3-utils.h
similarity index 100%
rename from libebackend/e-db3-utils.h
rename to src/libebackend/e-db3-utils.h
diff --git a/libebackend/e-dbhash.c b/src/libebackend/e-dbhash.c
similarity index 100%
rename from libebackend/e-dbhash.c
rename to src/libebackend/e-dbhash.c
diff --git a/libebackend/e-dbhash.h b/src/libebackend/e-dbhash.h
similarity index 100%
rename from libebackend/e-dbhash.h
rename to src/libebackend/e-dbhash.h
diff --git a/libebackend/e-dbus-server.c b/src/libebackend/e-dbus-server.c
similarity index 100%
rename from libebackend/e-dbus-server.c
rename to src/libebackend/e-dbus-server.c
diff --git a/libebackend/e-dbus-server.h b/src/libebackend/e-dbus-server.h
similarity index 100%
rename from libebackend/e-dbus-server.h
rename to src/libebackend/e-dbus-server.h
diff --git a/libebackend/e-file-cache.c b/src/libebackend/e-file-cache.c
similarity index 100%
rename from libebackend/e-file-cache.c
rename to src/libebackend/e-file-cache.c
diff --git a/libebackend/e-file-cache.h b/src/libebackend/e-file-cache.h
similarity index 100%
rename from libebackend/e-file-cache.h
rename to src/libebackend/e-file-cache.h
diff --git a/libebackend/e-oauth2-support.c b/src/libebackend/e-oauth2-support.c
similarity index 100%
rename from libebackend/e-oauth2-support.c
rename to src/libebackend/e-oauth2-support.c
diff --git a/libebackend/e-oauth2-support.h b/src/libebackend/e-oauth2-support.h
similarity index 100%
rename from libebackend/e-oauth2-support.h
rename to src/libebackend/e-oauth2-support.h
diff --git a/libebackend/e-offline-listener.c b/src/libebackend/e-offline-listener.c
similarity index 100%
rename from libebackend/e-offline-listener.c
rename to src/libebackend/e-offline-listener.c
diff --git a/libebackend/e-offline-listener.h b/src/libebackend/e-offline-listener.h
similarity index 100%
rename from libebackend/e-offline-listener.h
rename to src/libebackend/e-offline-listener.h
diff --git a/libebackend/e-server-side-source-credentials-provider.c 
b/src/libebackend/e-server-side-source-credentials-provider.c
similarity index 100%
rename from libebackend/e-server-side-source-credentials-provider.c
rename to src/libebackend/e-server-side-source-credentials-provider.c
diff --git a/libebackend/e-server-side-source-credentials-provider.h 
b/src/libebackend/e-server-side-source-credentials-provider.h
similarity index 100%
rename from libebackend/e-server-side-source-credentials-provider.h
rename to src/libebackend/e-server-side-source-credentials-provider.h
diff --git a/libebackend/e-server-side-source.c b/src/libebackend/e-server-side-source.c
similarity index 100%
rename from libebackend/e-server-side-source.c
rename to src/libebackend/e-server-side-source.c
diff --git a/libebackend/e-server-side-source.h b/src/libebackend/e-server-side-source.h
similarity index 100%
rename from libebackend/e-server-side-source.h
rename to src/libebackend/e-server-side-source.h
diff --git a/libebackend/e-source-registry-server.c b/src/libebackend/e-source-registry-server.c
similarity index 100%
rename from libebackend/e-source-registry-server.c
rename to src/libebackend/e-source-registry-server.c
diff --git a/libebackend/e-source-registry-server.h b/src/libebackend/e-source-registry-server.h
similarity index 100%
rename from libebackend/e-source-registry-server.h
rename to src/libebackend/e-source-registry-server.h
diff --git a/libebackend/e-sqlite3-vfs.c b/src/libebackend/e-sqlite3-vfs.c
similarity index 100%
rename from libebackend/e-sqlite3-vfs.c
rename to src/libebackend/e-sqlite3-vfs.c
diff --git a/libebackend/e-sqlite3-vfs.h b/src/libebackend/e-sqlite3-vfs.h
similarity index 100%
rename from libebackend/e-sqlite3-vfs.h
rename to src/libebackend/e-sqlite3-vfs.h
diff --git a/libebackend/e-subprocess-factory.c b/src/libebackend/e-subprocess-factory.c
similarity index 100%
rename from libebackend/e-subprocess-factory.c
rename to src/libebackend/e-subprocess-factory.c
diff --git a/libebackend/e-subprocess-factory.h b/src/libebackend/e-subprocess-factory.h
similarity index 100%
rename from libebackend/e-subprocess-factory.h
rename to src/libebackend/e-subprocess-factory.h
diff --git a/libebackend/e-user-prompter-server-extension.c 
b/src/libebackend/e-user-prompter-server-extension.c
similarity index 100%
rename from libebackend/e-user-prompter-server-extension.c
rename to src/libebackend/e-user-prompter-server-extension.c
diff --git a/libebackend/e-user-prompter-server-extension.h 
b/src/libebackend/e-user-prompter-server-extension.h
similarity index 100%
rename from libebackend/e-user-prompter-server-extension.h
rename to src/libebackend/e-user-prompter-server-extension.h
diff --git a/libebackend/e-user-prompter-server.c b/src/libebackend/e-user-prompter-server.c
similarity index 100%
rename from libebackend/e-user-prompter-server.c
rename to src/libebackend/e-user-prompter-server.c
diff --git a/libebackend/e-user-prompter-server.h b/src/libebackend/e-user-prompter-server.h
similarity index 100%
rename from libebackend/e-user-prompter-server.h
rename to src/libebackend/e-user-prompter-server.h
diff --git a/libebackend/e-user-prompter.c b/src/libebackend/e-user-prompter.c
similarity index 100%
rename from libebackend/e-user-prompter.c
rename to src/libebackend/e-user-prompter.c
diff --git a/libebackend/e-user-prompter.h b/src/libebackend/e-user-prompter.h
similarity index 100%
rename from libebackend/e-user-prompter.h
rename to src/libebackend/e-user-prompter.h
diff --git a/libebackend/libebackend.h b/src/libebackend/libebackend.h
similarity index 100%
rename from libebackend/libebackend.h
rename to src/libebackend/libebackend.h
diff --git a/libebackend/libebackend.pc.in b/src/libebackend/libebackend.pc.in
similarity index 100%
rename from libebackend/libebackend.pc.in
rename to src/libebackend/libebackend.pc.in
diff --git a/src/libedataserver/CMakeLists.txt b/src/libedataserver/CMakeLists.txt
new file mode 100644
index 0000000..517f7e2
--- /dev/null
+++ b/src/libedataserver/CMakeLists.txt
@@ -0,0 +1,297 @@
+glib_mkenums(e-source-enumtypes e-source-enums.h E_SOURCE_ENUMTYPES_H)
+
+add_pkgconfig_file(libedataserver.pc.in libedataserver-${API_VERSION}.pc)
+
+configure_file(
+       ${CMAKE_CURRENT_SOURCE_DIR}/eds-version.h.in
+       ${CMAKE_CURRENT_BINARY_DIR}/eds-version.h
+       @ONLY
+)
+
+# We put the C++ code into a separate static library, so that we can use
+# the C linker for libebook-contacts.
+
+add_library(edataserver-private STATIC
+       e-alphabet-index-private.cpp
+       e-transliterator-private.cpp
+)
+
+target_compile_definitions(edataserver-private PRIVATE
+       -DG_LOG_DOMAIN=\"e-data-server\"
+       -DLIBEDATASERVER_COMPILATION
+)
+
+target_compile_options(edataserver-private PUBLIC
+       ${DATA_SERVER_CFLAGS}
+       ${ICU_CFLAGS}
+)
+
+target_include_directories(edataserver-private PUBLIC
+       ${CMAKE_BINARY_DIR}
+       ${CMAKE_BINARY_DIR}/src
+       ${CMAKE_CURRENT_BINARY_DIR}
+       ${DATA_SERVER_INCLUDE_DIRS}
+       ${ICU_INCLUDE_DIRS}
+)
+
+target_link_libraries(edataserver-private
+       ${DATA_SERVER_LDFLAGS}
+       ${ICU_LDFLAGS}
+)
+
+set(DEPENDENCIES
+       camel
+       edataserver-private
+       edbus-private
+)
+
+set(SOURCES
+       e-alphabet-index-private.h
+       e-cancellable-locks.c
+       e-categories.c
+       e-client.c
+       e-client-private.h
+       e-collator.c
+       e-credentials.c
+       e-extensible.c
+       e-extension.c
+       e-flag.c
+       e-free-form-exp.c
+       e-gdbus-templates.c
+       e-iterator.c
+       e-list.c
+       e-list-iterator.c
+       e-memory.c
+       e-module.c
+       e-network-monitor.c
+       e-operation-pool.c
+       e-proxy.c
+       e-secret-store.c
+       e-sexp.c
+       e-soup-auth-bearer.c
+       e-soup-ssl-trust.c
+       e-source.c
+       e-source-extension.c
+       e-source-address-book.c
+       e-source-alarms.c
+       e-source-authentication.c
+       e-source-autocomplete.c
+       e-source-backend.c
+       e-source-calendar.c
+       e-source-camel.c
+       e-source-collection.c
+       e-source-contacts.c
+       e-source-credentials-provider.c
+       e-source-credentials-provider-impl.c
+       e-source-credentials-provider-impl-google.c
+       e-source-credentials-provider-impl-password.c
+       e-source-goa.c
+       e-source-ldap.c
+       e-source-local.c
+       e-source-mail-account.c
+       e-source-mail-composition.c
+       e-source-mail-identity.c
+       e-source-mail-signature.c
+       e-source-mail-submission.c
+       e-source-mail-transport.c
+       e-source-mdn.c
+       e-source-offline.c
+       e-source-openpgp.c
+       e-source-proxy.c
+       e-source-refresh.c
+       e-source-registry.c
+       e-source-resource.c
+       e-source-revision-guards.c
+       e-source-security.c
+       e-source-selectable.c
+       e-source-smime.c
+       e-source-uoa.c
+       e-source-weather.c
+       e-source-webdav.c
+       e-debug-log.c
+       e-time-utils.c
+       e-transliterator-private.h
+       e-uid.c
+       e-url.c
+       e-webdav-discover.c
+       e-data-server-util.c
+       e-xml-utils.c
+       e-xml-hash-utils.c
+       libedataserver-private.h
+       eds-version.c
+       ${CMAKE_CURRENT_BINARY_DIR}/e-source-enumtypes.c
+)
+
+set(HEADERS
+       libedataserver.h
+       e-cancellable-locks.h
+       e-categories.h
+       e-client.h
+       e-collator.h
+       e-credentials.h
+       e-extensible.h
+       e-extension.h
+       e-flag.h
+       e-free-form-exp.h
+       e-gdbus-templates.h
+       e-iterator.h
+       e-list.h
+       e-list-iterator.h
+       e-memory.h
+       e-module.h
+       e-network-monitor.h
+       e-operation-pool.h
+       e-proxy.h
+       e-secret-store.h
+       e-sexp.h
+       e-soup-auth-bearer.h
+       e-soup-ssl-trust.h
+       e-source.h
+       e-source-address-book.h
+       e-source-alarms.h
+       e-source-authentication.h
+       e-source-autocomplete.h
+       e-source-backend.h
+       e-source-calendar.h
+       e-source-camel.h
+       e-source-collection.h
+       e-source-contacts.h
+       e-source-credentials-provider.h
+       e-source-credentials-provider-impl.h
+       e-source-credentials-provider-impl-google.h
+       e-source-credentials-provider-impl-password.h
+       e-source-enums.h
+       e-source-extension.h
+       e-source-goa.h
+       e-source-ldap.h
+       e-source-local.h
+       e-source-mail-account.h
+       e-source-mail-composition.h
+       e-source-mail-identity.h
+       e-source-mail-signature.h
+       e-source-mail-submission.h
+       e-source-mail-transport.h
+       e-source-mdn.h
+       e-source-offline.h
+       e-source-openpgp.h
+       e-source-proxy.h
+       e-source-refresh.h
+       e-source-registry.h
+       e-source-resource.h
+       e-source-revision-guards.h
+       e-source-security.h
+       e-source-selectable.h
+       e-source-smime.h
+       e-source-uoa.h
+       e-source-weather.h
+       e-source-webdav.h
+       e-debug-log.h
+       e-time-utils.h
+       e-uid.h
+       e-url.h
+       e-webdav-discover.h
+       e-data-server-util.h
+       e-xml-utils.h
+       e-xml-hash-utils.h
+       ${CMAKE_CURRENT_BINARY_DIR}/e-source-enumtypes.h
+       ${CMAKE_CURRENT_BINARY_DIR}/eds-version.h
+)
+
+add_library(edataserver SHARED
+       ${SOURCES}
+       ${HEADERS}
+)
+
+add_dependencies(edataserver
+       ${DEPENDENCIES}
+)
+
+set_target_properties(edataserver PROPERTIES
+       VERSION "${LIBEDATASERVER_CURRENT}.${LIBEDATASERVER_REVISION}.${LIBEDATASERVER_AGE}"
+       SOVERSION ${LIBEDATASERVER_CURRENT}
+       OUTPUT_NAME edataserver-${API_VERSION}
+)
+
+target_compile_definitions(edataserver PRIVATE
+       -DG_LOG_DOMAIN=\"e-data-server\"
+       -DE_DATA_SERVER_PREFIX=\"${CMAKE_INSTALL_PREFIX}\"
+       -DE_DATA_SERVER_LOCALEDIR=\"${LOCALE_INSTALL_DIR}\"
+       -DE_DATA_SERVER_IMAGESDIR=\"${imagesdir}\"
+       -DE_DATA_SERVER_CREDENTIALMODULEDIR=\"${credentialmoduledir}\"
+       -DE_DATA_SERVER_PRIVDATADIR=\"${privdatadir}\"
+       -DLIBEDATASERVER_COMPILATION
+)
+
+target_compile_options(edataserver PUBLIC
+       ${DATA_SERVER_CFLAGS}
+       ${GCR_BASE_CFLAGS}
+       ${GIO_UNIX_CFLAGS}
+       ${ICU_CFLAGS}
+       ${GOOGLE_AUTH_CFLAGS}
+)
+
+target_include_directories(edataserver PUBLIC
+       ${CMAKE_BINARY_DIR}
+       ${CMAKE_BINARY_DIR}/src
+       ${CMAKE_BINARY_DIR}/src/private
+       ${CMAKE_SOURCE_DIR}/src
+       ${CMAKE_SOURCE_DIR}/src/private
+       ${CMAKE_CURRENT_BINARY_DIR}
+       ${DATA_SERVER_INCLUDE_DIRS}
+       ${GCR_BASE_INCLUDE_DIRS}
+       ${GIO_UNIX_INCLUDE_DIRS}
+       ${ICU_INCLUDE_DIRS}
+       ${GOOGLE_AUTH_INCLUDE_DIRS}
+)
+
+target_link_libraries(edataserver
+       ${DEPENDENCIES}
+       ${DATA_SERVER_LDFLAGS}
+       ${GCR_BASE_LDFLAGS}
+       ${GIO_UNIX_LDFLAGS}
+       ${ICU_LDFLAGS}
+       ${GOOGLE_AUTH_LDFLAGS}
+)
+
+install(TARGETS edataserver
+       DESTINATION ${LIB_INSTALL_DIR}
+)
+
+install(FILES ${HEADERS}
+       DESTINATION ${privincludedir}/libedataserver
+)
+
+set(gir_sources ${SOURCES} ${HEADERS})
+set(gir_identifies_prefixes E)
+set(gir_includes GObject-2.0 Gio-2.0 Soup-2.4 libxml2-2.0)
+set(gir_cflags
+       ${CAMEL_CFLAGS}
+       ${DATA_SERVER_CFLAGS}
+       -DLIBEDATASERVER_COMPILATION
+)
+set(gir_libdirs
+       ${CMAKE_BINARY_DIR}/src/private
+       ${CMAKE_BINARY_DIR}/src/camel
+)
+set(gir_libs
+       camel
+       edataserver
+)
+set(gir_deps)
+
+gir_filter_out_sources(gir_sources e-sexp.h)
+gir_filter_out_sources(gir_sources -private.h)
+
+gir_add_introspection_simple(
+       EDataServer
+       libedataserver
+       ${API_VERSION}
+       "libedataserver/libedataserver.h"
+       gir_identifies_prefixes
+       gir_includes
+       gir_cflags
+       gir_libdirs
+       gir_libs
+       gir_deps
+       gir_sources
+)
diff --git a/libedataserver/e-alphabet-index-private.cpp b/src/libedataserver/e-alphabet-index-private.cpp
similarity index 100%
rename from libedataserver/e-alphabet-index-private.cpp
rename to src/libedataserver/e-alphabet-index-private.cpp
diff --git a/libedataserver/e-alphabet-index-private.h b/src/libedataserver/e-alphabet-index-private.h
similarity index 100%
rename from libedataserver/e-alphabet-index-private.h
rename to src/libedataserver/e-alphabet-index-private.h
diff --git a/libedataserver/e-cancellable-locks.c b/src/libedataserver/e-cancellable-locks.c
similarity index 100%
rename from libedataserver/e-cancellable-locks.c
rename to src/libedataserver/e-cancellable-locks.c
diff --git a/libedataserver/e-cancellable-locks.h b/src/libedataserver/e-cancellable-locks.h
similarity index 100%
rename from libedataserver/e-cancellable-locks.h
rename to src/libedataserver/e-cancellable-locks.h
diff --git a/libedataserver/e-categories.c b/src/libedataserver/e-categories.c
similarity index 100%
rename from libedataserver/e-categories.c
rename to src/libedataserver/e-categories.c
diff --git a/libedataserver/e-categories.h b/src/libedataserver/e-categories.h
similarity index 100%
rename from libedataserver/e-categories.h
rename to src/libedataserver/e-categories.h
diff --git a/libedataserver/e-client-private.h b/src/libedataserver/e-client-private.h
similarity index 100%
rename from libedataserver/e-client-private.h
rename to src/libedataserver/e-client-private.h
diff --git a/libedataserver/e-client.c b/src/libedataserver/e-client.c
similarity index 100%
rename from libedataserver/e-client.c
rename to src/libedataserver/e-client.c
diff --git a/libedataserver/e-client.h b/src/libedataserver/e-client.h
similarity index 100%
rename from libedataserver/e-client.h
rename to src/libedataserver/e-client.h
diff --git a/libedataserver/e-collator.c b/src/libedataserver/e-collator.c
similarity index 100%
rename from libedataserver/e-collator.c
rename to src/libedataserver/e-collator.c
diff --git a/libedataserver/e-collator.h b/src/libedataserver/e-collator.h
similarity index 100%
rename from libedataserver/e-collator.h
rename to src/libedataserver/e-collator.h
diff --git a/libedataserver/e-credentials.c b/src/libedataserver/e-credentials.c
similarity index 100%
rename from libedataserver/e-credentials.c
rename to src/libedataserver/e-credentials.c
diff --git a/libedataserver/e-credentials.h b/src/libedataserver/e-credentials.h
similarity index 100%
rename from libedataserver/e-credentials.h
rename to src/libedataserver/e-credentials.h
diff --git a/libedataserver/e-data-server-util.c b/src/libedataserver/e-data-server-util.c
similarity index 100%
rename from libedataserver/e-data-server-util.c
rename to src/libedataserver/e-data-server-util.c
diff --git a/libedataserver/e-data-server-util.h b/src/libedataserver/e-data-server-util.h
similarity index 100%
rename from libedataserver/e-data-server-util.h
rename to src/libedataserver/e-data-server-util.h
diff --git a/libedataserver/e-debug-log.c b/src/libedataserver/e-debug-log.c
similarity index 100%
rename from libedataserver/e-debug-log.c
rename to src/libedataserver/e-debug-log.c
diff --git a/libedataserver/e-debug-log.h b/src/libedataserver/e-debug-log.h
similarity index 100%
rename from libedataserver/e-debug-log.h
rename to src/libedataserver/e-debug-log.h
diff --git a/libedataserver/e-extensible.c b/src/libedataserver/e-extensible.c
similarity index 100%
rename from libedataserver/e-extensible.c
rename to src/libedataserver/e-extensible.c
diff --git a/libedataserver/e-extensible.h b/src/libedataserver/e-extensible.h
similarity index 100%
rename from libedataserver/e-extensible.h
rename to src/libedataserver/e-extensible.h
diff --git a/libedataserver/e-extension.c b/src/libedataserver/e-extension.c
similarity index 100%
rename from libedataserver/e-extension.c
rename to src/libedataserver/e-extension.c
diff --git a/libedataserver/e-extension.h b/src/libedataserver/e-extension.h
similarity index 100%
rename from libedataserver/e-extension.h
rename to src/libedataserver/e-extension.h
diff --git a/libedataserver/e-flag.c b/src/libedataserver/e-flag.c
similarity index 100%
rename from libedataserver/e-flag.c
rename to src/libedataserver/e-flag.c
diff --git a/libedataserver/e-flag.h b/src/libedataserver/e-flag.h
similarity index 100%
rename from libedataserver/e-flag.h
rename to src/libedataserver/e-flag.h
diff --git a/libedataserver/e-free-form-exp.c b/src/libedataserver/e-free-form-exp.c
similarity index 100%
rename from libedataserver/e-free-form-exp.c
rename to src/libedataserver/e-free-form-exp.c
diff --git a/libedataserver/e-free-form-exp.h b/src/libedataserver/e-free-form-exp.h
similarity index 100%
rename from libedataserver/e-free-form-exp.h
rename to src/libedataserver/e-free-form-exp.h
diff --git a/libedataserver/e-gdbus-templates.c b/src/libedataserver/e-gdbus-templates.c
similarity index 100%
rename from libedataserver/e-gdbus-templates.c
rename to src/libedataserver/e-gdbus-templates.c
diff --git a/libedataserver/e-gdbus-templates.h b/src/libedataserver/e-gdbus-templates.h
similarity index 100%
rename from libedataserver/e-gdbus-templates.h
rename to src/libedataserver/e-gdbus-templates.h
diff --git a/libedataserver/e-iterator.c b/src/libedataserver/e-iterator.c
similarity index 100%
rename from libedataserver/e-iterator.c
rename to src/libedataserver/e-iterator.c
diff --git a/libedataserver/e-iterator.h b/src/libedataserver/e-iterator.h
similarity index 100%
rename from libedataserver/e-iterator.h
rename to src/libedataserver/e-iterator.h
diff --git a/libedataserver/e-list-iterator.c b/src/libedataserver/e-list-iterator.c
similarity index 100%
rename from libedataserver/e-list-iterator.c
rename to src/libedataserver/e-list-iterator.c
diff --git a/libedataserver/e-list-iterator.h b/src/libedataserver/e-list-iterator.h
similarity index 100%
rename from libedataserver/e-list-iterator.h
rename to src/libedataserver/e-list-iterator.h
diff --git a/libedataserver/e-list.c b/src/libedataserver/e-list.c
similarity index 100%
rename from libedataserver/e-list.c
rename to src/libedataserver/e-list.c
diff --git a/libedataserver/e-list.h b/src/libedataserver/e-list.h
similarity index 100%
rename from libedataserver/e-list.h
rename to src/libedataserver/e-list.h
diff --git a/libedataserver/e-memory.c b/src/libedataserver/e-memory.c
similarity index 100%
rename from libedataserver/e-memory.c
rename to src/libedataserver/e-memory.c
diff --git a/libedataserver/e-memory.h b/src/libedataserver/e-memory.h
similarity index 100%
rename from libedataserver/e-memory.h
rename to src/libedataserver/e-memory.h
diff --git a/libedataserver/e-module.c b/src/libedataserver/e-module.c
similarity index 100%
rename from libedataserver/e-module.c
rename to src/libedataserver/e-module.c
diff --git a/libedataserver/e-module.h b/src/libedataserver/e-module.h
similarity index 100%
rename from libedataserver/e-module.h
rename to src/libedataserver/e-module.h
diff --git a/libedataserver/e-network-monitor.c b/src/libedataserver/e-network-monitor.c
similarity index 100%
rename from libedataserver/e-network-monitor.c
rename to src/libedataserver/e-network-monitor.c
diff --git a/libedataserver/e-network-monitor.h b/src/libedataserver/e-network-monitor.h
similarity index 100%
rename from libedataserver/e-network-monitor.h
rename to src/libedataserver/e-network-monitor.h
diff --git a/libedataserver/e-operation-pool.c b/src/libedataserver/e-operation-pool.c
similarity index 100%
rename from libedataserver/e-operation-pool.c
rename to src/libedataserver/e-operation-pool.c
diff --git a/libedataserver/e-operation-pool.h b/src/libedataserver/e-operation-pool.h
similarity index 100%
rename from libedataserver/e-operation-pool.h
rename to src/libedataserver/e-operation-pool.h
diff --git a/libedataserver/e-proxy.c b/src/libedataserver/e-proxy.c
similarity index 100%
rename from libedataserver/e-proxy.c
rename to src/libedataserver/e-proxy.c
diff --git a/libedataserver/e-proxy.h b/src/libedataserver/e-proxy.h
similarity index 100%
rename from libedataserver/e-proxy.h
rename to src/libedataserver/e-proxy.h
diff --git a/libedataserver/e-secret-store.c b/src/libedataserver/e-secret-store.c
similarity index 100%
rename from libedataserver/e-secret-store.c
rename to src/libedataserver/e-secret-store.c
diff --git a/libedataserver/e-secret-store.h b/src/libedataserver/e-secret-store.h
similarity index 100%
rename from libedataserver/e-secret-store.h
rename to src/libedataserver/e-secret-store.h
diff --git a/libedataserver/e-sexp.c b/src/libedataserver/e-sexp.c
similarity index 100%
rename from libedataserver/e-sexp.c
rename to src/libedataserver/e-sexp.c
diff --git a/libedataserver/e-sexp.h b/src/libedataserver/e-sexp.h
similarity index 100%
rename from libedataserver/e-sexp.h
rename to src/libedataserver/e-sexp.h
diff --git a/libedataserver/e-soup-auth-bearer.c b/src/libedataserver/e-soup-auth-bearer.c
similarity index 100%
rename from libedataserver/e-soup-auth-bearer.c
rename to src/libedataserver/e-soup-auth-bearer.c
diff --git a/libedataserver/e-soup-auth-bearer.h b/src/libedataserver/e-soup-auth-bearer.h
similarity index 100%
rename from libedataserver/e-soup-auth-bearer.h
rename to src/libedataserver/e-soup-auth-bearer.h
diff --git a/libedataserver/e-soup-ssl-trust.c b/src/libedataserver/e-soup-ssl-trust.c
similarity index 100%
rename from libedataserver/e-soup-ssl-trust.c
rename to src/libedataserver/e-soup-ssl-trust.c
diff --git a/libedataserver/e-soup-ssl-trust.h b/src/libedataserver/e-soup-ssl-trust.h
similarity index 100%
rename from libedataserver/e-soup-ssl-trust.h
rename to src/libedataserver/e-soup-ssl-trust.h
diff --git a/libedataserver/e-source-address-book.c b/src/libedataserver/e-source-address-book.c
similarity index 100%
rename from libedataserver/e-source-address-book.c
rename to src/libedataserver/e-source-address-book.c
diff --git a/libedataserver/e-source-address-book.h b/src/libedataserver/e-source-address-book.h
similarity index 100%
rename from libedataserver/e-source-address-book.h
rename to src/libedataserver/e-source-address-book.h
diff --git a/libedataserver/e-source-alarms.c b/src/libedataserver/e-source-alarms.c
similarity index 100%
rename from libedataserver/e-source-alarms.c
rename to src/libedataserver/e-source-alarms.c
diff --git a/libedataserver/e-source-alarms.h b/src/libedataserver/e-source-alarms.h
similarity index 100%
rename from libedataserver/e-source-alarms.h
rename to src/libedataserver/e-source-alarms.h
diff --git a/libedataserver/e-source-authentication.c b/src/libedataserver/e-source-authentication.c
similarity index 100%
rename from libedataserver/e-source-authentication.c
rename to src/libedataserver/e-source-authentication.c
diff --git a/libedataserver/e-source-authentication.h b/src/libedataserver/e-source-authentication.h
similarity index 100%
rename from libedataserver/e-source-authentication.h
rename to src/libedataserver/e-source-authentication.h
diff --git a/libedataserver/e-source-autocomplete.c b/src/libedataserver/e-source-autocomplete.c
similarity index 100%
rename from libedataserver/e-source-autocomplete.c
rename to src/libedataserver/e-source-autocomplete.c
diff --git a/libedataserver/e-source-autocomplete.h b/src/libedataserver/e-source-autocomplete.h
similarity index 100%
rename from libedataserver/e-source-autocomplete.h
rename to src/libedataserver/e-source-autocomplete.h
diff --git a/libedataserver/e-source-backend.c b/src/libedataserver/e-source-backend.c
similarity index 100%
rename from libedataserver/e-source-backend.c
rename to src/libedataserver/e-source-backend.c
diff --git a/libedataserver/e-source-backend.h b/src/libedataserver/e-source-backend.h
similarity index 100%
rename from libedataserver/e-source-backend.h
rename to src/libedataserver/e-source-backend.h
diff --git a/libedataserver/e-source-calendar.c b/src/libedataserver/e-source-calendar.c
similarity index 100%
rename from libedataserver/e-source-calendar.c
rename to src/libedataserver/e-source-calendar.c
diff --git a/libedataserver/e-source-calendar.h b/src/libedataserver/e-source-calendar.h
similarity index 100%
rename from libedataserver/e-source-calendar.h
rename to src/libedataserver/e-source-calendar.h
diff --git a/libedataserver/e-source-camel.c b/src/libedataserver/e-source-camel.c
similarity index 100%
rename from libedataserver/e-source-camel.c
rename to src/libedataserver/e-source-camel.c
diff --git a/libedataserver/e-source-camel.h b/src/libedataserver/e-source-camel.h
similarity index 100%
rename from libedataserver/e-source-camel.h
rename to src/libedataserver/e-source-camel.h
diff --git a/libedataserver/e-source-collection.c b/src/libedataserver/e-source-collection.c
similarity index 100%
rename from libedataserver/e-source-collection.c
rename to src/libedataserver/e-source-collection.c
diff --git a/libedataserver/e-source-collection.h b/src/libedataserver/e-source-collection.h
similarity index 100%
rename from libedataserver/e-source-collection.h
rename to src/libedataserver/e-source-collection.h
diff --git a/libedataserver/e-source-contacts.c b/src/libedataserver/e-source-contacts.c
similarity index 100%
rename from libedataserver/e-source-contacts.c
rename to src/libedataserver/e-source-contacts.c
diff --git a/libedataserver/e-source-contacts.h b/src/libedataserver/e-source-contacts.h
similarity index 100%
rename from libedataserver/e-source-contacts.h
rename to src/libedataserver/e-source-contacts.h
diff --git a/libedataserver/e-source-credentials-provider-impl-google.c 
b/src/libedataserver/e-source-credentials-provider-impl-google.c
similarity index 100%
rename from libedataserver/e-source-credentials-provider-impl-google.c
rename to src/libedataserver/e-source-credentials-provider-impl-google.c
diff --git a/libedataserver/e-source-credentials-provider-impl-google.h 
b/src/libedataserver/e-source-credentials-provider-impl-google.h
similarity index 100%
rename from libedataserver/e-source-credentials-provider-impl-google.h
rename to src/libedataserver/e-source-credentials-provider-impl-google.h
diff --git a/libedataserver/e-source-credentials-provider-impl-password.c 
b/src/libedataserver/e-source-credentials-provider-impl-password.c
similarity index 100%
rename from libedataserver/e-source-credentials-provider-impl-password.c
rename to src/libedataserver/e-source-credentials-provider-impl-password.c
diff --git a/libedataserver/e-source-credentials-provider-impl-password.h 
b/src/libedataserver/e-source-credentials-provider-impl-password.h
similarity index 100%
rename from libedataserver/e-source-credentials-provider-impl-password.h
rename to src/libedataserver/e-source-credentials-provider-impl-password.h
diff --git a/libedataserver/e-source-credentials-provider-impl.c 
b/src/libedataserver/e-source-credentials-provider-impl.c
similarity index 100%
rename from libedataserver/e-source-credentials-provider-impl.c
rename to src/libedataserver/e-source-credentials-provider-impl.c
diff --git a/libedataserver/e-source-credentials-provider-impl.h 
b/src/libedataserver/e-source-credentials-provider-impl.h
similarity index 100%
rename from libedataserver/e-source-credentials-provider-impl.h
rename to src/libedataserver/e-source-credentials-provider-impl.h
diff --git a/libedataserver/e-source-credentials-provider.c 
b/src/libedataserver/e-source-credentials-provider.c
similarity index 100%
rename from libedataserver/e-source-credentials-provider.c
rename to src/libedataserver/e-source-credentials-provider.c
diff --git a/libedataserver/e-source-credentials-provider.h 
b/src/libedataserver/e-source-credentials-provider.h
similarity index 100%
rename from libedataserver/e-source-credentials-provider.h
rename to src/libedataserver/e-source-credentials-provider.h
diff --git a/libedataserver/e-source-enums.h b/src/libedataserver/e-source-enums.h
similarity index 100%
rename from libedataserver/e-source-enums.h
rename to src/libedataserver/e-source-enums.h
diff --git a/libedataserver/e-source-extension.c b/src/libedataserver/e-source-extension.c
similarity index 100%
rename from libedataserver/e-source-extension.c
rename to src/libedataserver/e-source-extension.c
diff --git a/libedataserver/e-source-extension.h b/src/libedataserver/e-source-extension.h
similarity index 100%
rename from libedataserver/e-source-extension.h
rename to src/libedataserver/e-source-extension.h
diff --git a/libedataserver/e-source-goa.c b/src/libedataserver/e-source-goa.c
similarity index 100%
rename from libedataserver/e-source-goa.c
rename to src/libedataserver/e-source-goa.c
diff --git a/libedataserver/e-source-goa.h b/src/libedataserver/e-source-goa.h
similarity index 100%
rename from libedataserver/e-source-goa.h
rename to src/libedataserver/e-source-goa.h
diff --git a/libedataserver/e-source-ldap.c b/src/libedataserver/e-source-ldap.c
similarity index 100%
rename from libedataserver/e-source-ldap.c
rename to src/libedataserver/e-source-ldap.c
diff --git a/libedataserver/e-source-ldap.h b/src/libedataserver/e-source-ldap.h
similarity index 100%
rename from libedataserver/e-source-ldap.h
rename to src/libedataserver/e-source-ldap.h
diff --git a/libedataserver/e-source-local.c b/src/libedataserver/e-source-local.c
similarity index 100%
rename from libedataserver/e-source-local.c
rename to src/libedataserver/e-source-local.c
diff --git a/libedataserver/e-source-local.h b/src/libedataserver/e-source-local.h
similarity index 100%
rename from libedataserver/e-source-local.h
rename to src/libedataserver/e-source-local.h
diff --git a/libedataserver/e-source-mail-account.c b/src/libedataserver/e-source-mail-account.c
similarity index 100%
rename from libedataserver/e-source-mail-account.c
rename to src/libedataserver/e-source-mail-account.c
diff --git a/libedataserver/e-source-mail-account.h b/src/libedataserver/e-source-mail-account.h
similarity index 100%
rename from libedataserver/e-source-mail-account.h
rename to src/libedataserver/e-source-mail-account.h
diff --git a/libedataserver/e-source-mail-composition.c b/src/libedataserver/e-source-mail-composition.c
similarity index 100%
rename from libedataserver/e-source-mail-composition.c
rename to src/libedataserver/e-source-mail-composition.c
diff --git a/libedataserver/e-source-mail-composition.h b/src/libedataserver/e-source-mail-composition.h
similarity index 100%
rename from libedataserver/e-source-mail-composition.h
rename to src/libedataserver/e-source-mail-composition.h
diff --git a/libedataserver/e-source-mail-identity.c b/src/libedataserver/e-source-mail-identity.c
similarity index 100%
rename from libedataserver/e-source-mail-identity.c
rename to src/libedataserver/e-source-mail-identity.c
diff --git a/libedataserver/e-source-mail-identity.h b/src/libedataserver/e-source-mail-identity.h
similarity index 100%
rename from libedataserver/e-source-mail-identity.h
rename to src/libedataserver/e-source-mail-identity.h
diff --git a/libedataserver/e-source-mail-signature.c b/src/libedataserver/e-source-mail-signature.c
similarity index 100%
rename from libedataserver/e-source-mail-signature.c
rename to src/libedataserver/e-source-mail-signature.c
diff --git a/libedataserver/e-source-mail-signature.h b/src/libedataserver/e-source-mail-signature.h
similarity index 100%
rename from libedataserver/e-source-mail-signature.h
rename to src/libedataserver/e-source-mail-signature.h
diff --git a/libedataserver/e-source-mail-submission.c b/src/libedataserver/e-source-mail-submission.c
similarity index 100%
rename from libedataserver/e-source-mail-submission.c
rename to src/libedataserver/e-source-mail-submission.c
diff --git a/libedataserver/e-source-mail-submission.h b/src/libedataserver/e-source-mail-submission.h
similarity index 100%
rename from libedataserver/e-source-mail-submission.h
rename to src/libedataserver/e-source-mail-submission.h
diff --git a/libedataserver/e-source-mail-transport.c b/src/libedataserver/e-source-mail-transport.c
similarity index 100%
rename from libedataserver/e-source-mail-transport.c
rename to src/libedataserver/e-source-mail-transport.c
diff --git a/libedataserver/e-source-mail-transport.h b/src/libedataserver/e-source-mail-transport.h
similarity index 100%
rename from libedataserver/e-source-mail-transport.h
rename to src/libedataserver/e-source-mail-transport.h
diff --git a/libedataserver/e-source-mdn.c b/src/libedataserver/e-source-mdn.c
similarity index 100%
rename from libedataserver/e-source-mdn.c
rename to src/libedataserver/e-source-mdn.c
diff --git a/libedataserver/e-source-mdn.h b/src/libedataserver/e-source-mdn.h
similarity index 100%
rename from libedataserver/e-source-mdn.h
rename to src/libedataserver/e-source-mdn.h
diff --git a/libedataserver/e-source-offline.c b/src/libedataserver/e-source-offline.c
similarity index 100%
rename from libedataserver/e-source-offline.c
rename to src/libedataserver/e-source-offline.c
diff --git a/libedataserver/e-source-offline.h b/src/libedataserver/e-source-offline.h
similarity index 100%
rename from libedataserver/e-source-offline.h
rename to src/libedataserver/e-source-offline.h
diff --git a/libedataserver/e-source-openpgp.c b/src/libedataserver/e-source-openpgp.c
similarity index 100%
rename from libedataserver/e-source-openpgp.c
rename to src/libedataserver/e-source-openpgp.c
diff --git a/libedataserver/e-source-openpgp.h b/src/libedataserver/e-source-openpgp.h
similarity index 100%
rename from libedataserver/e-source-openpgp.h
rename to src/libedataserver/e-source-openpgp.h
diff --git a/libedataserver/e-source-proxy.c b/src/libedataserver/e-source-proxy.c
similarity index 100%
rename from libedataserver/e-source-proxy.c
rename to src/libedataserver/e-source-proxy.c
diff --git a/libedataserver/e-source-proxy.h b/src/libedataserver/e-source-proxy.h
similarity index 100%
rename from libedataserver/e-source-proxy.h
rename to src/libedataserver/e-source-proxy.h
diff --git a/libedataserver/e-source-refresh.c b/src/libedataserver/e-source-refresh.c
similarity index 100%
rename from libedataserver/e-source-refresh.c
rename to src/libedataserver/e-source-refresh.c
diff --git a/libedataserver/e-source-refresh.h b/src/libedataserver/e-source-refresh.h
similarity index 100%
rename from libedataserver/e-source-refresh.h
rename to src/libedataserver/e-source-refresh.h
diff --git a/libedataserver/e-source-registry.c b/src/libedataserver/e-source-registry.c
similarity index 100%
rename from libedataserver/e-source-registry.c
rename to src/libedataserver/e-source-registry.c
diff --git a/libedataserver/e-source-registry.h b/src/libedataserver/e-source-registry.h
similarity index 100%
rename from libedataserver/e-source-registry.h
rename to src/libedataserver/e-source-registry.h
diff --git a/libedataserver/e-source-resource.c b/src/libedataserver/e-source-resource.c
similarity index 100%
rename from libedataserver/e-source-resource.c
rename to src/libedataserver/e-source-resource.c
diff --git a/libedataserver/e-source-resource.h b/src/libedataserver/e-source-resource.h
similarity index 100%
rename from libedataserver/e-source-resource.h
rename to src/libedataserver/e-source-resource.h
diff --git a/libedataserver/e-source-revision-guards.c b/src/libedataserver/e-source-revision-guards.c
similarity index 100%
rename from libedataserver/e-source-revision-guards.c
rename to src/libedataserver/e-source-revision-guards.c
diff --git a/libedataserver/e-source-revision-guards.h b/src/libedataserver/e-source-revision-guards.h
similarity index 100%
rename from libedataserver/e-source-revision-guards.h
rename to src/libedataserver/e-source-revision-guards.h
diff --git a/libedataserver/e-source-security.c b/src/libedataserver/e-source-security.c
similarity index 100%
rename from libedataserver/e-source-security.c
rename to src/libedataserver/e-source-security.c
diff --git a/libedataserver/e-source-security.h b/src/libedataserver/e-source-security.h
similarity index 100%
rename from libedataserver/e-source-security.h
rename to src/libedataserver/e-source-security.h
diff --git a/libedataserver/e-source-selectable.c b/src/libedataserver/e-source-selectable.c
similarity index 100%
rename from libedataserver/e-source-selectable.c
rename to src/libedataserver/e-source-selectable.c
diff --git a/libedataserver/e-source-selectable.h b/src/libedataserver/e-source-selectable.h
similarity index 100%
rename from libedataserver/e-source-selectable.h
rename to src/libedataserver/e-source-selectable.h
diff --git a/libedataserver/e-source-smime.c b/src/libedataserver/e-source-smime.c
similarity index 100%
rename from libedataserver/e-source-smime.c
rename to src/libedataserver/e-source-smime.c
diff --git a/libedataserver/e-source-smime.h b/src/libedataserver/e-source-smime.h
similarity index 100%
rename from libedataserver/e-source-smime.h
rename to src/libedataserver/e-source-smime.h
diff --git a/libedataserver/e-source-uoa.c b/src/libedataserver/e-source-uoa.c
similarity index 100%
rename from libedataserver/e-source-uoa.c
rename to src/libedataserver/e-source-uoa.c
diff --git a/libedataserver/e-source-uoa.h b/src/libedataserver/e-source-uoa.h
similarity index 100%
rename from libedataserver/e-source-uoa.h
rename to src/libedataserver/e-source-uoa.h
diff --git a/libedataserver/e-source-weather.c b/src/libedataserver/e-source-weather.c
similarity index 100%
rename from libedataserver/e-source-weather.c
rename to src/libedataserver/e-source-weather.c
diff --git a/libedataserver/e-source-weather.h b/src/libedataserver/e-source-weather.h
similarity index 100%
rename from libedataserver/e-source-weather.h
rename to src/libedataserver/e-source-weather.h
diff --git a/libedataserver/e-source-webdav.c b/src/libedataserver/e-source-webdav.c
similarity index 100%
rename from libedataserver/e-source-webdav.c
rename to src/libedataserver/e-source-webdav.c
diff --git a/libedataserver/e-source-webdav.h b/src/libedataserver/e-source-webdav.h
similarity index 100%
rename from libedataserver/e-source-webdav.h
rename to src/libedataserver/e-source-webdav.h
diff --git a/libedataserver/e-source.c b/src/libedataserver/e-source.c
similarity index 100%
rename from libedataserver/e-source.c
rename to src/libedataserver/e-source.c
diff --git a/libedataserver/e-source.h b/src/libedataserver/e-source.h
similarity index 100%
rename from libedataserver/e-source.h
rename to src/libedataserver/e-source.h
diff --git a/libedataserver/e-time-utils.c b/src/libedataserver/e-time-utils.c
similarity index 100%
rename from libedataserver/e-time-utils.c
rename to src/libedataserver/e-time-utils.c
diff --git a/libedataserver/e-time-utils.h b/src/libedataserver/e-time-utils.h
similarity index 100%
rename from libedataserver/e-time-utils.h
rename to src/libedataserver/e-time-utils.h
diff --git a/libedataserver/e-transliterator-private.cpp b/src/libedataserver/e-transliterator-private.cpp
similarity index 100%
rename from libedataserver/e-transliterator-private.cpp
rename to src/libedataserver/e-transliterator-private.cpp
diff --git a/libedataserver/e-transliterator-private.h b/src/libedataserver/e-transliterator-private.h
similarity index 100%
rename from libedataserver/e-transliterator-private.h
rename to src/libedataserver/e-transliterator-private.h
diff --git a/libedataserver/e-uid.c b/src/libedataserver/e-uid.c
similarity index 100%
rename from libedataserver/e-uid.c
rename to src/libedataserver/e-uid.c
diff --git a/libedataserver/e-uid.h b/src/libedataserver/e-uid.h
similarity index 100%
rename from libedataserver/e-uid.h
rename to src/libedataserver/e-uid.h
diff --git a/libedataserver/e-url.c b/src/libedataserver/e-url.c
similarity index 100%
rename from libedataserver/e-url.c
rename to src/libedataserver/e-url.c
diff --git a/libedataserver/e-url.h b/src/libedataserver/e-url.h
similarity index 100%
rename from libedataserver/e-url.h
rename to src/libedataserver/e-url.h
diff --git a/libedataserver/e-webdav-discover.c b/src/libedataserver/e-webdav-discover.c
similarity index 100%
rename from libedataserver/e-webdav-discover.c
rename to src/libedataserver/e-webdav-discover.c
diff --git a/libedataserver/e-webdav-discover.h b/src/libedataserver/e-webdav-discover.h
similarity index 100%
rename from libedataserver/e-webdav-discover.h
rename to src/libedataserver/e-webdav-discover.h
diff --git a/libedataserver/e-xml-hash-utils.c b/src/libedataserver/e-xml-hash-utils.c
similarity index 100%
rename from libedataserver/e-xml-hash-utils.c
rename to src/libedataserver/e-xml-hash-utils.c
diff --git a/libedataserver/e-xml-hash-utils.h b/src/libedataserver/e-xml-hash-utils.h
similarity index 100%
rename from libedataserver/e-xml-hash-utils.h
rename to src/libedataserver/e-xml-hash-utils.h
diff --git a/libedataserver/e-xml-utils.c b/src/libedataserver/e-xml-utils.c
similarity index 100%
rename from libedataserver/e-xml-utils.c
rename to src/libedataserver/e-xml-utils.c
diff --git a/libedataserver/e-xml-utils.h b/src/libedataserver/e-xml-utils.h
similarity index 100%
rename from libedataserver/e-xml-utils.h
rename to src/libedataserver/e-xml-utils.h
diff --git a/libedataserver/eds-version.c b/src/libedataserver/eds-version.c
similarity index 100%
rename from libedataserver/eds-version.c
rename to src/libedataserver/eds-version.c
diff --git a/libedataserver/eds-version.h.in b/src/libedataserver/eds-version.h.in
similarity index 100%
rename from libedataserver/eds-version.h.in
rename to src/libedataserver/eds-version.h.in
diff --git a/libedataserver/libedataserver-private.h b/src/libedataserver/libedataserver-private.h
similarity index 100%
rename from libedataserver/libedataserver-private.h
rename to src/libedataserver/libedataserver-private.h
diff --git a/libedataserver/libedataserver.h b/src/libedataserver/libedataserver.h
similarity index 100%
rename from libedataserver/libedataserver.h
rename to src/libedataserver/libedataserver.h
diff --git a/libedataserver/libedataserver.pc.in b/src/libedataserver/libedataserver.pc.in
similarity index 100%
rename from libedataserver/libedataserver.pc.in
rename to src/libedataserver/libedataserver.pc.in
diff --git a/src/libedataserverui/CMakeLists.txt b/src/libedataserverui/CMakeLists.txt
new file mode 100644
index 0000000..af4b28e
--- /dev/null
+++ b/src/libedataserverui/CMakeLists.txt
@@ -0,0 +1,97 @@
+add_pkgconfig_file(libedataserverui.pc.in libedataserverui-${API_VERSION}.pc)
+
+set(SOURCES
+       e-cell-renderer-color.c
+       e-credentials-prompter.c
+       e-credentials-prompter-impl.c
+       e-credentials-prompter-impl-google.c
+       e-credentials-prompter-impl-password.c
+       e-trust-prompt.c
+       e-webdav-discover-widget.c
+)
+
+set(HEADERS
+       libedataserverui.h
+       e-cell-renderer-color.h
+       e-credentials-prompter.h
+       e-credentials-prompter-impl.h
+       e-credentials-prompter-impl-google.h
+       e-credentials-prompter-impl-password.h
+       e-trust-prompt.h
+       e-webdav-discover-widget.h
+)
+
+set(DEPENDENCIES
+       camel
+       ebackend
+       edataserver
+)
+
+add_library(edataserverui SHARED
+       ${SOURCES}
+       ${HEADERS}
+)
+
+add_dependencies(edataserverui
+       ${DEPENDENCIES}
+)
+
+set_target_properties(edataserverui PROPERTIES
+       VERSION "${LIBEDATASERVERUI_CURRENT}.${LIBEDATASERVERUI_REVISION}.${LIBEDATASERVERUI_AGE}"
+       SOVERSION ${LIBEDATASERVERUI_CURRENT}
+       OUTPUT_NAME edataserverui-${API_VERSION}
+)
+
+target_compile_definitions(edataserverui PRIVATE
+       -DG_LOG_DOMAIN=\"e-data-server-ui\"
+       -DLIBEDATASERVERUI_COMPILATION
+)
+
+target_compile_options(edataserverui PUBLIC
+       ${BACKEND_CFLAGS}
+       ${DATA_SERVER_CFLAGS}
+       ${CAMEL_CFLAGS}
+       ${CODE_COVERAGE_CFLAGS}
+       ${GNOME_PLATFORM_CFLAGS}
+       ${GCR_BASE_CFLAGS}
+       ${GCR_CFLAGS}
+       ${GTK_CFLAGS}
+       ${GOOGLE_AUTH_CFLAGS}
+)
+
+target_include_directories(edataserverui PUBLIC
+       ${CMAKE_BINARY_DIR}
+       ${CMAKE_BINARY_DIR}/src
+       ${CMAKE_SOURCE_DIR}/src
+       ${CMAKE_CURRENT_BINARY_DIR}
+       ${BACKEND_INCLUDE_DIRS}
+       ${DATA_SERVER_INCLUDE_DIRS}
+       ${CAMEL_INCLUDE_DIRS}
+       ${CODE_COVERAGE_INCLUDE_DIRS}
+       ${GNOME_PLATFORM_INCLUDE_DIRS}
+       ${GCR_BASE_INCLUDE_DIRS}
+       ${GCR_INCLUDE_DIRS}
+       ${GTK_INCLUDE_DIRS}
+       ${GOOGLE_AUTH_INCLUDE_DIRS}
+)
+
+target_link_libraries(edataserverui
+       ${DEPENDENCIES}
+       ${BACKEND_LDFLAGS}
+       ${DATA_SERVER_LDFLAGS}
+       ${CAMEL_LDFLAGS}
+       ${CODE_COVERAGE_LDFLAGS}
+       ${GNOME_PLATFORM_LDFLAGS}
+       ${GCR_BASE_LDFLAGS}
+       ${GCR_LDFLAGS}
+       ${GTK_LDFLAGS}
+       ${GOOGLE_AUTH_LDFLAGS}
+)
+
+install(TARGETS edataserverui
+       DESTINATION ${LIB_INSTALL_DIR}
+)
+
+install(FILES ${HEADERS}
+       DESTINATION ${privincludedir}/libedataserverui
+)
diff --git a/libedataserverui/e-cell-renderer-color.c b/src/libedataserverui/e-cell-renderer-color.c
similarity index 100%
rename from libedataserverui/e-cell-renderer-color.c
rename to src/libedataserverui/e-cell-renderer-color.c
diff --git a/libedataserverui/e-cell-renderer-color.h b/src/libedataserverui/e-cell-renderer-color.h
similarity index 100%
rename from libedataserverui/e-cell-renderer-color.h
rename to src/libedataserverui/e-cell-renderer-color.h
diff --git a/libedataserverui/e-credentials-prompter-impl-google.c 
b/src/libedataserverui/e-credentials-prompter-impl-google.c
similarity index 100%
rename from libedataserverui/e-credentials-prompter-impl-google.c
rename to src/libedataserverui/e-credentials-prompter-impl-google.c
diff --git a/libedataserverui/e-credentials-prompter-impl-google.h 
b/src/libedataserverui/e-credentials-prompter-impl-google.h
similarity index 100%
rename from libedataserverui/e-credentials-prompter-impl-google.h
rename to src/libedataserverui/e-credentials-prompter-impl-google.h
diff --git a/libedataserverui/e-credentials-prompter-impl-password.c 
b/src/libedataserverui/e-credentials-prompter-impl-password.c
similarity index 100%
rename from libedataserverui/e-credentials-prompter-impl-password.c
rename to src/libedataserverui/e-credentials-prompter-impl-password.c
diff --git a/libedataserverui/e-credentials-prompter-impl-password.h 
b/src/libedataserverui/e-credentials-prompter-impl-password.h
similarity index 100%
rename from libedataserverui/e-credentials-prompter-impl-password.h
rename to src/libedataserverui/e-credentials-prompter-impl-password.h
diff --git a/libedataserverui/e-credentials-prompter-impl.c 
b/src/libedataserverui/e-credentials-prompter-impl.c
similarity index 100%
rename from libedataserverui/e-credentials-prompter-impl.c
rename to src/libedataserverui/e-credentials-prompter-impl.c
diff --git a/libedataserverui/e-credentials-prompter-impl.h 
b/src/libedataserverui/e-credentials-prompter-impl.h
similarity index 100%
rename from libedataserverui/e-credentials-prompter-impl.h
rename to src/libedataserverui/e-credentials-prompter-impl.h
diff --git a/libedataserverui/e-credentials-prompter.c b/src/libedataserverui/e-credentials-prompter.c
similarity index 100%
rename from libedataserverui/e-credentials-prompter.c
rename to src/libedataserverui/e-credentials-prompter.c
diff --git a/libedataserverui/e-credentials-prompter.h b/src/libedataserverui/e-credentials-prompter.h
similarity index 100%
rename from libedataserverui/e-credentials-prompter.h
rename to src/libedataserverui/e-credentials-prompter.h
diff --git a/libedataserverui/e-trust-prompt.c b/src/libedataserverui/e-trust-prompt.c
similarity index 100%
rename from libedataserverui/e-trust-prompt.c
rename to src/libedataserverui/e-trust-prompt.c
diff --git a/libedataserverui/e-trust-prompt.h b/src/libedataserverui/e-trust-prompt.h
similarity index 100%
rename from libedataserverui/e-trust-prompt.h
rename to src/libedataserverui/e-trust-prompt.h
diff --git a/libedataserverui/e-webdav-discover-widget.c b/src/libedataserverui/e-webdav-discover-widget.c
similarity index 100%
rename from libedataserverui/e-webdav-discover-widget.c
rename to src/libedataserverui/e-webdav-discover-widget.c
diff --git a/libedataserverui/e-webdav-discover-widget.h b/src/libedataserverui/e-webdav-discover-widget.h
similarity index 100%
rename from libedataserverui/e-webdav-discover-widget.h
rename to src/libedataserverui/e-webdav-discover-widget.h
diff --git a/libedataserverui/libedataserverui.h b/src/libedataserverui/libedataserverui.h
similarity index 100%
rename from libedataserverui/libedataserverui.h
rename to src/libedataserverui/libedataserverui.h
diff --git a/libedataserverui/libedataserverui.pc.in b/src/libedataserverui/libedataserverui.pc.in
similarity index 100%
rename from libedataserverui/libedataserverui.pc.in
rename to src/libedataserverui/libedataserverui.pc.in
diff --git a/src/modules/CMakeLists.txt b/src/modules/CMakeLists.txt
new file mode 100644
index 0000000..adf29bd
--- /dev/null
+++ b/src/modules/CMakeLists.txt
@@ -0,0 +1,85 @@
+macro(add_simple_module _name _sourcesvar _depsvar _defsvar _cflagsvar _incdirsvar _ldflagsvar _destination)
+       set(DEPENDENCIES
+               ebackend
+               edataserver
+       )
+
+       set(SOURCES
+               ${${_sourcesvar}}
+       )
+
+       add_library(${_name} MODULE
+               ${SOURCES}
+       )
+
+       set_target_properties(${_name} PROPERTIES
+               PREFIX ""
+       )
+
+       add_dependencies(${_name}
+               ${DEPENDENCIES}
+               ${${_depsvar}}
+       )
+
+       target_compile_definitions(${_name} PRIVATE
+               -DG_LOG_DOMAIN=\"${_name}\"
+               ${${_defsvar}}
+       )
+
+       target_compile_options(${_name} PUBLIC
+               ${BACKEND_CFLAGS}
+               ${DATA_SERVER_CFLAGS}
+               ${${_cflagsvar}}
+       )
+
+       target_include_directories(${_name} PUBLIC
+               ${CMAKE_BINARY_DIR}
+               ${CMAKE_BINARY_DIR}/src
+               ${CMAKE_SOURCE_DIR}/src
+               ${BACKEND_INCLUDE_DIRS}
+               ${DATA_SERVER_INCLUDE_DIRS}
+               ${${_incdirsvar}}
+       )
+
+       target_link_libraries(${_name}
+               ${DEPENDENCIES}
+               ${${_depsvar}}
+               ${BACKEND_LDFLAGS}
+               ${DATA_SERVER_LDFLAGS}
+               ${${_ldflagsvar}}
+       )
+
+       install(TARGETS ${_name}
+               DESTINATION ${_destination}
+       )
+endmacro(add_simple_module)
+
+macro(add_source_registry_module _name _sourcesvar _depsvar _defsvar _cflagsvar _incdirsvar _ldflagsvar)
+       add_simple_module(${_name} ${_sourcesvar} ${_depsvar} ${_defsvar} ${_cflagsvar} ${_incdirsvar} 
${_ldflagsvar} ${moduledir})
+endmacro(add_source_registry_module)
+
+macro(add_credentials_module _name _sourcesvar _depsvar _defsvar _cflagsvar _incdirsvar _ldflagsvar)
+       add_simple_module(${_name} ${_sourcesvar} ${_depsvar} ${_defsvar} ${_cflagsvar} ${_incdirsvar} 
${_ldflagsvar} ${credentialmoduledir})
+endmacro(add_credentials_module)
+
+add_subdirectory(cache-reaper)
+add_subdirectory(google-backend)
+add_subdirectory(outlook-backend)
+add_subdirectory(owncloud-backend)
+add_subdirectory(yahoo-backend)
+
+if(HAVE_GTK)
+       add_subdirectory(trust-prompt)
+endif(HAVE_GTK)
+
+if(HAVE_GOA)
+       add_subdirectory(gnome-online-accounts)
+endif(HAVE_GOA)
+
+if(HAVE_UOA)
+       add_subdirectory(ubuntu-online-accounts)
+endif(HAVE_UOA)
+
+if(NOT WIN32)
+       add_subdirectory(secret-monitor)
+endif(NOT WIN32)
diff --git a/modules/cache-reaper/CMakeLists.txt b/src/modules/cache-reaper/CMakeLists.txt
similarity index 100%
rename from modules/cache-reaper/CMakeLists.txt
rename to src/modules/cache-reaper/CMakeLists.txt
diff --git a/modules/cache-reaper/module-cache-reaper.c b/src/modules/cache-reaper/module-cache-reaper.c
similarity index 100%
rename from modules/cache-reaper/module-cache-reaper.c
rename to src/modules/cache-reaper/module-cache-reaper.c
diff --git a/modules/gnome-online-accounts/CMakeLists.txt b/src/modules/gnome-online-accounts/CMakeLists.txt
similarity index 100%
rename from modules/gnome-online-accounts/CMakeLists.txt
rename to src/modules/gnome-online-accounts/CMakeLists.txt
diff --git a/modules/gnome-online-accounts/e-goa-client.c b/src/modules/gnome-online-accounts/e-goa-client.c
similarity index 100%
rename from modules/gnome-online-accounts/e-goa-client.c
rename to src/modules/gnome-online-accounts/e-goa-client.c
diff --git a/modules/gnome-online-accounts/e-goa-client.h b/src/modules/gnome-online-accounts/e-goa-client.h
similarity index 100%
rename from modules/gnome-online-accounts/e-goa-client.h
rename to src/modules/gnome-online-accounts/e-goa-client.h
diff --git a/modules/gnome-online-accounts/e-goa-password-based.c 
b/src/modules/gnome-online-accounts/e-goa-password-based.c
similarity index 100%
rename from modules/gnome-online-accounts/e-goa-password-based.c
rename to src/modules/gnome-online-accounts/e-goa-password-based.c
diff --git a/modules/gnome-online-accounts/e-goa-password-based.h 
b/src/modules/gnome-online-accounts/e-goa-password-based.h
similarity index 100%
rename from modules/gnome-online-accounts/e-goa-password-based.h
rename to src/modules/gnome-online-accounts/e-goa-password-based.h
diff --git a/modules/gnome-online-accounts/goaewsclient.c b/src/modules/gnome-online-accounts/goaewsclient.c
similarity index 100%
rename from modules/gnome-online-accounts/goaewsclient.c
rename to src/modules/gnome-online-accounts/goaewsclient.c
diff --git a/modules/gnome-online-accounts/goaewsclient.h b/src/modules/gnome-online-accounts/goaewsclient.h
similarity index 100%
rename from modules/gnome-online-accounts/goaewsclient.h
rename to src/modules/gnome-online-accounts/goaewsclient.h
diff --git a/modules/gnome-online-accounts/module-credentials-goa.c 
b/src/modules/gnome-online-accounts/module-credentials-goa.c
similarity index 100%
rename from modules/gnome-online-accounts/module-credentials-goa.c
rename to src/modules/gnome-online-accounts/module-credentials-goa.c
diff --git a/modules/gnome-online-accounts/module-gnome-online-accounts.c 
b/src/modules/gnome-online-accounts/module-gnome-online-accounts.c
similarity index 100%
rename from modules/gnome-online-accounts/module-gnome-online-accounts.c
rename to src/modules/gnome-online-accounts/module-gnome-online-accounts.c
diff --git a/modules/google-backend/CMakeLists.txt b/src/modules/google-backend/CMakeLists.txt
similarity index 100%
rename from modules/google-backend/CMakeLists.txt
rename to src/modules/google-backend/CMakeLists.txt
diff --git a/modules/google-backend/module-google-backend.c 
b/src/modules/google-backend/module-google-backend.c
similarity index 100%
rename from modules/google-backend/module-google-backend.c
rename to src/modules/google-backend/module-google-backend.c
diff --git a/modules/outlook-backend/CMakeLists.txt b/src/modules/outlook-backend/CMakeLists.txt
similarity index 100%
rename from modules/outlook-backend/CMakeLists.txt
rename to src/modules/outlook-backend/CMakeLists.txt
diff --git a/modules/outlook-backend/module-outlook-backend.c 
b/src/modules/outlook-backend/module-outlook-backend.c
similarity index 100%
rename from modules/outlook-backend/module-outlook-backend.c
rename to src/modules/outlook-backend/module-outlook-backend.c
diff --git a/modules/owncloud-backend/CMakeLists.txt b/src/modules/owncloud-backend/CMakeLists.txt
similarity index 100%
rename from modules/owncloud-backend/CMakeLists.txt
rename to src/modules/owncloud-backend/CMakeLists.txt
diff --git a/modules/owncloud-backend/module-owncloud-backend.c 
b/src/modules/owncloud-backend/module-owncloud-backend.c
similarity index 100%
rename from modules/owncloud-backend/module-owncloud-backend.c
rename to src/modules/owncloud-backend/module-owncloud-backend.c
diff --git a/modules/secret-monitor/CMakeLists.txt b/src/modules/secret-monitor/CMakeLists.txt
similarity index 100%
rename from modules/secret-monitor/CMakeLists.txt
rename to src/modules/secret-monitor/CMakeLists.txt
diff --git a/modules/secret-monitor/module-secret-monitor.c 
b/src/modules/secret-monitor/module-secret-monitor.c
similarity index 100%
rename from modules/secret-monitor/module-secret-monitor.c
rename to src/modules/secret-monitor/module-secret-monitor.c
diff --git a/modules/trust-prompt/CMakeLists.txt b/src/modules/trust-prompt/CMakeLists.txt
similarity index 100%
rename from modules/trust-prompt/CMakeLists.txt
rename to src/modules/trust-prompt/CMakeLists.txt
diff --git a/modules/trust-prompt/module-trust-prompt.c b/src/modules/trust-prompt/module-trust-prompt.c
similarity index 100%
rename from modules/trust-prompt/module-trust-prompt.c
rename to src/modules/trust-prompt/module-trust-prompt.c
diff --git a/modules/trust-prompt/trust-prompt-gtk.c b/src/modules/trust-prompt/trust-prompt-gtk.c
similarity index 100%
rename from modules/trust-prompt/trust-prompt-gtk.c
rename to src/modules/trust-prompt/trust-prompt-gtk.c
diff --git a/modules/trust-prompt/trust-prompt.h b/src/modules/trust-prompt/trust-prompt.h
similarity index 100%
rename from modules/trust-prompt/trust-prompt.h
rename to src/modules/trust-prompt/trust-prompt.h
diff --git a/modules/ubuntu-online-accounts/CMakeLists.txt b/src/modules/ubuntu-online-accounts/CMakeLists.txt
similarity index 100%
rename from modules/ubuntu-online-accounts/CMakeLists.txt
rename to src/modules/ubuntu-online-accounts/CMakeLists.txt
diff --git a/modules/ubuntu-online-accounts/calendar.service-type.in.in 
b/src/modules/ubuntu-online-accounts/calendar.service-type.in.in
similarity index 100%
rename from modules/ubuntu-online-accounts/calendar.service-type.in.in
rename to src/modules/ubuntu-online-accounts/calendar.service-type.in.in
diff --git a/modules/ubuntu-online-accounts/contacts.service-type.in.in 
b/src/modules/ubuntu-online-accounts/contacts.service-type.in.in
similarity index 100%
rename from modules/ubuntu-online-accounts/contacts.service-type.in.in
rename to src/modules/ubuntu-online-accounts/contacts.service-type.in.in
diff --git a/modules/ubuntu-online-accounts/e-signon-session-password.c 
b/src/modules/ubuntu-online-accounts/e-signon-session-password.c
similarity index 100%
rename from modules/ubuntu-online-accounts/e-signon-session-password.c
rename to src/modules/ubuntu-online-accounts/e-signon-session-password.c
diff --git a/modules/ubuntu-online-accounts/e-signon-session-password.h 
b/src/modules/ubuntu-online-accounts/e-signon-session-password.h
similarity index 100%
rename from modules/ubuntu-online-accounts/e-signon-session-password.h
rename to src/modules/ubuntu-online-accounts/e-signon-session-password.h
diff --git a/modules/ubuntu-online-accounts/evolution-data-server-uoa.desktop.in.in 
b/src/modules/ubuntu-online-accounts/evolution-data-server-uoa.desktop.in.in
similarity index 100%
rename from modules/ubuntu-online-accounts/evolution-data-server-uoa.desktop.in.in
rename to src/modules/ubuntu-online-accounts/evolution-data-server-uoa.desktop.in.in
diff --git a/modules/ubuntu-online-accounts/evolution-data-server.application.in.in 
b/src/modules/ubuntu-online-accounts/evolution-data-server.application.in.in
similarity index 100%
rename from modules/ubuntu-online-accounts/evolution-data-server.application.in.in
rename to src/modules/ubuntu-online-accounts/evolution-data-server.application.in.in
diff --git a/modules/ubuntu-online-accounts/google-calendar.service.in.in 
b/src/modules/ubuntu-online-accounts/google-calendar.service.in.in
similarity index 100%
rename from modules/ubuntu-online-accounts/google-calendar.service.in.in
rename to src/modules/ubuntu-online-accounts/google-calendar.service.in.in
diff --git a/modules/ubuntu-online-accounts/google-contacts.service.in.in 
b/src/modules/ubuntu-online-accounts/google-contacts.service.in.in
similarity index 100%
rename from modules/ubuntu-online-accounts/google-contacts.service.in.in
rename to src/modules/ubuntu-online-accounts/google-contacts.service.in.in
diff --git a/modules/ubuntu-online-accounts/google-gmail.service.in.in 
b/src/modules/ubuntu-online-accounts/google-gmail.service.in.in
similarity index 100%
rename from modules/ubuntu-online-accounts/google-gmail.service.in.in
rename to src/modules/ubuntu-online-accounts/google-gmail.service.in.in
diff --git a/modules/ubuntu-online-accounts/mail.service-type.in.in 
b/src/modules/ubuntu-online-accounts/mail.service-type.in.in
similarity index 100%
rename from modules/ubuntu-online-accounts/mail.service-type.in.in
rename to src/modules/ubuntu-online-accounts/mail.service-type.in.in
diff --git a/modules/ubuntu-online-accounts/module-credentials-uoa.c 
b/src/modules/ubuntu-online-accounts/module-credentials-uoa.c
similarity index 100%
rename from modules/ubuntu-online-accounts/module-credentials-uoa.c
rename to src/modules/ubuntu-online-accounts/module-credentials-uoa.c
diff --git a/modules/ubuntu-online-accounts/module-ubuntu-online-accounts.c 
b/src/modules/ubuntu-online-accounts/module-ubuntu-online-accounts.c
similarity index 100%
rename from modules/ubuntu-online-accounts/module-ubuntu-online-accounts.c
rename to src/modules/ubuntu-online-accounts/module-ubuntu-online-accounts.c
diff --git a/modules/ubuntu-online-accounts/uoa-utils.c b/src/modules/ubuntu-online-accounts/uoa-utils.c
similarity index 100%
rename from modules/ubuntu-online-accounts/uoa-utils.c
rename to src/modules/ubuntu-online-accounts/uoa-utils.c
diff --git a/modules/ubuntu-online-accounts/uoa-utils.h b/src/modules/ubuntu-online-accounts/uoa-utils.h
similarity index 100%
rename from modules/ubuntu-online-accounts/uoa-utils.h
rename to src/modules/ubuntu-online-accounts/uoa-utils.h
diff --git a/modules/ubuntu-online-accounts/windows-live-mail.service.in.in 
b/src/modules/ubuntu-online-accounts/windows-live-mail.service.in.in
similarity index 100%
rename from modules/ubuntu-online-accounts/windows-live-mail.service.in.in
rename to src/modules/ubuntu-online-accounts/windows-live-mail.service.in.in
diff --git a/modules/ubuntu-online-accounts/yahoo-calendar.service.in.in 
b/src/modules/ubuntu-online-accounts/yahoo-calendar.service.in.in
similarity index 100%
rename from modules/ubuntu-online-accounts/yahoo-calendar.service.in.in
rename to src/modules/ubuntu-online-accounts/yahoo-calendar.service.in.in
diff --git a/modules/ubuntu-online-accounts/yahoo-mail.service.in.in 
b/src/modules/ubuntu-online-accounts/yahoo-mail.service.in.in
similarity index 100%
rename from modules/ubuntu-online-accounts/yahoo-mail.service.in.in
rename to src/modules/ubuntu-online-accounts/yahoo-mail.service.in.in
diff --git a/modules/yahoo-backend/CMakeLists.txt b/src/modules/yahoo-backend/CMakeLists.txt
similarity index 100%
rename from modules/yahoo-backend/CMakeLists.txt
rename to src/modules/yahoo-backend/CMakeLists.txt
diff --git a/modules/yahoo-backend/module-yahoo-backend.c b/src/modules/yahoo-backend/module-yahoo-backend.c
similarity index 100%
rename from modules/yahoo-backend/module-yahoo-backend.c
rename to src/modules/yahoo-backend/module-yahoo-backend.c
diff --git a/src/private/CMakeLists.txt b/src/private/CMakeLists.txt
new file mode 100644
index 0000000..ba7197c
--- /dev/null
+++ b/src/private/CMakeLists.txt
@@ -0,0 +1,190 @@
+
+set(GENERATED_DBUS_LOCALE
+       e-dbus-localed.c
+       e-dbus-localed.h
+)
+
+gdbus_codegen(org.freedesktop.locale1.xml
+       org.freedesktop.
+       E_DBus
+       e-dbus-localed
+       GENERATED_DBUS_LOCALE)
+
+set(GENERATED_DBUS_SOURCE
+       e-dbus-source.c
+       e-dbus-source.h
+       e-dbus-source-org.gnome.evolution.dataserver.Source.xml
+       e-dbus-source-org.gnome.evolution.dataserver.Source.Removable.xml
+       e-dbus-source-org.gnome.evolution.dataserver.Source.Writable.xml
+       e-dbus-source-org.gnome.evolution.dataserver.Source.RemoteCreatable.xml
+       e-dbus-source-org.gnome.evolution.dataserver.Source.RemoteDeletable.xml
+       e-dbus-source-org.gnome.evolution.dataserver.Source.OAuth2Support.xml
+)
+
+gdbus_codegen_custom(org.gnome.evolution.dataserver.Source.xml
+       org.gnome.evolution.dataserver.
+       E_DBus
+       e-dbus-source
+       GENERATED_DBUS_SOURCE
+       --c-generate-object-manager)
+
+set(GENERATED_DBUS_SOURCE_MANAGER
+       e-dbus-source-manager.c
+       e-dbus-source-manager.h
+       e-dbus-source-manager-org.gnome.evolution.dataserver.SourceManager.xml
+)
+
+gdbus_codegen(org.gnome.evolution.dataserver.SourceManager.xml
+       org.gnome.evolution.dataserver.
+       E_DBus
+       e-dbus-source-manager
+       GENERATED_DBUS_SOURCE_MANAGER)
+
+set(GENERATED_DBUS_AUTHENTICATOR
+       e-dbus-authenticator.c
+       e-dbus-authenticator.h
+       e-dbus-authenticator-org.gnome.evolution.dataserver.Authenticator.xml
+)
+
+gdbus_codegen(org.gnome.evolution.dataserver.Authenticator.xml
+       org.gnome.evolution.dataserver.
+       E_DBus
+       e-dbus-authenticator
+       GENERATED_DBUS_AUTHENTICATOR)
+
+set(GENERATED_DBUS_USER_PROMPTER
+       e-dbus-user-prompter.c
+       e-dbus-user-prompter.h
+       e-dbus-user-prompter-org.gnome.evolution.dataserver.UserPrompter.xml
+)
+
+gdbus_codegen(org.gnome.evolution.dataserver.UserPrompter.xml
+       org.gnome.evolution.dataserver.
+       E_DBus
+       e-dbus-user-prompter
+       GENERATED_DBUS_USER_PROMPTER)
+
+set(GENERATED_DBUS_ADDRESS_BOOK
+       e-dbus-address-book.c
+       e-dbus-address-book.h
+       e-dbus-address-book-org.gnome.evolution.dataserver.AddressBook.xml
+)
+
+gdbus_codegen(org.gnome.evolution.dataserver.AddressBook.xml
+       org.gnome.evolution.dataserver.
+       E_DBus
+       e-dbus-address-book
+       GENERATED_DBUS_ADDRESS_BOOK)
+
+set(GENERATED_DBUS_ADDRESS_BOOK_CURSOR
+       e-dbus-address-book-cursor.c
+       e-dbus-address-book-cursor.h
+       e-dbus-address-book-cursor-org.gnome.evolution.dataserver.AddressBookCursor.xml
+)
+
+gdbus_codegen(org.gnome.evolution.dataserver.AddressBookCursor.xml
+       org.gnome.evolution.dataserver.
+       E_DBus
+       e-dbus-address-book-cursor
+       GENERATED_DBUS_ADDRESS_BOOK_CURSOR)
+
+set(GENERATED_DBUS_DIRECT_BOOK
+       e-dbus-direct-book.c
+       e-dbus-direct-book.h
+       e-dbus-direct-book-org.gnome.evolution.dataserver.DirectBook.xml
+)
+
+gdbus_codegen(org.gnome.evolution.dataserver.DirectBook.xml
+       org.gnome.evolution.dataserver.
+       E_DBus
+       e-dbus-direct-book
+       GENERATED_DBUS_DIRECT_BOOK)
+
+set(GENERATED_DBUS_ADDRESS_BOOK_FACTORY
+       e-dbus-address-book-factory.c
+       e-dbus-address-book-factory.h
+       e-dbus-address-book-factory-org.gnome.evolution.dataserver.AddressBookFactory.xml
+)
+
+gdbus_codegen(org.gnome.evolution.dataserver.AddressBookFactory.xml
+       org.gnome.evolution.dataserver.
+       E_DBus
+       e-dbus-address-book-factory
+       GENERATED_DBUS_ADDRESS_BOOK_FACTORY)
+
+set(GENERATED_DBUS_CALENDAR
+       e-dbus-calendar.c
+       e-dbus-calendar.h
+       e-dbus-calendar-org.gnome.evolution.dataserver.Calendar.xml
+)
+
+gdbus_codegen(org.gnome.evolution.dataserver.Calendar.xml
+       org.gnome.evolution.dataserver.
+       E_DBus
+       e-dbus-calendar
+       GENERATED_DBUS_CALENDAR)
+
+set(GENERATED_DBUS_CALENDAR_FACTORY
+       e-dbus-calendar-factory.c
+       e-dbus-calendar-factory.h
+       e-dbus-calendar-factory-org.gnome.evolution.dataserver.CalendarFactory.xml
+)
+
+gdbus_codegen(org.gnome.evolution.dataserver.CalendarFactory.xml
+       org.gnome.evolution.dataserver.
+       E_DBus
+       e-dbus-calendar-factory
+       GENERATED_DBUS_CALENDAR_FACTORY)
+
+set(GENERATED_DBUS_SUBPROCESS_BACKEND
+       e-dbus-subprocess-backend.c
+       e-dbus-subprocess-backend.h
+       e-dbus-subprocess-backend-org.gnome.evolution.dataserver.Subprocess.Backend.xml
+)
+
+gdbus_codegen_custom(org.gnome.evolution.dataserver.Subprocess.Backend.xml
+       org.gnome.evolution.dataserver.Subprocess
+       E_DBus_Subprocess
+       e-dbus-subprocess-backend
+       GENERATED_DBUS_SUBPROCESS_BACKEND
+       --c-generate-object-manager)
+
+add_library(edbus-private SHARED
+       ${GENERATED_DBUS_LOCALE}
+       ${GENERATED_DBUS_SOURCE}
+       ${GENERATED_DBUS_SOURCE_MANAGER}
+       ${GENERATED_DBUS_AUTHENTICATOR}
+       ${GENERATED_DBUS_ADDRESS_BOOK}
+       ${GENERATED_DBUS_ADDRESS_BOOK_CURSOR}
+       ${GENERATED_DBUS_DIRECT_BOOK}
+       ${GENERATED_DBUS_ADDRESS_BOOK_FACTORY}
+       ${GENERATED_DBUS_CALENDAR}
+       ${GENERATED_DBUS_CALENDAR_FACTORY}
+       ${GENERATED_DBUS_USER_PROMPTER}
+       ${GENERATED_DBUS_SUBPROCESS_BACKEND}
+)
+
+target_compile_definitions(edbus-private PRIVATE
+       -DG_LOG_DOMAIN=\"libedbus-private\"
+)
+
+target_compile_options(edbus-private PUBLIC
+       ${DATA_SERVER_CFLAGS}
+       ${GIO_UNIX_CFLAGS}
+)
+
+target_include_directories(edbus-private PUBLIC
+       ${CMAKE_BINARY_DIR}
+       ${CMAKE_BINARY_DIR}/src
+       ${DATA_SERVER_INCLUDE_DIRS}
+       ${GIO_UNIX_INCLUDE_DIRS}
+)
+
+target_link_libraries(edbus-private
+       ${DATA_SERVER_LDFLAGS}
+       ${GIO_UNIX_LDFLAGS}
+)
+
+install(TARGETS edbus-private
+       DESTINATION ${privsolibdir}
+)
diff --git a/private/org.freedesktop.locale1.xml b/src/private/org.freedesktop.locale1.xml
similarity index 100%
rename from private/org.freedesktop.locale1.xml
rename to src/private/org.freedesktop.locale1.xml
diff --git a/private/org.gnome.evolution.dataserver.AddressBook.xml 
b/src/private/org.gnome.evolution.dataserver.AddressBook.xml
similarity index 100%
rename from private/org.gnome.evolution.dataserver.AddressBook.xml
rename to src/private/org.gnome.evolution.dataserver.AddressBook.xml
diff --git a/private/org.gnome.evolution.dataserver.AddressBookCursor.xml 
b/src/private/org.gnome.evolution.dataserver.AddressBookCursor.xml
similarity index 100%
rename from private/org.gnome.evolution.dataserver.AddressBookCursor.xml
rename to src/private/org.gnome.evolution.dataserver.AddressBookCursor.xml
diff --git a/private/org.gnome.evolution.dataserver.AddressBookFactory.xml 
b/src/private/org.gnome.evolution.dataserver.AddressBookFactory.xml
similarity index 100%
rename from private/org.gnome.evolution.dataserver.AddressBookFactory.xml
rename to src/private/org.gnome.evolution.dataserver.AddressBookFactory.xml
diff --git a/private/org.gnome.evolution.dataserver.Authenticator.xml 
b/src/private/org.gnome.evolution.dataserver.Authenticator.xml
similarity index 100%
rename from private/org.gnome.evolution.dataserver.Authenticator.xml
rename to src/private/org.gnome.evolution.dataserver.Authenticator.xml
diff --git a/private/org.gnome.evolution.dataserver.Calendar.xml 
b/src/private/org.gnome.evolution.dataserver.Calendar.xml
similarity index 100%
rename from private/org.gnome.evolution.dataserver.Calendar.xml
rename to src/private/org.gnome.evolution.dataserver.Calendar.xml
diff --git a/private/org.gnome.evolution.dataserver.CalendarFactory.xml 
b/src/private/org.gnome.evolution.dataserver.CalendarFactory.xml
similarity index 100%
rename from private/org.gnome.evolution.dataserver.CalendarFactory.xml
rename to src/private/org.gnome.evolution.dataserver.CalendarFactory.xml
diff --git a/private/org.gnome.evolution.dataserver.DirectBook.xml 
b/src/private/org.gnome.evolution.dataserver.DirectBook.xml
similarity index 100%
rename from private/org.gnome.evolution.dataserver.DirectBook.xml
rename to src/private/org.gnome.evolution.dataserver.DirectBook.xml
diff --git a/private/org.gnome.evolution.dataserver.Source.xml 
b/src/private/org.gnome.evolution.dataserver.Source.xml
similarity index 100%
rename from private/org.gnome.evolution.dataserver.Source.xml
rename to src/private/org.gnome.evolution.dataserver.Source.xml
diff --git a/private/org.gnome.evolution.dataserver.SourceManager.xml 
b/src/private/org.gnome.evolution.dataserver.SourceManager.xml
similarity index 100%
rename from private/org.gnome.evolution.dataserver.SourceManager.xml
rename to src/private/org.gnome.evolution.dataserver.SourceManager.xml
diff --git a/private/org.gnome.evolution.dataserver.Subprocess.Backend.xml 
b/src/private/org.gnome.evolution.dataserver.Subprocess.Backend.xml
similarity index 100%
rename from private/org.gnome.evolution.dataserver.Subprocess.Backend.xml
rename to src/private/org.gnome.evolution.dataserver.Subprocess.Backend.xml
diff --git a/private/org.gnome.evolution.dataserver.UserPrompter.xml 
b/src/private/org.gnome.evolution.dataserver.UserPrompter.xml
similarity index 100%
rename from private/org.gnome.evolution.dataserver.UserPrompter.xml
rename to src/private/org.gnome.evolution.dataserver.UserPrompter.xml
diff --git a/services/CMakeLists.txt b/src/services/CMakeLists.txt
similarity index 100%
rename from services/CMakeLists.txt
rename to src/services/CMakeLists.txt
diff --git a/src/services/evolution-addressbook-factory/CMakeLists.txt 
b/src/services/evolution-addressbook-factory/CMakeLists.txt
new file mode 100644
index 0000000..37bfc63
--- /dev/null
+++ b/src/services/evolution-addressbook-factory/CMakeLists.txt
@@ -0,0 +1,76 @@
+set(SYSTEMD_SERVICE)
+if(WITH_SYSTEMD_USER_UNITS)
+       set(SYSTEMD_SERVICE "SystemdService=evolution-addressbook-factory.service")
+
+       configure_file(evolution-addressbook-factory.service.in
+               evolution-addressbook-factory.service
+               @ONLY
+       )
+
+       install(FILES ${CMAKE_CURRENT_BINARY_DIR}/evolution-addressbook-factory.service
+               DESTINATION ${WITH_SYSTEMDUSERUNITDIR}
+       )
+endif(WITH_SYSTEMD_USER_UNITS)
+
+configure_file(org.gnome.evolution.dataserver.AddressBook.service.in
+       org.gnome.evolution.dataserver.AddressBook.service
+       @ONLY
+)
+
+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/org.gnome.evolution.dataserver.AddressBook.service
+       DESTINATION ${WITH_DBUS_SERVICE_DIR}
+)
+
+set(DEPENDENCIES
+       ebackend
+       ebook
+       ebook-contacts
+       edata-book
+       edataserver
+)
+
+set(SOURCES
+       evolution-addressbook-factory.c
+)
+
+add_executable(evolution-addressbook-factory
+       ${SOURCES}
+)
+
+add_dependencies(evolution-addressbook-factory
+       ${DEPENDENCIES}
+)
+
+target_compile_definitions(evolution-addressbook-factory PRIVATE
+       -DG_LOG_DOMAIN=\"evolution-addressbook-factory\"
+       -DLOCALEDIR=\"${LOCALE_INSTALL_DIR}\"
+)
+
+target_compile_options(evolution-addressbook-factory PUBLIC
+       ${BACKEND_CFLAGS}
+       ${DATA_SERVER_CFLAGS}
+       ${ADDRESSBOOK_CFLAGS}
+       ${GTK_CFLAGS}
+)
+
+target_include_directories(evolution-addressbook-factory PUBLIC
+       ${CMAKE_BINARY_DIR}
+       ${CMAKE_BINARY_DIR}/src
+       ${CMAKE_SOURCE_DIR}/src
+       ${BACKEND_INCLUDE_DIRS}
+       ${DATA_SERVER_INCLUDE_DIRS}
+       ${ADDRESSBOOK_INCLUDE_DIRS}
+       ${GTK_INCLUDE_DIRS}
+)
+
+target_link_libraries(evolution-addressbook-factory
+       ${DEPENDENCIES}
+       ${BACKEND_LDFLAGS}
+       ${DATA_SERVER_LDFLAGS}
+       ${ADDRESSBOOK_LDFLAGS}
+       ${GTK_LDFLAGS}
+)
+
+install(TARGETS evolution-addressbook-factory
+       DESTINATION ${LIBEXEC_INSTALL_DIR}
+)
diff --git a/services/evolution-addressbook-factory/evolution-addressbook-factory.c 
b/src/services/evolution-addressbook-factory/evolution-addressbook-factory.c
similarity index 100%
rename from services/evolution-addressbook-factory/evolution-addressbook-factory.c
rename to src/services/evolution-addressbook-factory/evolution-addressbook-factory.c
diff --git a/services/evolution-addressbook-factory/evolution-addressbook-factory.service.in 
b/src/services/evolution-addressbook-factory/evolution-addressbook-factory.service.in
similarity index 100%
rename from services/evolution-addressbook-factory/evolution-addressbook-factory.service.in
rename to src/services/evolution-addressbook-factory/evolution-addressbook-factory.service.in
diff --git a/services/evolution-addressbook-factory/org.gnome.evolution.dataserver.AddressBook.service.in 
b/src/services/evolution-addressbook-factory/org.gnome.evolution.dataserver.AddressBook.service.in
similarity index 100%
rename from services/evolution-addressbook-factory/org.gnome.evolution.dataserver.AddressBook.service.in
rename to src/services/evolution-addressbook-factory/org.gnome.evolution.dataserver.AddressBook.service.in
diff --git a/src/services/evolution-calendar-factory/CMakeLists.txt 
b/src/services/evolution-calendar-factory/CMakeLists.txt
new file mode 100644
index 0000000..19e4df6
--- /dev/null
+++ b/src/services/evolution-calendar-factory/CMakeLists.txt
@@ -0,0 +1,75 @@
+set(SYSTEMD_SERVICE)
+if(WITH_SYSTEMD_USER_UNITS)
+       set(SYSTEMD_SERVICE "SystemdService=evolution-calendar-factory.service")
+
+       configure_file(evolution-calendar-factory.service.in
+               evolution-calendar-factory.service
+               @ONLY
+       )
+
+       install(FILES ${CMAKE_CURRENT_BINARY_DIR}/evolution-calendar-factory.service
+               DESTINATION ${WITH_SYSTEMDUSERUNITDIR}
+       )
+endif(WITH_SYSTEMD_USER_UNITS)
+
+configure_file(org.gnome.evolution.dataserver.Calendar.service.in
+       org.gnome.evolution.dataserver.Calendar.service
+       @ONLY
+)
+
+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/org.gnome.evolution.dataserver.Calendar.service
+       DESTINATION ${WITH_DBUS_SERVICE_DIR}
+)
+
+set(DEPENDENCIES
+       ebackend
+       ecal
+       edata-cal
+       edataserver
+)
+
+set(SOURCES
+       evolution-calendar-factory.c
+)
+
+add_executable(evolution-calendar-factory
+       ${SOURCES}
+)
+
+add_dependencies(evolution-calendar-factory
+       ${DEPENDENCIES}
+)
+
+target_compile_definitions(evolution-calendar-factory PRIVATE
+       -DG_LOG_DOMAIN=\"evolution-calendar-factory\"
+       -DLOCALEDIR=\"${LOCALE_INSTALL_DIR}\"
+)
+
+target_compile_options(evolution-calendar-factory PUBLIC
+       ${BACKEND_CFLAGS}
+       ${DATA_SERVER_CFLAGS}
+       ${CALENDAR_CFLAGS}
+       ${GTK_CFLAGS}
+)
+
+target_include_directories(evolution-calendar-factory PUBLIC
+       ${CMAKE_BINARY_DIR}
+       ${CMAKE_BINARY_DIR}/src
+       ${CMAKE_SOURCE_DIR}/src
+       ${BACKEND_INCLUDE_DIRS}
+       ${DATA_SERVER_INCLUDE_DIRS}
+       ${CALENDAR_INCLUDE_DIRS}
+       ${GTK_INCLUDE_DIRS}
+)
+
+target_link_libraries(evolution-calendar-factory
+       ${DEPENDENCIES}
+       ${BACKEND_LDFLAGS}
+       ${DATA_SERVER_LDFLAGS}
+       ${CALENDAR_LDFLAGS}
+       ${GTK_LDFLAGS}
+)
+
+install(TARGETS evolution-calendar-factory
+       DESTINATION ${LIBEXEC_INSTALL_DIR}
+)
diff --git a/services/evolution-calendar-factory/evolution-calendar-factory.c 
b/src/services/evolution-calendar-factory/evolution-calendar-factory.c
similarity index 100%
rename from services/evolution-calendar-factory/evolution-calendar-factory.c
rename to src/services/evolution-calendar-factory/evolution-calendar-factory.c
diff --git a/services/evolution-calendar-factory/evolution-calendar-factory.service.in 
b/src/services/evolution-calendar-factory/evolution-calendar-factory.service.in
similarity index 100%
rename from services/evolution-calendar-factory/evolution-calendar-factory.service.in
rename to src/services/evolution-calendar-factory/evolution-calendar-factory.service.in
diff --git a/services/evolution-calendar-factory/org.gnome.evolution.dataserver.Calendar.service.in 
b/src/services/evolution-calendar-factory/org.gnome.evolution.dataserver.Calendar.service.in
similarity index 100%
rename from services/evolution-calendar-factory/org.gnome.evolution.dataserver.Calendar.service.in
rename to src/services/evolution-calendar-factory/org.gnome.evolution.dataserver.Calendar.service.in
diff --git a/src/services/evolution-source-registry/CMakeLists.txt 
b/src/services/evolution-source-registry/CMakeLists.txt
new file mode 100644
index 0000000..03259b6
--- /dev/null
+++ b/src/services/evolution-source-registry/CMakeLists.txt
@@ -0,0 +1,153 @@
+set(SYSTEMD_SERVICE)
+if(WITH_SYSTEMD_USER_UNITS)
+       set(SYSTEMD_SERVICE "SystemdService=evolution-source-registry.service")
+
+       configure_file(evolution-source-registry.service.in
+               evolution-source-registry.service
+               @ONLY
+       )
+
+       install(FILES ${CMAKE_CURRENT_BINARY_DIR}/evolution-source-registry.service
+               DESTINATION ${WITH_SYSTEMDUSERUNITDIR}
+       )
+endif(WITH_SYSTEMD_USER_UNITS)
+
+configure_file(org.gnome.evolution.dataserver.Sources.service.in
+       org.gnome.evolution.dataserver.Sources.service
+       @ONLY
+)
+
+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/org.gnome.evolution.dataserver.Sources.service
+       DESTINATION ${WITH_DBUS_SERVICE_DIR}
+)
+
+set(builtin_sources_files
+       caldav-stub.source
+       contacts-stub.source
+       google-stub.source
+       ldap-stub.source
+       local-stub.source
+       weather-stub.source
+       webcal-stub.source
+       webdav-stub.source
+       birthdays.source
+       local.source
+       sendmail.source
+       system-address-book.source
+       system-calendar.source
+       system-memo-list.source
+       system-proxy.source
+       system-task-list.source
+       vfolder.source
+)
+
+if(NOT EXISTS ${CMAKE_CURRENT_BINARY_DIR}/builtin)
+       file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/builtin)
+endif(NOT EXISTS ${CMAKE_CURRENT_BINARY_DIR}/builtin)
+
+set(builtin_sources)
+foreach(_file ${builtin_sources_files})
+       intltool_merge(${CMAKE_CURRENT_SOURCE_DIR}/builtin/${_file}.in 
${CMAKE_CURRENT_BINARY_DIR}/builtin/${_file} -d -u)
+       list(APPEND builtin_sources ${CMAKE_CURRENT_BINARY_DIR}/builtin/${_file})
+endforeach(_file)
+
+glib_compile_resources(${CMAKE_CURRENT_BINARY_DIR}/builtin evolution-source-registry-resource 
evolution_source_registry evolution-source-registry-resource.xml ${builtin_sources})
+
+set(DEPENDENCIES
+       ebackend
+       edataserver
+)
+
+set(SOURCES
+       evolution-source-registry.c
+       evolution-source-registry-migrate-basedir.c
+       evolution-source-registry-migrate-proxies.c
+       evolution-source-registry-migrate-sources.c
+       evolution-source-registry-migrate-imap-to-imapx.c
+       ${CMAKE_CURRENT_BINARY_DIR}/evolution-source-registry-resource.c
+       ${CMAKE_CURRENT_BINARY_DIR}/evolution-source-registry-resource.h
+)
+
+add_executable(evolution-source-registry
+       ${SOURCES}
+)
+
+add_dependencies(evolution-source-registry
+       ${DEPENDENCIES}
+)
+
+target_compile_definitions(evolution-source-registry PRIVATE
+       -DG_LOG_DOMAIN=\"evolution-source-registry\"
+       -DLOCALEDIR=\"${LOCALE_INSTALL_DIR}\"
+)
+
+target_compile_options(evolution-source-registry PUBLIC
+       ${BACKEND_CFLAGS}
+       ${DATA_SERVER_CFLAGS}
+       ${GTK_CFLAGS}
+)
+
+target_include_directories(evolution-source-registry PUBLIC
+       ${CMAKE_BINARY_DIR}
+       ${CMAKE_BINARY_DIR}/src
+       ${CMAKE_SOURCE_DIR}/src
+       ${CMAKE_CURRENT_BINARY_DIR}
+       ${BACKEND_INCLUDE_DIRS}
+       ${DATA_SERVER_INCLUDE_DIRS}
+       ${GTK_INCLUDE_DIRS}
+)
+
+target_link_libraries(evolution-source-registry
+       ${DEPENDENCIES}
+       ${BACKEND_LDFLAGS}
+       ${DATA_SERVER_LDFLAGS}
+       ${GTK_LDFLAGS}
+)
+
+install(TARGETS evolution-source-registry
+       DESTINATION ${LIBEXEC_INSTALL_DIR}
+)
+
+set(SOURCES
+       evolution-scan-gconf-tree-xml.c
+       evolution-source-registry-migrate-sources.c
+)
+
+add_executable(evolution-scan-gconf-tree-xml
+       ${SOURCES}
+)
+
+add_dependencies(evolution-scan-gconf-tree-xml
+       ${DEPENDENCIES}
+)
+
+target_compile_definitions(evolution-scan-gconf-tree-xml PRIVATE
+       -DG_LOG_DOMAIN=\"evolution-scan-gconf-tree-xml\"
+       -DLOCALEDIR=\"${LOCALE_INSTALL_DIR}\"
+)
+
+target_compile_options(evolution-scan-gconf-tree-xml PUBLIC
+       ${BACKEND_CFLAGS}
+       ${DATA_SERVER_CFLAGS}
+       ${GTK_CFLAGS}
+)
+
+target_include_directories(evolution-scan-gconf-tree-xml PUBLIC
+       ${CMAKE_BINARY_DIR}
+       ${CMAKE_BINARY_DIR}/src
+       ${CMAKE_SOURCE_DIR}/src
+       ${BACKEND_INCLUDE_DIRS}
+       ${DATA_SERVER_INCLUDE_DIRS}
+       ${GTK_INCLUDE_DIRS}
+)
+
+target_link_libraries(evolution-scan-gconf-tree-xml
+       ${DEPENDENCIES}
+       ${BACKEND_LDFLAGS}
+       ${DATA_SERVER_LDFLAGS}
+       ${GTK_LDFLAGS}
+)
+
+install(TARGETS evolution-scan-gconf-tree-xml
+       DESTINATION ${LIBEXEC_INSTALL_DIR}
+)
diff --git a/services/evolution-source-registry/builtin/birthdays.source.in 
b/src/services/evolution-source-registry/builtin/birthdays.source.in
similarity index 100%
rename from services/evolution-source-registry/builtin/birthdays.source.in
rename to src/services/evolution-source-registry/builtin/birthdays.source.in
diff --git a/services/evolution-source-registry/builtin/caldav-stub.source.in 
b/src/services/evolution-source-registry/builtin/caldav-stub.source.in
similarity index 100%
rename from services/evolution-source-registry/builtin/caldav-stub.source.in
rename to src/services/evolution-source-registry/builtin/caldav-stub.source.in
diff --git a/services/evolution-source-registry/builtin/contacts-stub.source.in 
b/src/services/evolution-source-registry/builtin/contacts-stub.source.in
similarity index 100%
rename from services/evolution-source-registry/builtin/contacts-stub.source.in
rename to src/services/evolution-source-registry/builtin/contacts-stub.source.in
diff --git a/services/evolution-source-registry/builtin/google-stub.source.in 
b/src/services/evolution-source-registry/builtin/google-stub.source.in
similarity index 100%
rename from services/evolution-source-registry/builtin/google-stub.source.in
rename to src/services/evolution-source-registry/builtin/google-stub.source.in
diff --git a/services/evolution-source-registry/builtin/ldap-stub.source.in 
b/src/services/evolution-source-registry/builtin/ldap-stub.source.in
similarity index 100%
rename from services/evolution-source-registry/builtin/ldap-stub.source.in
rename to src/services/evolution-source-registry/builtin/ldap-stub.source.in
diff --git a/services/evolution-source-registry/builtin/local-stub.source.in 
b/src/services/evolution-source-registry/builtin/local-stub.source.in
similarity index 100%
rename from services/evolution-source-registry/builtin/local-stub.source.in
rename to src/services/evolution-source-registry/builtin/local-stub.source.in
diff --git a/services/evolution-source-registry/builtin/local.source.in 
b/src/services/evolution-source-registry/builtin/local.source.in
similarity index 100%
rename from services/evolution-source-registry/builtin/local.source.in
rename to src/services/evolution-source-registry/builtin/local.source.in
diff --git a/services/evolution-source-registry/builtin/sendmail.source.in 
b/src/services/evolution-source-registry/builtin/sendmail.source.in
similarity index 100%
rename from services/evolution-source-registry/builtin/sendmail.source.in
rename to src/services/evolution-source-registry/builtin/sendmail.source.in
diff --git a/services/evolution-source-registry/builtin/system-address-book.source.in 
b/src/services/evolution-source-registry/builtin/system-address-book.source.in
similarity index 100%
rename from services/evolution-source-registry/builtin/system-address-book.source.in
rename to src/services/evolution-source-registry/builtin/system-address-book.source.in
diff --git a/services/evolution-source-registry/builtin/system-calendar.source.in 
b/src/services/evolution-source-registry/builtin/system-calendar.source.in
similarity index 100%
rename from services/evolution-source-registry/builtin/system-calendar.source.in
rename to src/services/evolution-source-registry/builtin/system-calendar.source.in
diff --git a/services/evolution-source-registry/builtin/system-memo-list.source.in 
b/src/services/evolution-source-registry/builtin/system-memo-list.source.in
similarity index 100%
rename from services/evolution-source-registry/builtin/system-memo-list.source.in
rename to src/services/evolution-source-registry/builtin/system-memo-list.source.in
diff --git a/services/evolution-source-registry/builtin/system-proxy.source.in 
b/src/services/evolution-source-registry/builtin/system-proxy.source.in
similarity index 100%
rename from services/evolution-source-registry/builtin/system-proxy.source.in
rename to src/services/evolution-source-registry/builtin/system-proxy.source.in
diff --git a/services/evolution-source-registry/builtin/system-task-list.source.in 
b/src/services/evolution-source-registry/builtin/system-task-list.source.in
similarity index 100%
rename from services/evolution-source-registry/builtin/system-task-list.source.in
rename to src/services/evolution-source-registry/builtin/system-task-list.source.in
diff --git a/services/evolution-source-registry/builtin/vfolder.source.in 
b/src/services/evolution-source-registry/builtin/vfolder.source.in
similarity index 100%
rename from services/evolution-source-registry/builtin/vfolder.source.in
rename to src/services/evolution-source-registry/builtin/vfolder.source.in
diff --git a/services/evolution-source-registry/builtin/weather-stub.source.in 
b/src/services/evolution-source-registry/builtin/weather-stub.source.in
similarity index 100%
rename from services/evolution-source-registry/builtin/weather-stub.source.in
rename to src/services/evolution-source-registry/builtin/weather-stub.source.in
diff --git a/services/evolution-source-registry/builtin/webcal-stub.source.in 
b/src/services/evolution-source-registry/builtin/webcal-stub.source.in
similarity index 100%
rename from services/evolution-source-registry/builtin/webcal-stub.source.in
rename to src/services/evolution-source-registry/builtin/webcal-stub.source.in
diff --git a/services/evolution-source-registry/builtin/webdav-stub.source.in 
b/src/services/evolution-source-registry/builtin/webdav-stub.source.in
similarity index 100%
rename from services/evolution-source-registry/builtin/webdav-stub.source.in
rename to src/services/evolution-source-registry/builtin/webdav-stub.source.in
diff --git a/services/evolution-source-registry/evolution-scan-gconf-tree-xml.c 
b/src/services/evolution-source-registry/evolution-scan-gconf-tree-xml.c
similarity index 100%
rename from services/evolution-source-registry/evolution-scan-gconf-tree-xml.c
rename to src/services/evolution-source-registry/evolution-scan-gconf-tree-xml.c
diff --git a/services/evolution-source-registry/evolution-source-registry-migrate-basedir.c 
b/src/services/evolution-source-registry/evolution-source-registry-migrate-basedir.c
similarity index 100%
rename from services/evolution-source-registry/evolution-source-registry-migrate-basedir.c
rename to src/services/evolution-source-registry/evolution-source-registry-migrate-basedir.c
diff --git a/services/evolution-source-registry/evolution-source-registry-migrate-imap-to-imapx.c 
b/src/services/evolution-source-registry/evolution-source-registry-migrate-imap-to-imapx.c
similarity index 100%
rename from services/evolution-source-registry/evolution-source-registry-migrate-imap-to-imapx.c
rename to src/services/evolution-source-registry/evolution-source-registry-migrate-imap-to-imapx.c
diff --git a/services/evolution-source-registry/evolution-source-registry-migrate-proxies.c 
b/src/services/evolution-source-registry/evolution-source-registry-migrate-proxies.c
similarity index 100%
rename from services/evolution-source-registry/evolution-source-registry-migrate-proxies.c
rename to src/services/evolution-source-registry/evolution-source-registry-migrate-proxies.c
diff --git a/services/evolution-source-registry/evolution-source-registry-migrate-sources.c 
b/src/services/evolution-source-registry/evolution-source-registry-migrate-sources.c
similarity index 100%
rename from services/evolution-source-registry/evolution-source-registry-migrate-sources.c
rename to src/services/evolution-source-registry/evolution-source-registry-migrate-sources.c
diff --git a/services/evolution-source-registry/evolution-source-registry-resource.xml 
b/src/services/evolution-source-registry/evolution-source-registry-resource.xml
similarity index 100%
rename from services/evolution-source-registry/evolution-source-registry-resource.xml
rename to src/services/evolution-source-registry/evolution-source-registry-resource.xml
diff --git a/services/evolution-source-registry/evolution-source-registry.c 
b/src/services/evolution-source-registry/evolution-source-registry.c
similarity index 100%
rename from services/evolution-source-registry/evolution-source-registry.c
rename to src/services/evolution-source-registry/evolution-source-registry.c
diff --git a/services/evolution-source-registry/evolution-source-registry.service.in 
b/src/services/evolution-source-registry/evolution-source-registry.service.in
similarity index 100%
rename from services/evolution-source-registry/evolution-source-registry.service.in
rename to src/services/evolution-source-registry/evolution-source-registry.service.in
diff --git a/services/evolution-source-registry/org.gnome.evolution.dataserver.Sources.service.in 
b/src/services/evolution-source-registry/org.gnome.evolution.dataserver.Sources.service.in
similarity index 100%
rename from services/evolution-source-registry/org.gnome.evolution.dataserver.Sources.service.in
rename to src/services/evolution-source-registry/org.gnome.evolution.dataserver.Sources.service.in
diff --git a/src/services/evolution-user-prompter/CMakeLists.txt 
b/src/services/evolution-user-prompter/CMakeLists.txt
new file mode 100644
index 0000000..3e72756
--- /dev/null
+++ b/src/services/evolution-user-prompter/CMakeLists.txt
@@ -0,0 +1,78 @@
+set(SYSTEMD_SERVICE)
+if(WITH_SYSTEMD_USER_UNITS)
+       set(SYSTEMD_SERVICE "SystemdService=evolution-user-prompter.service")
+
+       configure_file(evolution-user-prompter.service.in
+               evolution-user-prompter.service
+               @ONLY
+       )
+
+       install(FILES ${CMAKE_CURRENT_BINARY_DIR}/evolution-user-prompter.service
+               DESTINATION ${WITH_SYSTEMDUSERUNITDIR}
+       )
+endif(WITH_SYSTEMD_USER_UNITS)
+
+configure_file(org.gnome.evolution.dataserver.UserPrompter.service.in
+       org.gnome.evolution.dataserver.UserPrompter.service
+       @ONLY
+)
+
+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/org.gnome.evolution.dataserver.UserPrompter.service
+       DESTINATION ${WITH_DBUS_SERVICE_DIR}
+)
+
+set(DEPENDENCIES
+       ebackend
+       ebook
+       ebook-contacts
+       edata-book
+       edataserver
+)
+
+set(SOURCES
+       prompt-user.h
+       prompt-user-gtk.c
+       evolution-user-prompter.c
+)
+
+add_executable(evolution-user-prompter
+       ${SOURCES}
+)
+
+add_dependencies(evolution-user-prompter
+       ${DEPENDENCIES}
+)
+
+target_compile_definitions(evolution-user-prompter PRIVATE
+       -DG_LOG_DOMAIN=\"evolution-user-prompter\"
+       -DLOCALEDIR=\"${LOCALE_INSTALL_DIR}\"
+)
+
+target_compile_options(evolution-user-prompter PUBLIC
+       ${BACKEND_CFLAGS}
+       ${DATA_SERVER_CFLAGS}
+       ${GNOME_PLATFORM_CFLAGS}
+       ${GTK_CFLAGS}
+)
+
+target_include_directories(evolution-user-prompter PUBLIC
+       ${CMAKE_BINARY_DIR}
+       ${CMAKE_BINARY_DIR}/src
+       ${CMAKE_SOURCE_DIR}/src
+       ${BACKEND_INCLUDE_DIRS}
+       ${DATA_SERVER_INCLUDE_DIRS}
+       ${GNOME_PLATFORM_INCLUDE_DIRS}
+       ${GTK_INCLUDE_DIRS}
+)
+
+target_link_libraries(evolution-user-prompter
+       ${DEPENDENCIES}
+       ${BACKEND_LDFLAGS}
+       ${DATA_SERVER_LDFLAGS}
+       ${GNOME_PLATFORM_LDFLAGS}
+       ${GTK_LDFLAGS}
+)
+
+install(TARGETS evolution-user-prompter
+       DESTINATION ${LIBEXEC_INSTALL_DIR}
+)
diff --git a/services/evolution-user-prompter/evolution-user-prompter.c 
b/src/services/evolution-user-prompter/evolution-user-prompter.c
similarity index 100%
rename from services/evolution-user-prompter/evolution-user-prompter.c
rename to src/services/evolution-user-prompter/evolution-user-prompter.c
diff --git a/services/evolution-user-prompter/evolution-user-prompter.service.in 
b/src/services/evolution-user-prompter/evolution-user-prompter.service.in
similarity index 100%
rename from services/evolution-user-prompter/evolution-user-prompter.service.in
rename to src/services/evolution-user-prompter/evolution-user-prompter.service.in
diff --git a/services/evolution-user-prompter/org.gnome.evolution.dataserver.UserPrompter.service.in 
b/src/services/evolution-user-prompter/org.gnome.evolution.dataserver.UserPrompter.service.in
similarity index 100%
rename from services/evolution-user-prompter/org.gnome.evolution.dataserver.UserPrompter.service.in
rename to src/services/evolution-user-prompter/org.gnome.evolution.dataserver.UserPrompter.service.in
diff --git a/services/evolution-user-prompter/prompt-user-gtk.c 
b/src/services/evolution-user-prompter/prompt-user-gtk.c
similarity index 100%
rename from services/evolution-user-prompter/prompt-user-gtk.c
rename to src/services/evolution-user-prompter/prompt-user-gtk.c
diff --git a/services/evolution-user-prompter/prompt-user.h 
b/src/services/evolution-user-prompter/prompt-user.h
similarity index 100%
rename from services/evolution-user-prompter/prompt-user.h
rename to src/services/evolution-user-prompter/prompt-user.h
diff --git a/tools/CMakeLists.txt b/src/tools/CMakeLists.txt
similarity index 100%
rename from tools/CMakeLists.txt
rename to src/tools/CMakeLists.txt
diff --git a/src/tools/addressbook-export/CMakeLists.txt b/src/tools/addressbook-export/CMakeLists.txt
new file mode 100644
index 0000000..f945916
--- /dev/null
+++ b/src/tools/addressbook-export/CMakeLists.txt
@@ -0,0 +1,60 @@
+set(DEPENDENCIES
+       ebook
+       ebook-contacts
+       edataserver
+)
+
+set(SOURCES
+       addressbook-export.c
+)
+
+add_executable(addressbook-export
+       ${SOURCES}
+)
+
+add_dependencies(addressbook-export
+       ${DEPENDENCIES}
+)
+
+target_compile_definitions(addressbook-export PRIVATE
+       -DG_LOG_DOMAIN=\"addressbook-export\"
+       -DLOCALEDIR=\"${LOCALE_INSTALL_DIR}\"
+)
+
+target_compile_options(addressbook-export PUBLIC
+       ${ADDRESSBOOK_CFLAGS}
+)
+
+target_include_directories(addressbook-export PUBLIC
+       ${CMAKE_BINARY_DIR}
+       ${CMAKE_BINARY_DIR}/src
+       ${CMAKE_BINARY_DIR}/src/addressbook
+       ${CMAKE_SOURCE_DIR}/src
+       ${CMAKE_SOURCE_DIR}/src/addressbook
+       ${CMAKE_CURRENT_BINARY_DIR}
+       ${ADDRESSBOOK_INCLUDE_DIRS}
+)
+
+target_link_libraries(addressbook-export
+       ${DEPENDENCIES}
+       ${ADDRESSBOOK_LDFLAGS}
+)
+
+install(TARGETS addressbook-export
+       DESTINATION ${privlibexecdir}
+)
+
+find_program(PERL perl)
+if(PERL)
+       configure_file(
+               ${CMAKE_CURRENT_SOURCE_DIR}/csv2vcard.in
+               ${CMAKE_CURRENT_BINARY_DIR}/csv2vcard
+               @ONLY
+       )
+
+       install(FILES ${CMAKE_CURRENT_BINARY_DIR}/csv2vcard
+               DESTINATION ${privlibexecdir}
+       )
+else(PERL)
+       message(WARNING "The 'perl' not found, not installing csv2vcard")
+endif(PERL)
diff --git a/tools/addressbook-export/addressbook-export.c b/src/tools/addressbook-export/addressbook-export.c
similarity index 100%
rename from tools/addressbook-export/addressbook-export.c
rename to src/tools/addressbook-export/addressbook-export.c
diff --git a/tools/addressbook-export/csv2vcard.in b/src/tools/addressbook-export/csv2vcard.in
similarity index 100%
rename from tools/addressbook-export/csv2vcard.in
rename to src/tools/addressbook-export/csv2vcard.in
diff --git a/src/vala/CMakeLists.txt b/src/vala/CMakeLists.txt
new file mode 100644
index 0000000..9fde4f2
--- /dev/null
+++ b/src/vala/CMakeLists.txt
@@ -0,0 +1,141 @@
+set(valafiles
+       ${CMAKE_CURRENT_SOURCE_DIR}/libedataserver-${API_VERSION}.deps
+       ${CMAKE_CURRENT_BINARY_DIR}/libedataserver-${API_VERSION}.vapi
+       ${CMAKE_CURRENT_SOURCE_DIR}/libebook-${API_VERSION}.deps
+       ${CMAKE_CURRENT_BINARY_DIR}/libebook-${API_VERSION}.vapi
+       ${CMAKE_CURRENT_SOURCE_DIR}/libebook-contacts-${API_VERSION}.deps
+       ${CMAKE_CURRENT_BINARY_DIR}/libebook-contacts-${API_VERSION}.vapi
+)
+
+add_custom_target(vala ALL)
+
+# ***********************************
+# camel
+# ***********************************
+
+set(gir_fullname ${CMAKE_BINARY_DIR}/src/camel/Camel-${API_VERSION}.gir)
+gir_girfilename_to_target(gir_deps Camel-${API_VERSION}.gir)
+
+list(APPEND valafiles
+       ${CMAKE_CURRENT_SOURCE_DIR}/camel-${API_VERSION}.deps
+       ${CMAKE_CURRENT_BINARY_DIR}/camel-${API_VERSION}.vapi
+)
+
+add_dependencies(vala ${gir_deps})
+
+add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/camel-${API_VERSION}.vapi
+       COMMAND ${VAPIGEN}
+               --vapidir=${CMAKE_CURRENT_SOURCE_DIR}
+               --vapidir=${CMAKE_CURRENT_BINARY_DIR}
+               --girdir=${CMAKE_BINARY_DIR}/src/camel
+               --pkg gio-2.0
+               --pkg libxml-2.0
+               --pkg posix
+               --library camel-${API_VERSION}
+               --metadatadir=${CMAKE_CURRENT_SOURCE_DIR}
+               ${gir_fullname}
+       DEPENDS camel-${API_VERSION}.deps
+               ${gir_deps}
+               ${gir_fullname}
+)
+
+# ***********************************
+# libedataserver
+# ***********************************
+
+set(gir_fullname ${CMAKE_BINARY_DIR}/src/libedataserver/EDataServer-${API_VERSION}.gir)
+gir_girfilename_to_target(gir_deps EDataServer-${API_VERSION}.gir)
+
+add_dependencies(vala ${gir_deps})
+
+add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/libedataserver-${API_VERSION}.vapi
+       COMMAND ${VAPIGEN}
+               --vapidir=${CMAKE_CURRENT_SOURCE_DIR}
+               --vapidir=${CMAKE_CURRENT_BINARY_DIR}
+               --girdir=${CMAKE_BINARY_DIR}/src/libedataserver
+               --pkg gio-2.0
+               --pkg libxml-2.0
+               --pkg libsoup-2.4
+               --pkg posix
+               --library libedataserver-${API_VERSION}
+               --metadatadir=${CMAKE_CURRENT_SOURCE_DIR}
+               ${gir_fullname}
+       DEPENDS libedataserver-${API_VERSION}.deps
+               ${gir_deps}
+               ${gir_fullname}
+)
+
+# ***********************************
+# libebook-contacts
+# ***********************************
+
+set(gir_fullname ${CMAKE_BINARY_DIR}/src/addressbook/libebook-contacts/EBookContacts-${API_VERSION}.gir)
+gir_girfilename_to_target(gir_deps EBookContacts-${API_VERSION}.gir)
+
+add_dependencies(vala ${gir_deps})
+
+add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/libebook-contacts-${API_VERSION}.vapi
+       COMMAND ${VAPIGEN}
+               --vapidir=${CMAKE_CURRENT_SOURCE_DIR}
+               --vapidir=${CMAKE_CURRENT_BINARY_DIR}
+               --girdir=${CMAKE_BINARY_DIR}/src/libedataserver
+               --pkg libedataserver-${API_VERSION}
+               --pkg gio-2.0
+               --pkg libxml-2.0
+               --pkg libsoup-2.4
+               --pkg posix
+               --library libebook-contacts-${API_VERSION}
+               --metadatadir=${CMAKE_CURRENT_SOURCE_DIR}
+               ${gir_fullname}
+               ${CMAKE_CURRENT_SOURCE_DIR}/libebook-contacts-${API_VERSION}-custom.vala
+       DEPENDS libebook-contacts-${API_VERSION}.deps
+               libebook-contacts-${API_VERSION}-custom.vala
+               ${CMAKE_CURRENT_BINARY_DIR}/libedataserver-${API_VERSION}.vapi
+               ${gir_fullname}
+               ${gir_deps}
+)
+
+# ***********************************
+# libebook
+# ***********************************
+
+set(gir_fullname ${CMAKE_BINARY_DIR}/src/addressbook/libebook/EBook-${API_VERSION}.gir)
+gir_girfilename_to_target(gir_deps EBook-${API_VERSION}.gir)
+
+add_dependencies(vala ${gir_deps})
+
+add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/libebook-${API_VERSION}.vapi
+       COMMAND ${VAPIGEN}
+               --vapidir=${CMAKE_CURRENT_SOURCE_DIR}
+               --vapidir=${CMAKE_CURRENT_BINARY_DIR}
+               --girdir=${CMAKE_BINARY_DIR}/src/libedataserver
+               --girdir=${CMAKE_BINARY_DIR}/src/addressbook/libebook-contacts
+               --pkg libedataserver-${API_VERSION}
+               --pkg libebook-contacts-${API_VERSION}
+               --pkg gio-2.0
+               --pkg libxml-2.0
+               --pkg libsoup-2.4
+               --pkg posix
+               --library libebook-${API_VERSION}
+               --metadatadir=${CMAKE_CURRENT_SOURCE_DIR}
+               ${gir_fullname}
+       DEPENDS libebook-${API_VERSION}.deps
+               ${CMAKE_CURRENT_BINARY_DIR}/libedataserver-${API_VERSION}.vapi
+               ${CMAKE_CURRENT_BINARY_DIR}/libebook-contacts-${API_VERSION}.vapi
+               ${gir_fullname}
+               ${gir_deps}
+)
+
+# ***********************************
+# Install all VAPI files
+# ***********************************
+
+add_custom_target(vala-files
+       DEPENDS ${valafiles}
+)
+
+add_dependencies(vala vala-files)
+
+install(FILES ${valafiles}
+       DESTINATION ${SHARE_INSTALL_DIR}/vala/vapi
+)
diff --git a/vala/Camel-1.2.metadata b/src/vala/Camel-1.2.metadata
similarity index 100%
rename from vala/Camel-1.2.metadata
rename to src/vala/Camel-1.2.metadata
diff --git a/vala/EBook-1.2.metadata b/src/vala/EBook-1.2.metadata
similarity index 100%
rename from vala/EBook-1.2.metadata
rename to src/vala/EBook-1.2.metadata
diff --git a/vala/EBookContacts-1.2.metadata b/src/vala/EBookContacts-1.2.metadata
similarity index 100%
rename from vala/EBookContacts-1.2.metadata
rename to src/vala/EBookContacts-1.2.metadata
diff --git a/vala/EDataServer-1.2.metadata b/src/vala/EDataServer-1.2.metadata
similarity index 100%
rename from vala/EDataServer-1.2.metadata
rename to src/vala/EDataServer-1.2.metadata
diff --git a/vala/camel-1.2.deps b/src/vala/camel-1.2.deps
similarity index 100%
rename from vala/camel-1.2.deps
rename to src/vala/camel-1.2.deps
diff --git a/vala/libebook-1.2.deps b/src/vala/libebook-1.2.deps
similarity index 100%
rename from vala/libebook-1.2.deps
rename to src/vala/libebook-1.2.deps
diff --git a/vala/libebook-contacts-1.2-custom.vala b/src/vala/libebook-contacts-1.2-custom.vala
similarity index 100%
rename from vala/libebook-contacts-1.2-custom.vala
rename to src/vala/libebook-contacts-1.2-custom.vala
diff --git a/vala/libebook-contacts-1.2.deps b/src/vala/libebook-contacts-1.2.deps
similarity index 100%
rename from vala/libebook-contacts-1.2.deps
rename to src/vala/libebook-contacts-1.2.deps
diff --git a/vala/libedataserver-1.2.deps b/src/vala/libedataserver-1.2.deps
similarity index 100%
rename from vala/libedataserver-1.2.deps
rename to src/vala/libedataserver-1.2.deps
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index 045b706..bba0428 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -27,8 +27,9 @@ macro(build_only_installable_test _test_ident _sourcesvar _depsvar _defsvar _cfl
 
        target_include_directories(${_test_ident} PUBLIC
                ${CMAKE_BINARY_DIR}
+               ${CMAKE_BINARY_DIR}/src
                ${CMAKE_BINARY_DIR}/tests/test-server-utils
-               ${CMAKE_SOURCE_DIR}
+               ${CMAKE_SOURCE_DIR}/src
                ${CMAKE_SOURCE_DIR}/tests/test-server-utils
                ${BACKEND_INCLUDE_DIRS}
                ${DATA_SERVER_INCLUDE_DIRS}
diff --git a/tests/libebook/CMakeLists.txt b/tests/libebook/CMakeLists.txt
index 5dafa9d..6525b28 100644
--- a/tests/libebook/CMakeLists.txt
+++ b/tests/libebook/CMakeLists.txt
@@ -50,7 +50,8 @@ target_compile_options(ebook-test-utils PUBLIC
 
 target_include_directories(ebook-test-utils PUBLIC
        ${CMAKE_BINARY_DIR}
-       ${CMAKE_SOURCE_DIR}
+       ${CMAKE_BINARY_DIR}/src
+       ${CMAKE_SOURCE_DIR}/src
        ${BACKEND_INCLUDE_DIRS}
        ${DATA_SERVER_INCLUDE_DIRS}
        ${extra_incdirs}
diff --git a/tests/libebook/client/CMakeLists.txt b/tests/libebook/client/CMakeLists.txt
index 1ef69b1..e484162 100644
--- a/tests/libebook/client/CMakeLists.txt
+++ b/tests/libebook/client/CMakeLists.txt
@@ -52,13 +52,14 @@ target_compile_options(client-test-utils PUBLIC
 
 target_include_directories(client-test-utils PUBLIC
        ${CMAKE_BINARY_DIR}
-       ${CMAKE_BINARY_DIR}/addressbook
+       ${CMAKE_BINARY_DIR}/src
+       ${CMAKE_BINARY_DIR}/src/addressbook
+       ${CMAKE_BINARY_DIR}/src/private
        ${CMAKE_BINARY_DIR}/tests/test-server-utils
-       ${CMAKE_BINARY_DIR}/private
-       ${CMAKE_SOURCE_DIR}
-       ${CMAKE_SOURCE_DIR}/addressbook
+       ${CMAKE_SOURCE_DIR}/src
+       ${CMAKE_SOURCE_DIR}/src/addressbook
+       ${CMAKE_SOURCE_DIR}/src/private
        ${CMAKE_SOURCE_DIR}/tests/test-server-utils
-       ${CMAKE_SOURCE_DIR}/private
        ${BACKEND_INCLUDE_DIRS}
        ${DATA_SERVER_INCLUDE_DIRS}
        ${extra_incdirs}
diff --git a/tests/libebook/vcard/CMakeLists.txt b/tests/libebook/vcard/CMakeLists.txt
index c999130..40df81f 100644
--- a/tests/libebook/vcard/CMakeLists.txt
+++ b/tests/libebook/vcard/CMakeLists.txt
@@ -23,9 +23,10 @@ target_compile_options(dump-vcard PUBLIC
 
 target_include_directories(dump-vcard PUBLIC
        ${CMAKE_BINARY_DIR}
-       ${CMAKE_BINARY_DIR}/addressbook
-       ${CMAKE_SOURCE_DIR}
-       ${CMAKE_SOURCE_DIR}/addressbook
+       ${CMAKE_BINARY_DIR}/src
+       ${CMAKE_BINARY_DIR}/src/addressbook
+       ${CMAKE_SOURCE_DIR}/src
+       ${CMAKE_SOURCE_DIR}/src/addressbook
        ${BACKEND_INCLUDE_DIRS}
        ${DATA_SERVER_INCLUDE_DIRS}
        ${ADDRESSBOOK_INCLUDE_DIRS}
diff --git a/tests/libecal/CMakeLists.txt b/tests/libecal/CMakeLists.txt
index b70c9ae..c6878a3 100644
--- a/tests/libecal/CMakeLists.txt
+++ b/tests/libecal/CMakeLists.txt
@@ -12,8 +12,8 @@ set(extra_cflags
 )
 
 set(extra_incdirs
-       ${CMAKE_BINARY_DIR}/calendar
-       ${CMAKE_SOURCE_DIR}/calendar
+       ${CMAKE_BINARY_DIR}/src/calendar
+       ${CMAKE_SOURCE_DIR}/src/calendar
        ${CALENDAR_INCLUDE_DIRS}
 )
 
@@ -48,7 +48,8 @@ target_compile_options(ecal-test-utils PUBLIC
 
 target_include_directories(ecal-test-utils PUBLIC
        ${CMAKE_BINARY_DIR}
-       ${CMAKE_SOURCE_DIR}
+       ${CMAKE_BINARY_DIR}/src
+       ${CMAKE_SOURCE_DIR}/src
        ${BACKEND_INCLUDE_DIRS}
        ${DATA_SERVER_INCLUDE_DIRS}
        ${extra_incdirs}
diff --git a/tests/libedata-book/CMakeLists.txt b/tests/libedata-book/CMakeLists.txt
index 4227858..17f328d 100644
--- a/tests/libedata-book/CMakeLists.txt
+++ b/tests/libedata-book/CMakeLists.txt
@@ -61,7 +61,8 @@ target_compile_options(data-test-utils PUBLIC
 
 target_include_directories(data-test-utils PUBLIC
        ${CMAKE_BINARY_DIR}
-       ${CMAKE_SOURCE_DIR}
+       ${CMAKE_BINARY_DIR}/src
+       ${CMAKE_SOURCE_DIR}/src
        ${BACKEND_INCLUDE_DIRS}
        ${DATA_SERVER_INCLUDE_DIRS}
        ${extra_incdirs}
diff --git a/tests/test-server-utils/CMakeLists.txt b/tests/test-server-utils/CMakeLists.txt
index 70c8bd9..dc58487 100644
--- a/tests/test-server-utils/CMakeLists.txt
+++ b/tests/test-server-utils/CMakeLists.txt
@@ -14,13 +14,13 @@ set(extra_defines
        -DEDS_TEST_DBUS_SERVICE_DIR=\"${CMAKE_BINARY_DIR}/tests/test-server-utils/services\"
        -DEDS_TEST_WORK_DIR=\"${CMAKE_BINARY_DIR}/tests/test-server-utils/cache\"
        -DEDS_TEST_SCHEMA_DIR=\"${CMAKE_BINARY_DIR}/data\"
-       -DEDS_TEST_ADDRESS_BOOK_DIR=\"${CMAKE_BINARY_DIR}/addressbook/backends/file\"
-       -DEDS_TEST_CALENDAR_DIR=\"${CMAKE_BINARY_DIR}/calendar/backends/file\"
-       -DEDS_TEST_REGISTRY_DIR=\"${CMAKE_BINARY_DIR}/modules/cache-reaper\"
-       -DEDS_TEST_CAMEL_DIR=\"${CMAKE_BINARY_DIR}/camel/providers/local\"
-       
-DEDS_TEST_SUBPROCESS_CAL_PATH=\"${CMAKE_BINARY_DIR}/calendar/libedata-cal/evolution-calendar-factory-subprocess\"
-       
-DEDS_TEST_SUBPROCESS_BOOK_PATH=\"${CMAKE_BINARY_DIR}/addressbook/libedata-book/evolution-addressbook-factory-subprocess\"
-       -DEDS_TEST_TOP_BUILD_DIR=\"${CMAKE_BINARY_DIR}\"
+       -DEDS_TEST_ADDRESS_BOOK_DIR=\"${CMAKE_BINARY_DIR}/src/addressbook/backends/file\"
+       -DEDS_TEST_CALENDAR_DIR=\"${CMAKE_BINARY_DIR}/src/calendar/backends/file\"
+       -DEDS_TEST_REGISTRY_DIR=\"${CMAKE_BINARY_DIR}/src/modules/cache-reaper\"
+       -DEDS_TEST_CAMEL_DIR=\"${CMAKE_BINARY_DIR}/src/camel/providers/local\"
+       
-DEDS_TEST_SUBPROCESS_CAL_PATH=\"${CMAKE_BINARY_DIR}/src/calendar/libedata-cal/evolution-calendar-factory-subprocess\"
+       
-DEDS_TEST_SUBPROCESS_BOOK_PATH=\"${CMAKE_BINARY_DIR}/src/addressbook/libedata-book/evolution-addressbook-factory-subprocess\"
+       -DEDS_TEST_TOP_BUILD_DIR=\"${CMAKE_BINARY_DIR}/src\"
 )
 
 set(extra_cflags
@@ -68,7 +68,8 @@ target_compile_options(etestserverutils PUBLIC
 
 target_include_directories(etestserverutils PUBLIC
        ${CMAKE_BINARY_DIR}
-       ${CMAKE_SOURCE_DIR}
+       ${CMAKE_BINARY_DIR}/src
+       ${CMAKE_SOURCE_DIR}/src
        ${BACKEND_INCLUDE_DIRS}
        ${DATA_SERVER_INCLUDE_DIRS}
        ${extra_incdirs}
diff --git a/tests/test-server-utils/services/org.gnome.evolution.dataserver.AddressBook.service.in 
b/tests/test-server-utils/services/org.gnome.evolution.dataserver.AddressBook.service.in
index f7ae528..572dd26 100644
--- a/tests/test-server-utils/services/org.gnome.evolution.dataserver.AddressBook.service.in
+++ b/tests/test-server-utils/services/org.gnome.evolution.dataserver.AddressBook.service.in
@@ -1,3 +1,3 @@
 [D-BUS Service]
 Name=@ADDRESS_BOOK_DBUS_SERVICE_NAME@
-Exec=@CMAKE_BINARY_DIR@/services/evolution-addressbook-factory/evolution-addressbook-factory
+Exec=@CMAKE_BINARY_DIR@/src/services/evolution-addressbook-factory/evolution-addressbook-factory
diff --git a/tests/test-server-utils/services/org.gnome.evolution.dataserver.Calendar.service.in 
b/tests/test-server-utils/services/org.gnome.evolution.dataserver.Calendar.service.in
index 17b3c3d..e013cb8 100644
--- a/tests/test-server-utils/services/org.gnome.evolution.dataserver.Calendar.service.in
+++ b/tests/test-server-utils/services/org.gnome.evolution.dataserver.Calendar.service.in
@@ -1,3 +1,3 @@
 [D-BUS Service]
 Name=@CALENDAR_DBUS_SERVICE_NAME@
-Exec=@CMAKE_BINARY_DIR@/services/evolution-calendar-factory/evolution-calendar-factory
+Exec=@CMAKE_BINARY_DIR@/src/services/evolution-calendar-factory/evolution-calendar-factory
diff --git a/tests/test-server-utils/services/org.gnome.evolution.dataserver.Sources.service.in 
b/tests/test-server-utils/services/org.gnome.evolution.dataserver.Sources.service.in
index d39ef96..ef03d3d 100644
--- a/tests/test-server-utils/services/org.gnome.evolution.dataserver.Sources.service.in
+++ b/tests/test-server-utils/services/org.gnome.evolution.dataserver.Sources.service.in
@@ -1,3 +1,3 @@
 [D-BUS Service]
 Name=@SOURCES_DBUS_SERVICE_NAME@
-Exec=@CMAKE_BINARY_DIR@/services/evolution-source-registry/evolution-source-registry
+Exec=@CMAKE_BINARY_DIR@/src/services/evolution-source-registry/evolution-source-registry


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]