[evolution/wip/cmake] addressbook, art, calendar, composer, mail, smime directories



commit 5dee0eaeb0dfb447561571a9f333238cd57cff29
Author: Milan Crha <mcrha redhat com>
Date:   Mon Oct 3 19:45:20 2016 +0200

    addressbook, art, calendar, composer, mail, smime directories

 CMakeLists.txt                                     |   10 +-
 addressbook/CMakeLists.txt                         |    6 +
 addressbook/gui/CMakeLists.txt                     |    3 +
 addressbook/gui/contact-editor/CMakeLists.txt      |   60 ++++
 addressbook/gui/contact-list-editor/CMakeLists.txt |   55 ++++
 .../contact-list-editor/e-contact-list-editor.c    |    4 +-
 addressbook/gui/widgets/CMakeLists.txt             |  117 ++++++++
 addressbook/gui/widgets/e-addressbook-selector.c   |    4 +-
 addressbook/gui/widgets/eab-gui-util.c             |    4 +-
 addressbook/gui/widgets/gal-view-minicard.h        |    2 +-
 addressbook/importers/CMakeLists.txt               |   48 ++++
 addressbook/printing/CMakeLists.txt                |   55 ++++
 addressbook/util/CMakeLists.txt                    |   46 +++
 art/CMakeLists.txt                                 |   18 ++
 calendar/CMakeLists.txt                            |    5 +
 calendar/alarm-notify/CMakeLists.txt               |   91 ++++++
 calendar/gui/CMakeLists.txt                        |  218 ++++++++++++++
 calendar/gui/{caltypes.xml => caltypes.xml.in}     |  126 ++++----
 calendar/gui/{memotypes.xml => memotypes.xml.in}   |   54 ++--
 calendar/gui/{tasktypes.xml => tasktypes.xml.in}   |   20 +-
 calendar/importers/CMakeLists.txt                  |   47 +++
 cmake/modules/EvolutionMacros.cmake                |   10 +-
 composer/CMakeLists.txt                            |   85 ++++++
 mail/CMakeLists.txt                                |  297 ++++++++++++++++++++
 mail/default/CMakeLists.txt                        |    9 +
 mail/importers/CMakeLists.txt                      |   56 ++++
 smime/gui/CMakeLists.txt                           |    1 -
 smime/lib/CMakeLists.txt                           |    1 -
 28 files changed, 1332 insertions(+), 120 deletions(-)
---
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 2033978..bf121b8 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -657,11 +657,11 @@ add_subdirectory(e-util)
 add_subdirectory(libemail-engine)
 add_subdirectory(shell)
 add_subdirectory(em-format)
-#add_subdirectory(addressbook)
-#add_subdirectory(composer)
-#add_subdirectory(mail)
-#add_subdirectory(calendar)
-#add_subdirectory(art)
+add_subdirectory(addressbook)
+add_subdirectory(composer)
+add_subdirectory(mail)
+add_subdirectory(calendar)
+add_subdirectory(art)
 #add_subdirectory(web-extensions)
 #add_subdirectory(plugins)
 #add_subdirectory(modules)
diff --git a/addressbook/CMakeLists.txt b/addressbook/CMakeLists.txt
new file mode 100644
index 0000000..b611bc3
--- /dev/null
+++ b/addressbook/CMakeLists.txt
@@ -0,0 +1,6 @@
+add_error_files(addressbook addressbook.error)
+
+add_subdirectory(gui)
+add_subdirectory(importers)
+add_subdirectory(printing)
+add_subdirectory(util)
diff --git a/addressbook/gui/CMakeLists.txt b/addressbook/gui/CMakeLists.txt
new file mode 100644
index 0000000..72e4297
--- /dev/null
+++ b/addressbook/gui/CMakeLists.txt
@@ -0,0 +1,3 @@
+add_subdirectory(contact-editor)
+add_subdirectory(contact-list-editor)
+add_subdirectory(widgets)
diff --git a/addressbook/gui/contact-editor/CMakeLists.txt b/addressbook/gui/contact-editor/CMakeLists.txt
new file mode 100644
index 0000000..2c6cced
--- /dev/null
+++ b/addressbook/gui/contact-editor/CMakeLists.txt
@@ -0,0 +1,60 @@
+install(FILES  contact-editor.ui
+               fullname.ui
+       DESTINATION ${uidir}
+)
+
+set(DEPENDENCIES
+       eabwidgets
+       evolution-shell
+       evolution-util
+)
+
+set(SOURCES
+       eab-editor.c
+       eab-editor.h
+       e-contact-editor.c
+       e-contact-editor.h
+       e-contact-editor-dyntable.c
+       e-contact-editor-dyntable.h
+       e-contact-editor-fullname.c
+       e-contact-editor-fullname.h
+       e-contact-quick-add.c
+       e-contact-quick-add.h
+)
+
+add_library(econtacteditor SHARED
+       ${SOURCES}
+)
+
+add_dependencies(econtacteditor
+       ${DEPENDENCIES}
+)
+
+target_compile_definitions(econtacteditor PRIVATE
+       -DG_LOG_DOMAIN=\"e-contact-editor\"
+)
+
+target_compile_options(econtacteditor PUBLIC
+       ${EVOLUTION_DATA_SERVER_CFLAGS}
+       ${GNOME_PLATFORM_CFLAGS}
+)
+
+target_include_directories(econtacteditor PUBLIC
+       ${CMAKE_BINARY_DIR}
+       ${CMAKE_SOURCE_DIR}
+       ${CMAKE_CURRENT_BINARY_DIR}
+       ${CMAKE_SOURCE_DIR}/addressbook
+       ${CMAKE_SOURCE_DIR}/addressbook/gui/widgets
+       ${EVOLUTION_DATA_SERVER_INCLUDE_DIRS}
+       ${GNOME_PLATFORM_INCLUDE_DIRS}
+)
+
+target_link_libraries(econtacteditor
+       ${DEPENDENCIES}
+       ${EVOLUTION_DATA_SERVER_LDFLAGS}
+       ${GNOME_PLATFORM_LDFLAGS}
+)
+
+install(TARGETS econtacteditor
+       DESTINATION ${privsolibdir}
+)
diff --git a/addressbook/gui/contact-list-editor/CMakeLists.txt 
b/addressbook/gui/contact-list-editor/CMakeLists.txt
new file mode 100644
index 0000000..c31e932
--- /dev/null
+++ b/addressbook/gui/contact-list-editor/CMakeLists.txt
@@ -0,0 +1,55 @@
+install(FILES contact-list-editor.ui
+       DESTINATION ${uidir}
+)
+
+set(DEPENDENCIES
+       eabutil
+       eabwidgets
+       econtacteditor
+       evolution-shell
+       evolution-util
+)
+
+set(SOURCES
+       e-contact-list-editor.c
+       e-contact-list-editor.h
+       e-contact-list-model.c
+       e-contact-list-model.h
+)
+
+add_library(econtactlisteditor SHARED
+       ${SOURCES}
+)
+
+add_dependencies(econtactlisteditor
+       ${DEPENDENCIES}
+)
+
+target_compile_definitions(econtactlisteditor PRIVATE
+       -DG_LOG_DOMAIN=\"e-contact-list-editor\"
+)
+
+target_compile_options(econtactlisteditor PUBLIC
+       ${EVOLUTION_DATA_SERVER_CFLAGS}
+       ${GNOME_PLATFORM_CFLAGS}
+)
+
+target_include_directories(econtactlisteditor PUBLIC
+       ${CMAKE_BINARY_DIR}
+       ${CMAKE_SOURCE_DIR}
+       ${CMAKE_CURRENT_BINARY_DIR}
+       ${CMAKE_SOURCE_DIR}/addressbook
+       ${CMAKE_SOURCE_DIR}/addressbook/gui/widgets
+       ${EVOLUTION_DATA_SERVER_INCLUDE_DIRS}
+       ${GNOME_PLATFORM_INCLUDE_DIRS}
+)
+
+target_link_libraries(econtactlisteditor
+       ${DEPENDENCIES}
+       ${EVOLUTION_DATA_SERVER_LDFLAGS}
+       ${GNOME_PLATFORM_LDFLAGS}
+)
+
+install(TARGETS econtactlisteditor
+       DESTINATION ${privsolibdir}
+)
diff --git a/addressbook/gui/contact-list-editor/e-contact-list-editor.c 
b/addressbook/gui/contact-list-editor/e-contact-list-editor.c
index 4df72b2..52c86b3 100644
--- a/addressbook/gui/contact-list-editor/e-contact-list-editor.c
+++ b/addressbook/gui/contact-list-editor/e-contact-list-editor.c
@@ -38,8 +38,8 @@
 #include "addressbook/gui/widgets/eab-gui-util.h"
 #include "addressbook/util/eab-book-util.h"
 
-#include "eab-editor.h"
-#include "e-contact-editor.h"
+#include "addressbook/gui/contact-editor/eab-editor.h"
+#include "addressbook/gui/contact-editor/e-contact-editor.h"
 #include "e-contact-list-model.h"
 #include "eab-contact-merging.h"
 
diff --git a/addressbook/gui/widgets/CMakeLists.txt b/addressbook/gui/widgets/CMakeLists.txt
new file mode 100644
index 0000000..18899ce
--- /dev/null
+++ b/addressbook/gui/widgets/CMakeLists.txt
@@ -0,0 +1,117 @@
+install(FILES  addresstypes.xml
+               address_formats.dat
+               countrytransl.map
+       DESTINATION ${privdatadir}
+)
+
+install(FILES e-addressbook-view.etspec
+       DESTINATION ${etspecdir}
+)
+
+set(DEPENDENCIES
+       eabutil
+       econtactprint
+       evolution-shell
+       evolution-util
+)
+
+set(SOURCES
+       eab-config.c
+       eab-contact-compare.c
+       eab-contact-compare.h
+       eab-contact-display.c
+       eab-contact-display.h
+       eab-contact-formatter.c
+       eab-contact-formatter.h
+       eab-contact-merging.c
+       eab-contact-merging.h
+       eab-gui-util.c
+       eab-gui-util.h
+       e-contact-map.c
+       e-contact-map.h
+       e-contact-map-window.c
+       e-contact-map-window.h
+       e-minicard.c
+       e-minicard.h
+       e-minicard-label.c
+       e-minicard-label.h
+       e-minicard-view.c
+       e-minicard-view.h
+       e-minicard-view-widget.c
+       e-minicard-view-widget.h
+       e-addressbook-reflow-adapter.c
+       e-addressbook-reflow-adapter.h
+       e-addressbook-table-adapter.c
+       e-addressbook-table-adapter.h
+       e-addressbook-model.c
+       e-addressbook-model.h
+       e-addressbook-selector.c
+       e-addressbook-selector.h
+       e-addressbook-view.c
+       e-addressbook-view.h
+       gal-view-minicard.c
+       gal-view-minicard.h
+       ea-minicard.c
+       ea-minicard.h
+       ea-minicard-view.c
+       ea-minicard-view.h
+       ea-addressbook-view.c
+       ea-addressbook-view.h
+       ea-addressbook.c
+       ea-addressbook.h
+)
+
+set(HEADERS
+       eab-config.h
+)
+
+add_library(eabwidgets SHARED
+       ${SOURCES}
+       ${HEADERS}
+)
+
+add_dependencies(eabwidgets
+       ${DEPENDENCIES}
+)
+
+target_compile_definitions(eabwidgets PRIVATE
+       -DG_LOG_DOMAIN=\"eabwidgets\"
+       -DEVOLUTION_ETSPECDIR=\"${etspecdir}\"
+       -DEVOLUTION_IMAGESDIR=\"${imagesdir}\"
+       -DEVOLUTION_PRIVDATADIR=\"${privdatadir}\"
+)
+
+target_compile_options(eabwidgets PUBLIC
+       ${CHAMPLAIN_CFLAGS}
+       ${EVOLUTION_DATA_SERVER_CFLAGS}
+       ${GEO_CFLAGS}
+       ${GNOME_PLATFORM_CFLAGS}
+)
+
+target_include_directories(eabwidgets PUBLIC
+       ${CMAKE_BINARY_DIR}
+       ${CMAKE_SOURCE_DIR}
+       ${CMAKE_CURRENT_BINARY_DIR}
+       ${CMAKE_SOURCE_DIR}/addressbook
+       ${CMAKE_SOURCE_DIR}/addressbook/util
+       ${CHAMPLAIN_INCLUDE_DIRS}
+       ${EVOLUTION_DATA_SERVER_INCLUDE_DIRS}
+       ${GEO_INCLUDE_DIRS}
+       ${GNOME_PLATFORM_INCLUDE_DIRS}
+)
+
+target_link_libraries(eabwidgets
+       ${DEPENDENCIES}
+       ${CHAMPLAIN_LDFLAGS}
+       ${EVOLUTION_DATA_SERVER_LDFLAGS}
+       ${GEO_LDFLAGS}
+       ${GNOME_PLATFORM_LDFLAGS}
+)
+
+install(TARGETS eabwidgets
+       DESTINATION ${privsolibdir}
+)
+
+install(FILES ${HEADERS}
+       DESTINATION ${privincludedir}/addressbook/gui/widgets
+)
diff --git a/addressbook/gui/widgets/e-addressbook-selector.c 
b/addressbook/gui/widgets/e-addressbook-selector.c
index e4c18ff..2ff8c15 100644
--- a/addressbook/gui/widgets/e-addressbook-selector.c
+++ b/addressbook/gui/widgets/e-addressbook-selector.c
@@ -24,8 +24,8 @@
 
 #include <e-util/e-util.h>
 
-#include <eab-book-util.h>
-#include <eab-contact-merging.h>
+#include "util/eab-book-util.h"
+#include "eab-contact-merging.h"
 
 #define E_ADDRESSBOOK_SELECTOR_GET_PRIVATE(obj) \
        (G_TYPE_INSTANCE_GET_PRIVATE \
diff --git a/addressbook/gui/widgets/eab-gui-util.c b/addressbook/gui/widgets/eab-gui-util.c
index 2114323..d457558 100644
--- a/addressbook/gui/widgets/eab-gui-util.c
+++ b/addressbook/gui/widgets/eab-gui-util.c
@@ -693,7 +693,7 @@ get_locales_str (void)
 static gchar *
 country_to_ISO (const gchar *country)
 {
-       FILE *file = fopen (EVOLUTION_RULEDIR "/countrytransl.map", "r");
+       FILE *file = fopen (EVOLUTION_PRIVDATADIR "/countrytransl.map", "r");
        gchar buffer[100];
        gint length = 100;
        gchar **pair;
@@ -803,7 +803,7 @@ get_address_format (AddressFormat address_format,
 
        error = NULL;
        key_file = g_key_file_new ();
-       g_key_file_load_from_file (key_file, EVOLUTION_RULEDIR "/address_formats.dat", 0, &error);
+       g_key_file_load_from_file (key_file, EVOLUTION_PRIVDATADIR "/address_formats.dat", 0, &error);
        if (error != NULL) {
                g_warning ("%s: Failed to load address_formats.dat file: %s", G_STRFUNC, error->message);
                if (format)
diff --git a/addressbook/gui/widgets/gal-view-minicard.h b/addressbook/gui/widgets/gal-view-minicard.h
index a8d0586..2863cfe 100644
--- a/addressbook/gui/widgets/gal-view-minicard.h
+++ b/addressbook/gui/widgets/gal-view-minicard.h
@@ -25,7 +25,7 @@
 #define GAL_VIEW_MINICARD_H
 
 #include <e-util/e-util.h>
-#include <e-minicard-view-widget.h>
+#include "e-minicard-view-widget.h"
 #include "e-addressbook-view.h"
 
 /* Standard GObject macros */
diff --git a/addressbook/importers/CMakeLists.txt b/addressbook/importers/CMakeLists.txt
new file mode 100644
index 0000000..409107d
--- /dev/null
+++ b/addressbook/importers/CMakeLists.txt
@@ -0,0 +1,48 @@
+set(DEPENDENCIES
+       eabutil
+       evolution-shell
+       evolution-util
+)
+
+set(SOURCES
+       evolution-ldif-importer.c
+       evolution-vcard-importer.c
+       evolution-csv-importer.c
+       evolution-addressbook-importers.h
+)
+
+add_library(evolution-addressbook-importers SHARED
+       ${SOURCES}
+)
+
+add_dependencies(evolution-addressbook-importers
+       ${DEPENDENCIES}
+)
+
+target_compile_definitions(evolution-addressbook-importers PRIVATE
+       -DG_LOG_DOMAIN=\"evolution-addressbook-importers\"
+)
+
+target_compile_options(evolution-addressbook-importers PUBLIC
+       ${EVOLUTION_DATA_SERVER_CFLAGS}
+       ${GNOME_PLATFORM_CFLAGS}
+)
+
+target_include_directories(evolution-addressbook-importers PUBLIC
+       ${CMAKE_BINARY_DIR}
+       ${CMAKE_SOURCE_DIR}
+       ${CMAKE_CURRENT_BINARY_DIR}
+       ${CMAKE_SOURCE_DIR}/addressbook
+       ${EVOLUTION_DATA_SERVER_INCLUDE_DIRS}
+       ${GNOME_PLATFORM_INCLUDE_DIRS}
+)
+
+target_link_libraries(evolution-addressbook-importers
+       ${DEPENDENCIES}
+       ${EVOLUTION_DATA_SERVER_LDFLAGS}
+       ${GNOME_PLATFORM_LDFLAGS}
+)
+
+install(TARGETS evolution-addressbook-importers
+       DESTINATION ${privsolibdir}
+)
diff --git a/addressbook/printing/CMakeLists.txt b/addressbook/printing/CMakeLists.txt
new file mode 100644
index 0000000..df76cf4
--- /dev/null
+++ b/addressbook/printing/CMakeLists.txt
@@ -0,0 +1,55 @@
+set(ecpsdir ${privdatadir}/ecps)
+
+install(FILES  smallbook.ecps
+               medbook.ecps
+               phonelist.ecps
+       DESTINATION ${ecpsdir}
+)
+
+set(DEPENDENCIES
+       eabutil
+       evolution-util
+)
+
+set(SOURCES
+       e-contact-print-types.h
+       e-contact-print.c
+       e-contact-print.h
+)
+
+add_library(econtactprint SHARED
+       ${SOURCES}
+)
+
+add_dependencies(econtactprint
+       ${DEPENDENCIES}
+)
+
+target_compile_definitions(econtactprint PRIVATE
+       -DG_LOG_DOMAIN=\"addressbook-printing\"
+       -DEVOLUTION_ECPSDIR=\"${ecpsdir}\"
+)
+
+target_compile_options(econtactprint PUBLIC
+       ${EVOLUTION_DATA_SERVER_CFLAGS}
+       ${GNOME_PLATFORM_CFLAGS}
+)
+
+target_include_directories(econtactprint PUBLIC
+       ${CMAKE_BINARY_DIR}
+       ${CMAKE_SOURCE_DIR}
+       ${CMAKE_CURRENT_BINARY_DIR}
+       ${CMAKE_SOURCE_DIR}/addressbook
+       ${EVOLUTION_DATA_SERVER_INCLUDE_DIRS}
+       ${GNOME_PLATFORM_INCLUDE_DIRS}
+)
+
+target_link_libraries(econtactprint
+       ${DEPENDENCIES}
+       ${EVOLUTION_DATA_SERVER_LDFLAGS}
+       ${GNOME_PLATFORM_LDFLAGS}
+)
+
+install(TARGETS econtactprint
+       DESTINATION ${privsolibdir}
+)
diff --git a/addressbook/util/CMakeLists.txt b/addressbook/util/CMakeLists.txt
new file mode 100644
index 0000000..ee49cd3
--- /dev/null
+++ b/addressbook/util/CMakeLists.txt
@@ -0,0 +1,46 @@
+set(DEPENDENCIES
+       evolution-shell
+       evolution-util
+)
+
+set(SOURCES
+       eab-book-util.c
+       eab-book-util.h
+)
+
+add_library(eabutil SHARED
+       ${SOURCES}
+)
+
+add_dependencies(eabutil
+       ${DEPENDENCIES}
+)
+
+target_compile_definitions(eabutil PRIVATE
+       -DG_LOG_DOMAIN=\"eabutil\"
+)
+
+target_compile_options(eabutil PUBLIC
+       ${EVOLUTION_DATA_SERVER_CFLAGS}
+       ${GNOME_PLATFORM_CFLAGS}
+)
+
+target_include_directories(eabutil PUBLIC
+       ${CMAKE_BINARY_DIR}
+       ${CMAKE_SOURCE_DIR}
+       ${CMAKE_CURRENT_BINARY_DIR}
+       ${CMAKE_SOURCE_DIR}/shell
+       ${CMAKE_BINARY_DIR}/shell
+       ${EVOLUTION_DATA_SERVER_INCLUDE_DIRS}
+       ${GNOME_PLATFORM_INCLUDE_DIRS}
+)
+
+target_link_libraries(eabutil
+       ${DEPENDENCIES}
+       ${EVOLUTION_DATA_SERVER_LDFLAGS}
+       ${GNOME_PLATFORM_LDFLAGS}
+)
+
+install(TARGETS eabutil
+       DESTINATION ${privsolibdir}
+)
diff --git a/art/CMakeLists.txt b/art/CMakeLists.txt
new file mode 100644
index 0000000..17f4d40
--- /dev/null
+++ b/art/CMakeLists.txt
@@ -0,0 +1,18 @@
+set(images
+       confidential-stamp.jpg
+       draft-paper.png
+       draft-stamp.jpg
+       midnight-stars.jpg
+       minus.png
+       paper.png
+       plus.png
+       rect.png
+       ribbon.jpg
+       texture.png
+       working.png
+       world_map-960.png
+)
+
+install(FILES ${images}
+       DESTINATION ${imagesdir}
+)
diff --git a/calendar/CMakeLists.txt b/calendar/CMakeLists.txt
new file mode 100644
index 0000000..827448f
--- /dev/null
+++ b/calendar/CMakeLists.txt
@@ -0,0 +1,5 @@
+add_error_files(calendar calendar.error)
+
+add_subdirectory(alarm-notify)
+add_subdirectory(gui)
+add_subdirectory(importers)
diff --git a/calendar/alarm-notify/CMakeLists.txt b/calendar/alarm-notify/CMakeLists.txt
new file mode 100644
index 0000000..c8536cf
--- /dev/null
+++ b/calendar/alarm-notify/CMakeLists.txt
@@ -0,0 +1,91 @@
+install(FILES alarm-notify.ui
+       DESTINATION ${uidir}
+)
+
+set(DEPENDENCIES
+       eabutil
+       econtacteditor
+       econtactlisteditor
+       evolution-calendar
+       evolution-calendar-importers
+       evolution-mail-composer
+       evolution-mail-formatter
+       evolution-util
+       evolution-shell
+)
+
+set(SOURCES
+       alarm.c
+       alarm.h
+       alarm-notify.c
+       alarm-notify.h
+       alarm-notify-dialog.c
+       alarm-notify-dialog.h
+       alarm-queue.c
+       alarm-queue.h
+       config-data.c
+       config-data.h
+       notify-main.c
+       util.c
+       util.h
+)
+
+add_executable(evolution-alarm-notify
+       ${SOURCES}
+)
+
+add_dependencies(evolution-alarm-notify
+       ${DEPENDENCIES}
+)
+
+target_compile_definitions(evolution-alarm-notify PRIVATE
+       -DG_LOG_DOMAIN=\"evolution-alarm-notify\"
+       -DEVOLUTION_ICONDIR=\"${icondir}\"
+       -DEVOLUTION_LOCALEDIR=\"${LOCALE_INSTALL_DIR}\"
+)
+
+target_compile_options(evolution-alarm-notify PUBLIC
+       ${CANBERRA_CFLAGS}
+       ${EVOLUTION_DATA_SERVER_CFLAGS}
+       ${GNOME_PLATFORM_CFLAGS}
+       ${LIBNOTIFY_CFLAGS}
+)
+
+target_include_directories(evolution-alarm-notify PUBLIC
+       ${CMAKE_BINARY_DIR}
+       ${CMAKE_SOURCE_DIR}
+       ${CMAKE_BINARY_DIR}/calendar
+       ${CMAKE_SOURCE_DIR}/calendar
+       ${CMAKE_CURRENT_BINARY_DIR}
+       ${CANBERRA_INCLUDE_DIRS}
+       ${EVOLUTION_DATA_SERVER_INCLUDE_DIRS}
+       ${GNOME_PLATFORM_INCLUDE_DIRS}
+       ${LIBNOTIFY_INCLUDE_DIRS}
+)
+
+target_link_libraries(evolution-alarm-notify
+       ${DEPENDENCIES}
+       ${CANBERRA_LDFLAGS}
+       ${EVOLUTION_DATA_SERVER_LDFLAGS}
+       ${GNOME_PLATFORM_LDFLAGS}
+       ${LIBNOTIFY_LDFLAGS}
+)
+
+if(WIN32)
+       find_program(WINDRES windres)
+       if(WINDRES)
+               add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/evolution-alarm-notify-icon.o
+                       COMMAND ${WINDRES} ${CMAKE_CURRENT_SOURCE_DIR}/evolution-alarm-notify-icon.rc 
${CMAKE_CURRENT_BINARY_DIR}/evolution-alarm-notify-icon.o
+                       DEPENDS evolution-alarm-notify-icon.rc
+                               evolution-alarm-notify.ico
+               )
+
+               target_link_libraries(evolution-alarm-notify
+                       ${CMAKE_CURRENT_BINARY_DIR}/evolution-alarm-notify-icon.o
+               )
+       endif(WINDRES)
+endif(WIN32)
+
+install(TARGETS evolution-alarm-notify
+       DESTINATION ${privlibexecdir}
+)
diff --git a/calendar/gui/CMakeLists.txt b/calendar/gui/CMakeLists.txt
new file mode 100644
index 0000000..b974014
--- /dev/null
+++ b/calendar/gui/CMakeLists.txt
@@ -0,0 +1,218 @@
+add_custom_xml_files(calendar ${privdatadir} filter .in ""
+       tasktypes.xml
+       memotypes.xml
+       caltypes.xml
+)
+
+install(FILES  e-meeting-time-sel.etspec
+               e-cal-list-view.etspec
+               e-memo-table.etspec
+               e-task-table.etspec
+       DESTINATION ${etspecdir}
+)
+
+
+set(DEPENDENCIES
+       eabutil
+       econtacteditor
+       econtactlisteditor
+       evolution-calendar-importers
+       evolution-mail-composer
+       evolution-shell
+       evolution-util
+       gnomecanvas
+)
+
+set(SOURCES
+       calendar-config.c
+       calendar-view.c
+       comp-util.c
+       e-alarm-list.c
+       e-cal-component-preview.c
+       e-cal-config.c
+       e-cal-data-model.c
+       e-cal-data-model-subscriber.c
+       e-cal-dialogs.c
+       e-cal-event.c
+       e-cal-list-view.c
+       e-cal-model-calendar.c
+       e-cal-model.c
+       e-cal-model-memos.c
+       e-cal-model-tasks.c
+       e-cal-ops.c
+       e-calendar-view.c
+       e-cell-date-edit-text.c
+       e-comp-editor.c
+       e-comp-editor-event.c
+       e-comp-editor-memo.c
+       e-comp-editor-page-attachments.c
+       e-comp-editor-page-general.c
+       e-comp-editor-page-recurrence.c
+       e-comp-editor-page-reminders.c
+       e-comp-editor-page-schedule.c
+       e-comp-editor-page.c
+       e-comp-editor-property-part.c
+       e-comp-editor-property-parts.c
+       e-comp-editor-task.c
+       e-date-time-list.c
+       e-day-view-layout.c
+       e-day-view-main-item.c
+       e-day-view-time-item.c
+       e-day-view-top-item.c
+       e-day-view.c
+       e-meeting-attendee.c
+       e-meeting-list-view.c
+       e-meeting-store.c
+       e-meeting-time-sel.c
+       e-meeting-time-sel-item.c
+       e-meeting-utils.c
+       e-memo-table.c
+       e-month-view.c
+       e-select-names-editable.c
+       e-select-names-renderer.c
+       e-send-options-utils.c
+       e-task-table.c
+       e-week-view-event-item.c
+       e-week-view-layout.c
+       e-week-view-main-item.c
+       e-week-view-titles-item.c
+       e-week-view.c
+       e-weekday-chooser.c
+       e-timezone-entry.c
+       itip-utils.c
+       misc.c
+       print.c
+       tag-calendar.c
+       ea-calendar.c
+       ea-calendar-helpers.c
+       ea-cal-view.c
+       ea-cal-view-event.c
+       ea-day-view.c
+       ea-day-view-main-item.c
+       ea-day-view-cell.c
+       ea-week-view.c
+       ea-week-view-main-item.c
+       ea-week-view-cell.c
+       ea-jump-button.c
+)
+
+set(HEADERS
+       calendar-config.h
+       calendar-config-keys.h
+       calendar-view.h
+       comp-util.h
+       e-alarm-list.h
+       e-cal-component-preview.h
+       e-cal-config.h
+       e-cal-data-model.h
+       e-cal-data-model-subscriber.h
+       e-cal-dialogs.h
+       e-cal-event.h
+       e-cal-list-view.h
+       e-cal-model-calendar.h
+       e-cal-model.h
+       e-cal-model-memos.h
+       e-cal-model-tasks.h
+       e-cal-ops.h
+       e-calendar-view.h
+       e-cell-date-edit-text.h
+       e-comp-editor.h
+       e-comp-editor-event.h
+       e-comp-editor-memo.h
+       e-comp-editor-page-attachments.h
+       e-comp-editor-page-general.h
+       e-comp-editor-page-recurrence.h
+       e-comp-editor-page-reminders.h
+       e-comp-editor-page-schedule.h
+       e-comp-editor-page.h
+       e-comp-editor-property-part.h
+       e-comp-editor-property-parts.h
+       e-comp-editor-task.h
+       e-date-time-list.h
+       e-day-view-layout.h
+       e-day-view-main-item.h
+       e-day-view-time-item.h
+       e-day-view-top-item.h
+       e-day-view.h
+       e-meeting-attendee.h
+       e-meeting-list-view.h
+       e-meeting-store.h
+       e-meeting-time-sel.h
+       e-meeting-time-sel-item.h
+       e-meeting-types.h
+       e-meeting-utils.h
+       e-memo-table.h
+       e-month-view.h
+       e-select-names-editable.h
+       e-select-names-renderer.h
+       e-send-options-utils.h
+       e-task-table.h
+       e-week-view-event-item.h
+       e-week-view-layout.h
+       e-week-view-main-item.h
+       e-week-view-titles-item.h
+       e-week-view.h
+       e-weekday-chooser.h
+       e-timezone-entry.h
+       itip-utils.h
+       misc.h
+       print.h
+       tag-calendar.h
+       ea-calendar.h
+       ea-calendar-helpers.h
+       ea-cal-view.h
+       ea-cal-view-event.h
+       ea-day-view.h
+       ea-day-view-main-item.h
+       ea-day-view-cell.h
+       ea-week-view.h
+       ea-week-view-main-item.h
+       ea-week-view-cell.h
+       ea-jump-button.h
+)
+
+add_library(evolution-calendar SHARED
+       ${SOURCES}
+       ${HEADERS}
+)
+
+add_dependencies(evolution-calendar
+       ${DEPENDENCIES}
+)
+
+target_compile_definitions(evolution-calendar PRIVATE
+       -DG_LOG_DOMAIN=\"evolution-calendar\"
+       -DEVOLUTION_ETSPECDIR=\"${etspecdir}\"
+       -DEVOLUTION_PRIVDATADIR=\"${privdatadir}\"
+)
+
+target_compile_options(evolution-shell PUBLIC
+       ${EVOLUTION_DATA_SERVER_CFLAGS}
+       ${GNOME_PLATFORM_CFLAGS}
+       ${LIBSOUP_CFLAGS}
+)
+
+target_include_directories(evolution-calendar PUBLIC
+       ${CMAKE_BINARY_DIR}
+       ${CMAKE_SOURCE_DIR}
+       ${CMAKE_CURRENT_BINARY_DIR}
+       ${EVOLUTION_DATA_SERVER_INCLUDE_DIRS}
+       ${GNOME_PLATFORM_INCLUDE_DIRS}
+       ${LIBSOUP_INCLUDE_DIRS}
+)
+
+target_link_libraries(evolution-calendar
+       ${DEPENDENCIES}
+       ${EVOLUTION_DATA_SERVER_LDFLAGS}
+       ${GNOME_PLATFORM_LDFLAGS}
+       ${LIBSOUP_LDFLAGS}
+       ${MATH_LDFLAGS}
+)
+
+install(TARGETS evolution-calendar
+       DESTINATION ${privsolibdir}
+)
+
+install(FILES ${HEADERS}
+       DESTINATION ${privincludedir}/calendar/gui
+)
diff --git a/calendar/gui/caltypes.xml b/calendar/gui/caltypes.xml.in
similarity index 74%
rename from calendar/gui/caltypes.xml
rename to calendar/gui/caltypes.xml.in
index 964b623..81276c4 100644
--- a/calendar/gui/caltypes.xml
+++ b/calendar/gui/caltypes.xml.in
@@ -16,7 +16,7 @@
             <input type="string" name="summary"/>
         </part>
 
-        <part name="description">
+        <part name="description">
             <_title>Description</_title>
             <input type="optionlist" name="description-type">
                 <option value="contains">
@@ -55,7 +55,7 @@
        <option value="is not">
            <_title>is not</_title>
            <code>(not(contains? "classification" ${classification}))</code>
-      </option>  
+      </option>
      </input>
      <input type="optionlist" name="classification">
       <option value="Public">
@@ -67,60 +67,60 @@
       <option value="Confidential">
           <_title>Confidential</_title>
       </option>
-     </input>    
+     </input>
    </part>
 
 
        <part name="name2">
             <_title>Organizer</_title>
              <input type="optionlist" name="name-type">
-           <option value="contains">
-                 <_title>contains</_title>
-                 <code>(contains? "organizer" ${name})</code>
-            </option>
-            <option value="not contains">
-               <_title>does not contain</_title>
+               <option value="contains">
+                 <_title>contains</_title>
+                 <code>(contains? "organizer" ${name})</code>
+               </option>
+            <option value="not contains">
+               <_title>does not contain</_title>
                  <code>(not (contains? "organizer" ${name}))</code>
-            </option>
-           </input>
-           <input type="string" name="name"/>
-       </part>
+            </option>
+           </input>
+           <input type="string" name="name"/>
+       </part>
 
        <part name="name3">
-          <_title>Attendee</_title>
-            <input type="optionlist" name="name-type">
-             <option value="contains">
-                <_title>contains</_title>
-                 <code>(contains? "attendee" ${name})</code>
-            </option>
-            <option value="not contains">
+          <_title>Attendee</_title>
+            <input type="optionlist" name="name-type">
+             <option value="contains">
+                <_title>contains</_title>
+                 <code>(contains? "attendee" ${name})</code>
+            </option>
+            <option value="not contains">
                 <_title>does not contain</_title>
-                <code>(not (contains? "attendee" ${name}))</code>
-            </option>
-           </input>
-           <input type="string" name="name"/>
-        </part>
- 
+                <code>(not (contains? "attendee" ${name}))</code>
+            </option>
+           </input>
+           <input type="string" name="name"/>
+        </part>
+
        <part name="name4">
-           <_title>Location</_title>
-            <input type="optionlist" name="name-type">
+           <_title>Location</_title>
+            <input type="optionlist" name="name-type">
               <option value="contains">
-                 <_title>contains</_title>
-                 <code>(contains? "location" ${name})</code>
-            </option>
-            <option value="not contains">
-               <_title>does not contain</_title>
+                 <_title>contains</_title>
+                 <code>(contains? "location" ${name})</code>
+            </option>
+            <option value="not contains">
+               <_title>does not contain</_title>
                  <code>(not (contains? "location" ${name}))</code>
-            </option>
-           </input>
+            </option>
+           </input>
             <input type="string" name="name"/>
           </part>
 
        <part name="category">
          <_title>Category</_title>
           <input type="optionlist" name="category-type">
-               <option value="is">
-               <_title>is</_title>
+               <option value="is">
+               <_title>is</_title>
                <code>(has-categories? ${category})</code>
            </option>
            <option value="is not">
@@ -152,22 +152,22 @@
         </part>
 
        <part name="recurrences">
-        <_title>Recurrence</_title>
+        <_title>Recurrence</_title>
          <input type="optionlist" name="match-type">
-         <option value="exist">
-          <_title>Exist</_title>
-          <code>
-               (has-recurrences?)     
+         <option value="exist">
+          <_title>Exist</_title>
+          <code>
+               (has-recurrences?)
            </code>
-       </option>
-       <option value="not exist">
-         <_title>Do Not Exist</_title>
-        <code>
-         (not (has-recurrences?))
-        </code>
-        </option>
-        </input>
-       </part>
+       </option>
+       <option value="not exist">
+         <_title>Do Not Exist</_title>
+        <code>
+               (not (has-recurrences?))
+        </code>
+        </option>
+        </input>
+       </part>
 
    <part name="count-occurrences">
       <_title>Occurs</_title>
@@ -193,37 +193,37 @@
     <rule grouping="any" source="demand">
       <_title>Summary Contains</_title>
        <partset>
-               <part name="summary">
+               <part name="summary">
                  <value name="summary-type" type="option" value="contains"/>
-                 <value name="summary" type="string"/>
-               </part>        
+                 <value name="summary" type="string"/>
+               </part>
          </partset>
 
       <sources/>
     </rule>
-    
+
     <rule grouping="any" source="demand">
       <_title>Description Contains</_title>
       <partset>
                <part name="description">
-                 <value name="description-type" type="option" value="contains"/>
-                 <value name="description" type="string"/>
-               </part>        
+                 <value name="description-type" type="option" value="contains"/>
+                 <value name="description" type="string"/>
+               </part>
        </partset>
       <sources/>
     </rule>
-    
+
     <rule grouping="any" source="demand">
       <_title>Any field contains</_title>
        <partset>
-              <part name="anyfield">
-                 <value name="anyfield-type" type="option" value="contains"/>
+              <part name="anyfield">
+                 <value name="anyfield-type" type="option" value="contains"/>
                  <value name="anyfield" type="string"/>
-               </part>
+               </part>
         </partset>
       <sources/>
     </rule>
-     
+
   </ruleset>
 
   </filterdescription>
diff --git a/calendar/gui/memotypes.xml b/calendar/gui/memotypes.xml.in
similarity index 84%
rename from calendar/gui/memotypes.xml
rename to calendar/gui/memotypes.xml.in
index 1872461..268d9a0 100644
--- a/calendar/gui/memotypes.xml
+++ b/calendar/gui/memotypes.xml.in
@@ -1,7 +1,7 @@
 <?xml version="1.0"?>
 <filterdescription>
 <partset>
-       <part name="summary">
+       <part name="summary">
             <_title>Summary</_title>
             <input type="optionlist" name="summary-type">
                 <option value="contains">
@@ -15,7 +15,7 @@
             </input>
             <input type="string" name="summary"/>
         </part>
-       
+
        <part name="description">
             <_title>Description</_title>
             <input type="optionlist" name="description-type">
@@ -47,19 +47,19 @@
         </part>
 
        <part name="name2">
-         <_title>Organizer</_title>
-           <input type="optionlist" name="name-type">
-            <option value="contains">
-                <_title>contains</_title>
-                 <code>(contains? "organizer" ${name})</code>
-            </option>
+         <_title>Organizer</_title>
+           <input type="optionlist" name="name-type">
+            <option value="contains">
+                <_title>contains</_title>
+                 <code>(contains? "organizer" ${name})</code>
+            </option>
              <option value="not contains">
-               <_title>does not contain</_title>
+               <_title>does not contain</_title>
                  <code>(not (contains? "organizer" ${name}))</code>
-            </option>
-        </input>
-          <input type="string" name="name"/>
-        </part>
+            </option>
+        </input>
+          <input type="string" name="name"/>
+        </part>
 
 <part name="name2">
      <_title>Classification</_title>
@@ -83,9 +83,9 @@
       <option value="Confidential">
           <_title>Confidential</_title>
       </option>
-     </input>   
+     </input>
    </part>
- 
+
  <part name="category">
   <_title>Category</_title>
    <input type="optionlist" name="category-type">
@@ -110,7 +110,6 @@
     <_title>Exist</_title>
     <code>
        (has-attachments?)
-     
     </code>
    </option>
    <option value="not exist">
@@ -122,7 +121,6 @@
   </input>
  </part>
 
- 
 </partset>
 
 <ruleset>
@@ -130,36 +128,36 @@
     <rule grouping="any" source="demand">
       <_title>Summary Contains</_title>
        <partset>
-               <part name="summary">
+               <part name="summary">
                  <value name="summary-type" type="option" value="contains"/>
-                 <value name="summary" type="string"/>
-               </part>        
+                 <value name="summary" type="string"/>
+               </part>
          </partset>
       <sources/>
     </rule>
-    
+
     <rule grouping="any" source="demand">
       <_title>Description Contains</_title>
        <partset>
                <part name="description">
-                 <value name="description-type" type="option" value="contains"/>
+                 <value name="description-type" type="option" value="contains"/>
                  <value name="description" type="string"/>
-               </part>        
+               </part>
        </partset>
       <sources/>
     </rule>
-    
+
     <rule grouping="any" source="demand">
       <_title>Any field contains</_title>
        <partset>
-              <part name="anyfield">
-                 <value name="anyfield-type" type="option" value="contains"/>
+              <part name="anyfield">
+                 <value name="anyfield-type" type="option" value="contains"/>
                  <value name="anyfield" type="string"/>
-               </part>
+               </part>
         </partset>
       <sources/>
     </rule>
-     
+
   </ruleset>
 
   </filterdescription>
diff --git a/calendar/gui/tasktypes.xml b/calendar/gui/tasktypes.xml.in
similarity index 95%
rename from calendar/gui/tasktypes.xml
rename to calendar/gui/tasktypes.xml.in
index cd9876b..ba31840 100644
--- a/calendar/gui/tasktypes.xml
+++ b/calendar/gui/tasktypes.xml.in
@@ -41,7 +41,7 @@
                      <option value="not contains">
                           <_title>does not contain</_title>
                          <code>(not (contains? "organizer" ${name}))</code>
-                     </option> 
+                     </option>
             </input>
             <input type="string" name="name"/>
        </part>
@@ -57,7 +57,7 @@
                           <_title>does not contain</_title>
                           <code>(not (contains? "attendee" ${name}))</code>
                      </option>
-            </input>
+            </input>
             <input type="string" name="name"/>
        </part>
 
@@ -205,10 +205,10 @@
         <rule grouping="any" source="demand">
             <_title>Summary Contains</_title>
         <partset>
-               <part name="summary">
+               <part name="summary">
                  <value name="summary-type" type="option" value="contains"/>
-                 <value name="summary" type="string"/>
-               </part>        
+                 <value name="summary" type="string"/>
+               </part>
          </partset>
 
             <sources/>
@@ -218,9 +218,9 @@
             <_title>Description Contains</_title>
        <partset>
                <part name="description">
-                 <value name="description-type" type="option" value="contains"/>
+                 <value name="description-type" type="option" value="contains"/>
                  <value name="description" type="string"/>
-               </part>        
+               </part>
        </partset>
 
             <sources/>
@@ -229,10 +229,10 @@
         <rule grouping="any" source="demand">
             <_title>Any field contains</_title>
        <partset>
-              <part name="anyfield">
-                 <value name="anyfield-type" type="option" value="contains"/>
+               <part name="anyfield">
+                 <value name="anyfield-type" type="option" value="contains"/>
                  <value name="anyfield" type="string"/>
-               </part>
+               </part>
         </partset>
 
             <sources/>
diff --git a/calendar/importers/CMakeLists.txt b/calendar/importers/CMakeLists.txt
new file mode 100644
index 0000000..f6eb91f
--- /dev/null
+++ b/calendar/importers/CMakeLists.txt
@@ -0,0 +1,47 @@
+set(DEPENDENCIES
+       evolution-shell
+       evolution-util
+)
+
+set(SOURCES
+       evolution-calendar-importer.h
+       icalendar-importer.c
+)
+
+add_library(evolution-calendar-importers SHARED
+       ${SOURCES}
+)
+
+add_dependencies(evolution-calendar-importers
+       ${DEPENDENCIES}
+)
+
+target_compile_definitions(evolution-calendar-importers PRIVATE
+       -DG_LOG_DOMAIN=\"evolution-calendar-importers\"
+       -DEVOLUTION_SOUNDDIR=\"${soundsdir}\"
+)
+
+target_compile_options(evolution-calendar-importers PUBLIC
+       ${EVOLUTION_DATA_SERVER_CFLAGS}
+       ${GNOME_PLATFORM_CFLAGS}
+)
+
+target_include_directories(evolution-calendar-importers PUBLIC
+       ${CMAKE_BINARY_DIR}
+       ${CMAKE_SOURCE_DIR}
+       ${CMAKE_CURRENT_BINARY_DIR}
+       ${CMAKE_BINARY_DIR}/calendar
+       ${CMAKE_SOURCE_DIR}/calendar
+       ${EVOLUTION_DATA_SERVER_INCLUDE_DIRS}
+       ${GNOME_PLATFORM_INCLUDE_DIRS}
+)
+
+target_link_libraries(evolution-calendar-importers
+       ${DEPENDENCIES}
+       ${EVOLUTION_DATA_SERVER_LDFLAGS}
+       ${GNOME_PLATFORM_LDFLAGS}
+)
+
+install(TARGETS evolution-calendar-importers
+       DESTINATION ${privsolibdir}
+)
diff --git a/cmake/modules/EvolutionMacros.cmake b/cmake/modules/EvolutionMacros.cmake
index 2e52aa4..b88d947 100644
--- a/cmake/modules/EvolutionMacros.cmake
+++ b/cmake/modules/EvolutionMacros.cmake
@@ -16,11 +16,11 @@
 
 include(FindIntltool)
 
-macro(_add_custom_files _part _destination _targetsuffix _ext _file0)
+macro(add_custom_xml_files _part _destination _targetsuffix _ext _mergeparam _file0)
        set(filedeps)
 
        foreach(file ${_file0} ${ARGN})
-               intltool_merge(${file}${_ext} ${file} --no-translations --xml-style --utf8)
+               intltool_merge(${file}${_ext} ${file} --xml-style --utf8 ${_mergeparam})
                install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${file}
                        DESTINATION ${_destination}
                )
@@ -36,10 +36,10 @@ macro(_add_custom_files _part _destination _targetsuffix _ext _file0)
        add_custom_target(${_part}-${_targetsuffix}-files ALL
                DEPENDS ${filedeps}
        )
-endmacro(_add_custom_files)
+endmacro(add_custom_xml_files)
 
 macro(add_error_files _part _file0)
-       _add_custom_files(${_part} ${errordir} errors .xml ${_file0} ${ARGN})
+       add_custom_xml_files(${_part} ${errordir} error .xml --no-translations ${_file0} ${ARGN})
 endmacro(add_error_files)
 
 macro(add_eplug_file _part _eplug_filename)
@@ -56,5 +56,5 @@ macro(add_eplug_file _part _eplug_filename)
        unset(SOEXT)
        unset(LOCALEDIR)
 
-       _add_custom_files(${_part} ${plugindir} plugin .in ${CMAKE_CURRENT_BINARY_DIR}/${_eplug_filename})
+       add_custom_xml_files(${_part} ${plugindir} plugin .in --no-translations 
${CMAKE_CURRENT_BINARY_DIR}/${_eplug_filename})
 endmacro(add_eplug_file)
diff --git a/composer/CMakeLists.txt b/composer/CMakeLists.txt
new file mode 100644
index 0000000..1e82289
--- /dev/null
+++ b/composer/CMakeLists.txt
@@ -0,0 +1,85 @@
+add_error_files(composer mail-composer.error)
+
+install(FILES evolution-composer.ui
+       DESTINATION ${uidir}
+)
+
+set(DEPENDENCIES
+       econtacteditor
+       econtactlisteditor
+       email-engine
+       evolution-mail-formatter
+       evolution-shell
+       evolution-util
+)
+
+set(SOURCES
+       e-composer-actions.c
+       e-composer-from-header.c
+       e-composer-header-table.c
+       e-composer-header.c
+       e-composer-name-header.c
+       e-composer-post-header.c
+       e-composer-private.c
+       e-composer-spell-header.c
+       e-composer-text-header.c
+       e-msg-composer.c
+)
+
+set(HEADERS
+       e-composer-actions.h
+       e-composer-common.h
+       e-composer-from-header.h
+       e-composer-header-table.h
+       e-composer-header.h
+       e-composer-name-header.h
+       e-composer-post-header.h
+       e-composer-private.h
+       e-composer-spell-header.h
+       e-composer-text-header.h
+       e-msg-composer.h
+)
+
+add_library(evolution-mail-composer SHARED
+       ${SOURCES}
+       ${HEADERS}
+)
+
+add_dependencies(evolution-mail-composer
+       ${DEPENDENCIES}
+)
+
+target_compile_definitions(evolution-mail-composer PRIVATE
+       -DG_LOG_DOMAIN=\"evolution-mail-composer\"
+       -DEVOLUTION_UIDIR=\"${uidir}\"
+)
+
+target_compile_options(evolution-mail-composer PUBLIC
+       ${CERT_UI_CFLAGS}
+       ${EVOLUTION_DATA_SERVER_CFLAGS}
+       ${GNOME_PLATFORM_CFLAGS}
+)
+
+target_include_directories(evolution-mail-composer PUBLIC
+       ${CMAKE_BINARY_DIR}
+       ${CMAKE_SOURCE_DIR}
+       ${CMAKE_CURRENT_BINARY_DIR}
+       ${CERT_UI_INCLUDE_DIRS}
+       ${EVOLUTION_DATA_SERVER_INCLUDE_DIRS}
+       ${GNOME_PLATFORM_INCLUDE_DIRS}
+)
+
+target_link_libraries(evolution-mail-composer
+       ${DEPENDENCIES}
+       ${CERT_UI_LDFLAGS}
+       ${EVOLUTION_DATA_SERVER_LDFLAGS}
+       ${GNOME_PLATFORM_LDFLAGS}
+)
+
+install(TARGETS evolution-mail-composer
+       DESTINATION ${privsolibdir}
+)
+
+install(FILES ${HEADERS}
+       DESTINATION ${privincludedir}/composer
+)
diff --git a/mail/CMakeLists.txt b/mail/CMakeLists.txt
new file mode 100644
index 0000000..d8a552b
--- /dev/null
+++ b/mail/CMakeLists.txt
@@ -0,0 +1,297 @@
+glib_mkenums(e-mail-enumtypes e-mail-enums.h E_MAIL_ENUMTYPES_H)
+add_error_files(mail mail.error)
+add_custom_xml_files(mail ${privdatadir} filter .in ""
+       filtertypes.xml
+       searchtypes.xml
+       vfoldertypes.xml
+)
+
+install(FILES message-list.etspec
+       DESTINATION ${etspecdir}
+)
+
+install(FILES  mail-config.ui
+               mail-dialogs.ui
+       DESTINATION ${uidir}
+)
+
+set(DEPENDENCIES
+       econtacteditor
+       econtactlisteditor
+       email-engine
+       evolution-mail-composer
+       evolution-mail-formatter
+       evolution-shell
+       evolution-util
+)
+
+if(ENABLE_SMIME)
+       list(APPEND DEPENDENCIES
+               essmime
+               evolution-smime
+       )
+endif(ENABLE_SMIME)
+
+set(SOURCES
+       e-cid-request.c
+       e-http-request.c
+       e-mail-account-manager.c
+       e-mail-account-store.c
+       e-mail-account-tree-view.c
+       e-mail-autoconfig.c
+       e-mail-backend.c
+       e-mail-browser.c
+       e-mail-config-activity-page.c
+       e-mail-config-assistant.c
+       e-mail-config-auth-check.c
+       e-mail-config-confirm-page.c
+       e-mail-config-defaults-page.c
+       e-mail-config-identity-page.c
+       e-mail-config-lookup-page.c
+       e-mail-config-notebook.c
+       e-mail-config-page.c
+       e-mail-config-provider-page.c
+       e-mail-config-receiving-page.c
+       e-mail-config-security-page.c
+       e-mail-config-sending-page.c
+       e-mail-config-service-backend.c
+       e-mail-config-service-notebook.c
+       e-mail-config-service-page.c
+       e-mail-config-sidebar.c
+       e-mail-config-summary-page.c
+       e-mail-config-welcome-page.c
+       e-mail-config-window.c
+       e-mail-display.c
+       e-mail-display-popup-extension.c
+       e-mail-folder-create-dialog.c
+       e-mail-folder-pane.c
+       e-mail-free-form-exp.c
+       e-mail-junk-options.c
+       e-mail-label-action.c
+       e-mail-label-dialog.c
+       e-mail-label-list-store.c
+       e-mail-label-manager.c
+       e-mail-label-tree-view.c
+       e-mail-message-pane.c
+       e-mail-migrate.c
+       e-mail-notes.c
+       e-mail-paned-view.c
+       e-mail-print-config-headers.c
+       e-mail-printer.c
+       e-mail-properties.c
+       e-mail-reader-utils.c
+       e-mail-reader.c
+       e-mail-remote-content.c
+       e-mail-request.c
+       e-mail-send-account-override.c
+       e-mail-sidebar.c
+       e-mail-tag-editor.c
+       e-mail-ui-session.c
+       e-mail-view.c
+       em-composer-utils.c
+       em-config.c
+       em-event.c
+       em-filter-context.c
+       em-filter-editor.c
+       em-filter-editor-folder-element.c
+       em-filter-rule.c
+       em-filter-source-element.c
+       em-folder-properties.c
+       em-folder-selection-button.c
+       em-folder-selector.c
+       em-folder-tree-model.c
+       em-folder-tree.c
+       em-folder-utils.c
+       em-search-context.c
+       em-subscription-editor.c
+       em-utils.c
+       em-vfolder-editor-context.c
+       em-vfolder-editor-rule.c
+       em-vfolder-editor.c
+       mail-autofilter.c
+       mail-send-recv.c
+       mail-vfolder-ui.c
+       message-list.c
+       ${CMAKE_CURRENT_BINARY_DIR}/e-mail-enumtypes.c
+)
+
+set(HEADERS
+       e-cid-request.h
+       e-http-request.h
+       e-mail.h
+       e-mail-account-manager.h
+       e-mail-account-store.h
+       e-mail-account-tree-view.h
+       e-mail-autoconfig.h
+       e-mail-backend.h
+       e-mail-browser.h
+       e-mail-config-activity-page.h
+       e-mail-config-assistant.h
+       e-mail-config-auth-check.h
+       e-mail-config-confirm-page.h
+       e-mail-config-defaults-page.h
+       e-mail-config-identity-page.h
+       e-mail-config-lookup-page.h
+       e-mail-config-notebook.h
+       e-mail-config-page.h
+       e-mail-config-provider-page.h
+       e-mail-config-receiving-page.h
+       e-mail-config-security-page.h
+       e-mail-config-sending-page.h
+       e-mail-config-service-backend.h
+       e-mail-config-service-notebook.h
+       e-mail-config-service-page.h
+       e-mail-config-sidebar.h
+       e-mail-config-summary-page.h
+       e-mail-config-welcome-page.h
+       e-mail-config-window.h
+       e-mail-display.h
+       e-mail-display-popup-extension.h
+       e-mail-enums.h
+       e-mail-folder-create-dialog.h
+       e-mail-folder-pane.h
+       e-mail-free-form-exp.h
+       e-mail-junk-options.h
+       e-mail-label-action.h
+       e-mail-label-dialog.h
+       e-mail-label-list-store.h
+       e-mail-label-manager.h
+       e-mail-label-tree-view.h
+       e-mail-message-pane.h
+       e-mail-migrate.h
+       e-mail-notes.h
+       e-mail-paned-view.h
+       e-mail-print-config-headers.h
+       e-mail-printer.h
+       e-mail-properties.h
+       e-mail-reader-utils.h
+       e-mail-reader.h
+       e-mail-remote-content.h
+       e-mail-request.h
+       e-mail-send-account-override.h
+       e-mail-sidebar.h
+       e-mail-tag-editor.h
+       e-mail-ui-session.h
+       e-mail-view.h
+       em-composer-utils.h
+       em-config.h
+       em-event.h
+       em-filter-context.h
+       em-filter-editor.h
+       em-filter-editor-folder-element.h
+       em-filter-rule.h
+       em-filter-source-element.h
+       em-folder-properties.h
+       em-folder-selection-button.h
+       em-folder-selector.h
+       em-folder-tree-model.h
+       em-folder-tree.h
+       em-folder-utils.h
+       em-search-context.h
+       em-subscription-editor.h
+       em-utils.h
+       em-vfolder-editor-context.h
+       em-vfolder-editor-rule.h
+       em-vfolder-editor.h
+       mail-autofilter.h
+       mail-send-recv.h
+       mail-vfolder-ui.h
+       message-list.h
+       ${CMAKE_CURRENT_BINARY_DIR}/e-mail-enumtypes.h
+)
+
+add_library(evolution-mail SHARED
+       ${SOURCES}
+       ${HEADERS}
+)
+
+add_dependencies(evolution-mail
+       ${DEPENDENCIES}
+)
+
+target_compile_definitions(evolution-mail PRIVATE
+       -DG_LOG_DOMAIN=\"evolution-mail\"
+       -DEVOLUTION_PRIVDATADIR=\"${privdatadir}\"
+       -DEVOLUTION_ETSPECDIR=\"${etspecdir}\"
+)
+
+target_compile_options(evolution-mail PUBLIC
+       ${CERT_UI_CFLAGS}
+       ${CANBERRA_CFLAGS}
+       ${EVOLUTION_DATA_SERVER_CFLAGS}
+       ${LIBCRYPTUI_CFLAGS}
+       ${GNOME_PLATFORM_CFLAGS}
+)
+
+target_include_directories(evolution-mail PUBLIC
+       ${CMAKE_BINARY_DIR}
+       ${CMAKE_SOURCE_DIR}
+       ${CMAKE_CURRENT_BINARY_DIR}
+       ${CMAKE_BINARY_DIR}/composer
+       ${CMAKE_BINARY_DIR}/em-format
+       ${CMAKE_BINARY_DIR}/shell
+       ${CMAKE_BINARY_DIR}/smime/lib
+       ${CMAKE_BINARY_DIR}/smime/gui
+       ${CMAKE_SOURCE_DIR}/composer
+       ${CMAKE_SOURCE_DIR}/em-format
+       ${CMAKE_SOURCE_DIR}/shell
+       ${CMAKE_SOURCE_DIR}/smime/lib
+       ${CMAKE_SOURCE_DIR}/smime/gui
+       ${CERT_UI_INCLUDE_DIRS}
+       ${CANBERRA_INCLUDE_DIRS}
+       ${EVOLUTION_DATA_SERVER_INCLUDE_DIRS}
+       ${LIBCRYPTUI_INCLUDE_DIRS}
+       ${GNOME_PLATFORM_INCLUDE_DIRS}
+)
+
+target_link_libraries(evolution-mail
+       ${DEPENDENCIES}
+       ${CERT_UI_LDFLAGS}
+       ${CANBERRA_LDFLAGS}
+       ${EVOLUTION_DATA_SERVER_LDFLAGS}
+       ${LIBCRYPTUI_LDFLAGS}
+       ${GNOME_PLATFORM_LDFLAGS}
+)
+
+install(TARGETS evolution-mail
+       DESTINATION ${privsolibdir}
+)
+
+install(FILES ${HEADERS}
+       DESTINATION ${privincludedir}/mail
+)
+
+# ******************************
+# test-mail-autoconfig
+# ******************************
+
+add_executable(test-mail-autoconfig
+       e-mail-autoconfig.c
+       e-mail-autoconfig.h
+       test-mail-autoconfig.c
+)
+
+target_compile_definitions(test-mail-autoconfig PRIVATE
+       -DG_LOG_DOMAIN=\"test-mail-autoconfig\"
+)
+
+target_compile_options(test-mail-autoconfig PUBLIC
+       ${EVOLUTION_DATA_SERVER_CFLAGS}
+       ${GNOME_PLATFORM_CFLAGS}
+)
+
+target_include_directories(test-mail-autoconfig PUBLIC
+       ${CMAKE_BINARY_DIR}
+       ${CMAKE_SOURCE_DIR}
+       ${CMAKE_CURRENT_BINARY_DIR}
+       ${EVOLUTION_DATA_SERVER_INCLUDE_DIRS}
+       ${GNOME_PLATFORM_INCLUDE_DIRS}
+)
+
+target_link_libraries(test-mail-autoconfig
+       ${EVOLUTION_DATA_SERVER_LDFLAGS}
+       ${GNOME_PLATFORM_LDFLAGS}
+)
+
+add_subdirectory(default)
+add_subdirectory(importers)
diff --git a/mail/default/CMakeLists.txt b/mail/default/CMakeLists.txt
new file mode 100644
index 0000000..1549f2a
--- /dev/null
+++ b/mail/default/CMakeLists.txt
@@ -0,0 +1,9 @@
+file(GLOB directories RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *)
+
+foreach(dir ${directories})
+       if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/${dir}/Inbox")
+               install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${dir}/Inbox
+                       DESTINATION ${privdatadir}/default/${dir}/mail/local
+               )
+       endif(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/${dir}/Inbox")
+endforeach(dir)
diff --git a/mail/importers/CMakeLists.txt b/mail/importers/CMakeLists.txt
new file mode 100644
index 0000000..360ca0b
--- /dev/null
+++ b/mail/importers/CMakeLists.txt
@@ -0,0 +1,56 @@
+set(DEPENDENCIES
+       email-engine
+       evolution-mail
+       evolution-shell
+       evolution-util
+)
+
+set(SOURCES
+       kmail-libs.c
+       kmail-libs.h
+       kmail-importer.c
+       mail-importer.c
+       mail-importer.h
+       elm-importer.c
+       pine-importer.c
+       evolution-mbox-importer.c
+)
+
+add_library(evolution-mail-importers SHARED
+       ${SOURCES}
+)
+
+add_dependencies(evolution-mail-importers
+       ${DEPENDENCIES}
+)
+
+target_compile_definitions(evolution-mail-importers PRIVATE
+       -DG_LOG_DOMAIN=\"evolution-mail-importers\"
+       -DEVOLUTION_PRIVDATADIR=\"${privdatadir}\"
+       -DEVOLUTION_ETSPECDIR=\"${etspecdir}\"
+)
+
+target_compile_options(evolution-mail-importers PUBLIC
+       ${EVOLUTION_DATA_SERVER_CFLAGS}
+       ${GNOME_PLATFORM_CFLAGS}
+)
+
+target_include_directories(evolution-mail-importers PUBLIC
+       ${CMAKE_BINARY_DIR}
+       ${CMAKE_SOURCE_DIR}
+       ${CMAKE_CURRENT_BINARY_DIR}
+       ${CMAKE_BINARY_DIR}/mail
+       ${CMAKE_SOURCE_DIR}/mail
+       ${EVOLUTION_DATA_SERVER_INCLUDE_DIRS}
+       ${GNOME_PLATFORM_INCLUDE_DIRS}
+)
+
+target_link_libraries(evolution-mail-importers
+       ${DEPENDENCIES}
+       ${EVOLUTION_DATA_SERVER_LDFLAGS}
+       ${GNOME_PLATFORM_LDFLAGS}
+)
+
+install(TARGETS evolution-mail-importers
+       DESTINATION ${privsolibdir}
+)
diff --git a/smime/gui/CMakeLists.txt b/smime/gui/CMakeLists.txt
index 8630ef8..55a5745 100644
--- a/smime/gui/CMakeLists.txt
+++ b/smime/gui/CMakeLists.txt
@@ -19,7 +19,6 @@ set(SOURCES
 
 add_library(evolution-smime SHARED
        ${SOURCES}
-       ${HEADERS}
 )
 
 add_dependencies(evolution-smime
diff --git a/smime/lib/CMakeLists.txt b/smime/lib/CMakeLists.txt
index d2a56bc..bb12741 100644
--- a/smime/lib/CMakeLists.txt
+++ b/smime/lib/CMakeLists.txt
@@ -15,7 +15,6 @@ set(SOURCES
 
 add_library(essmime SHARED
        ${SOURCES}
-       ${HEADERS}
 )
 
 add_dependencies(essmime



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