[evolution-data-server/wip/cmake] calendar + modules + tools
- From: Milan Crha <mcrha src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [evolution-data-server/wip/cmake] calendar + modules + tools
- Date: Fri, 23 Sep 2016 10:41:43 +0000 (UTC)
commit 9ce48fcc2aba902cc80a970b9c14493a82a56b7a
Author: Milan Crha <mcrha redhat com>
Date: Fri Sep 23 12:40:14 2016 +0200
calendar + modules + tools
The modules/ubuntu-online-accounts/ requires changes and
actual testing whether it builds properly with its data files.
CMakeLists.txt | 64 ++++++++----
addressbook/libedata-book/CMakeLists.txt | 3 +-
calendar/CMakeLists.txt | 4 +
calendar/backends/CMakeLists.txt | 12 ++
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/libecal/libecal.pc.in | 14 +--
calendar/libedata-cal/CMakeLists.txt | 136 +++++++++++++++++++++++++
calendar/libedata-cal/libedata-cal.pc.in | 15 +--
calendar/libegdbus/CMakeLists.txt | 36 +++++++
evolution-data-server.pc.in | 13 +--
modules/CMakeLists.txt | 83 +++++++++++++++
modules/cache-reaper/CMakeLists.txt | 17 +++
modules/gnome-online-accounts/CMakeLists.txt | 38 +++++++
modules/google-backend/CMakeLists.txt | 17 +++
modules/outlook-backend/CMakeLists.txt | 17 +++
modules/owncloud-backend/CMakeLists.txt | 17 +++
modules/secret-monitor/CMakeLists.txt | 17 +++
modules/trust-prompt/CMakeLists.txt | 41 ++++++++
modules/ubuntu-online-accounts/CMakeLists.txt | 103 +++++++++++++++++++
modules/yahoo-backend/CMakeLists.txt | 17 +++
tools/CMakeLists.txt | 1 +
tools/addressbook-export/CMakeLists.txt | 59 +++++++++++
28 files changed, 1091 insertions(+), 49 deletions(-)
---
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 9b85bf3..769839a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -92,7 +92,7 @@ add_definitions(-DGDK_VERSION_MIN_REQUIRED=${gdk_encoded_version})
add_definitions(-DSOUP_VERSION_MIN_REQUIRED=${soup_encoded_version})
set(gcr_minimum_version 3.4)
-set(libgdata_minimum_version 0.10)
+set(libgdata_minimum_version 0.15.1)
set(libical_minimum_version 0.43)
set(libsecret_minimum_version 0.5)
set(libxml_minimum_version 2.0.0)
@@ -142,7 +142,7 @@ add_printable_variable_path(SYSCONF_INSTALL_DIR "Install directory for system co
set(privdatadir "${SHARE_INSTALL_DIR}/${PROJECT_NAME}")
set(privincludedir "${INCLUDE_INSTALL_DIR}/${PROJECT_NAME}")
set(privlibdir "${LIB_INSTALL_DIR}/${PROJECT_NAME}")
-set(privlibexecdir "${LIBEXEC_INSTALL_DIR}'/${PROJECT_NAME}")
+set(privlibexecdir "${LIBEXEC_INSTALL_DIR}/${PROJECT_NAME}")
if(WIN32)
# On Win32 there is no "rpath" mechanism. We install the private
@@ -160,7 +160,6 @@ set(ebook_backenddir "${privlibdir}/addressbook-backends")
set(ecal_backenddir "${privlibdir}/calendar-backends")
set(ro_sourcesdir "${privdatadir}/ro-sources")
set(rw_sourcesdir "${privdatadir}/rw-sources")
-set(weatherdatadir "${privdatadir}/weather")
set(camel_providerdir "${privlibdir}/camel-providers")
# *******************
@@ -771,6 +770,24 @@ else(ENABLE_LARGEFILE)
endif(ENABLE_LARGEFILE)
# ******************************
+# libical tweaks, part I
+# ******************************
+
+pkg_check_at_least_version(HAVE_LIBICAL_2_0 libical 2.0)
+
+# *****
+# libical.pc from libical-0.43 has a bug in its CFlags.
+# It wants apps to include <libical/ical*.h> but it's CFlags make it difficult
+# to differentiate between <libical/ical.h> and <ical.h>
+# We have fixed all our instances to use <libical/ical.h>.
+# Work-around the buggy CFlags for the 0.43 version.
+# *****
+pkg_check_exact_version(libical_is_0_43 libical 0.43)
+if(libical_is_0_43)
+ pkg_check_variable(LIBICAL_EXTRA_CFLAGS libical includedir)
+endif(libical_is_0_43)
+
+# ******************************
# subparts flags
# ******************************
@@ -792,23 +809,9 @@ string(STRIP "${CAMEL_CFLAGS}" CAMEL_CFLAGS)
string(STRIP "${CAMEL_LDFLAGS}" CAMEL_LDFLAGS)
# ******************************
-# libical tweaks
+# libical tweaks, part II (re-using CALENDAR_CFLAGS/CALENDAR_LDFLAGS)
# ******************************
-pkg_check_at_least_version(HAVE_LIBICAL_2_0 libical 2.0)
-
-# *****
-# libical.pc from libical-0.43 has a bug in its CFlags.
-# It wants apps to include <libical/ical*.h> but it's CFlags make it difficult
-# to differentiate between <libical/ical.h> and <ical.h>
-# We have fixed all our instances to use <libical/ical.h>.
-# Work-around the buggy CFlags for the 0.43 version.
-# *****
-pkg_check_exact_version(libical_is_0_43 libical 0.43)
-if(libical_is_0_43)
- pkg_check_variable(LIBICAL_EXTRA_CFLAGS libical includedir)
-endif(libical_is_0_43)
-
set(CMAKE_REQUIRED_FLAGS "${CALENDAR_CFLAGS}")
set(CMAKE_REQUIRED_LIBRARIES "${CALENDAR_LDFLAGS}")
@@ -857,9 +860,32 @@ add_definitions(-DHAVE_CONFIG_H=1)
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(libebackend)
add_subdirectory(libedataserver)
-add_subdirectory(libedataserverui)
+add_subdirectory(modules)
add_subdirectory(private)
+#add_subdirectory(po)
+#add_subdirectory(services)
+#add_subdirectory(tests)
+add_subdirectory(tools)
+
+if(HAVE_GTK)
+ add_subdirectory(libedataserverui)
+endif(HAVE_GTK)
+
+#if(ENABLE_GTK_DOC)
+# add_subdirectory(doc)
+#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/addressbook/libedata-book/CMakeLists.txt b/addressbook/libedata-book/CMakeLists.txt
index bfd610a..44bc75f 100644
--- a/addressbook/libedata-book/CMakeLists.txt
+++ b/addressbook/libedata-book/CMakeLists.txt
@@ -65,7 +65,7 @@ add_dependencies(edata-book
)
set_target_properties(edata-book PROPERTIES
- VERSION "${LIBEDATABOOK_CURRENT}.${LIBEDATABOOK_REVISION}.${LIBDATAEBOOK_AGE}"
+ VERSION "${LIBEDATABOOK_CURRENT}.${LIBEDATABOOK_REVISION}.${LIBEDATABOOK_AGE}"
SOVERSION ${LIBEDATABOOK_CURRENT}
OUTPUT_NAME edata-book-${API_VERSION}
)
@@ -186,7 +186,6 @@ target_include_directories(evolution-addressbook-factory-subprocess PUBLIC
)
target_link_libraries(evolution-addressbook-factory-subprocess
- edata-book
${DEPENDENCIES}
${ADDRESSBOOK_LDFLAGS}
${GTK_LDFLAGS}
diff --git a/calendar/CMakeLists.txt b/calendar/CMakeLists.txt
new file mode 100644
index 0000000..b555f9e
--- /dev/null
+++ b/calendar/CMakeLists.txt
@@ -0,0 +1,4 @@
+add_subdirectory(backends)
+add_subdirectory(libecal)
+add_subdirectory(libedata-cal)
+add_subdirectory(libegdbus)
diff --git a/calendar/backends/CMakeLists.txt b/calendar/backends/CMakeLists.txt
new file mode 100644
index 0000000..56b8c38
--- /dev/null
+++ b/calendar/backends/CMakeLists.txt
@@ -0,0 +1,12 @@
+add_subdirectory(caldav)
+add_subdirectory(contacts)
+add_subdirectory(file)
+add_subdirectory(http)
+
+if(HAVE_LIBGDATA)
+ add_subdirectory(gtasks)
+endif(HAVE_LIBGDATA)
+
+if(ENABLE_WEATHER)
+ add_subdirectory(weather)
+endif(ENABLE_WEATHER)
diff --git a/calendar/backends/caldav/CMakeLists.txt b/calendar/backends/caldav/CMakeLists.txt
new file mode 100644
index 0000000..d44609d
--- /dev/null
+++ b/calendar/backends/caldav/CMakeLists.txt
@@ -0,0 +1,46 @@
+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_SOURCE_DIR}
+ ${CMAKE_BINARY_DIR}/calendar
+ ${CMAKE_SOURCE_DIR}/calendar
+ ${CALENDAR_INCLUDE_DIRS}
+)
+
+target_link_libraries(ecalbackendcaldav
+ ${DEPENDENCIES}
+ ${CALENDAR_LDFLAGS}
+)
+
+install(TARGETS ecalbackendcaldav
+ DESTINATION ${ecal_backenddir}
+)
diff --git a/calendar/backends/contacts/CMakeLists.txt b/calendar/backends/contacts/CMakeLists.txt
new file mode 100644
index 0000000..8e70d2e
--- /dev/null
+++ b/calendar/backends/contacts/CMakeLists.txt
@@ -0,0 +1,50 @@
+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_SOURCE_DIR}
+ ${CMAKE_BINARY_DIR}/addressbook
+ ${CMAKE_SOURCE_DIR}/addressbook
+ ${CMAKE_BINARY_DIR}/calendar
+ ${CMAKE_SOURCE_DIR}/calendar
+ ${CALENDAR_INCLUDE_DIRS}
+)
+
+target_link_libraries(ecalbackendcontacts
+ ${DEPENDENCIES}
+ ${CALENDAR_LDFLAGS}
+)
+
+install(TARGETS ecalbackendcontacts
+ DESTINATION ${ecal_backenddir}
+)
diff --git a/calendar/backends/file/CMakeLists.txt b/calendar/backends/file/CMakeLists.txt
new file mode 100644
index 0000000..2434c49
--- /dev/null
+++ b/calendar/backends/file/CMakeLists.txt
@@ -0,0 +1,79 @@
+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_SOURCE_DIR}
+ ${CMAKE_BINARY_DIR}/calendar
+ ${CMAKE_SOURCE_DIR}/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_SOURCE_DIR}
+ ${CMAKE_BINARY_DIR}/calendar
+ ${CMAKE_SOURCE_DIR}/calendar
+ ${CALENDAR_INCLUDE_DIRS}
+)
+
+target_link_libraries(test-interval-searches
+ ${DEPENDENCIES}
+ ${CALENDAR_LDFLAGS}
+)
diff --git a/calendar/backends/gtasks/CMakeLists.txt b/calendar/backends/gtasks/CMakeLists.txt
new file mode 100644
index 0000000..10c0aa6
--- /dev/null
+++ b/calendar/backends/gtasks/CMakeLists.txt
@@ -0,0 +1,51 @@
+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_SOURCE_DIR}
+ ${CMAKE_BINARY_DIR}/calendar
+ ${CMAKE_SOURCE_DIR}/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/http/CMakeLists.txt b/calendar/backends/http/CMakeLists.txt
new file mode 100644
index 0000000..cb6e9c8
--- /dev/null
+++ b/calendar/backends/http/CMakeLists.txt
@@ -0,0 +1,46 @@
+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_SOURCE_DIR}
+ ${CMAKE_BINARY_DIR}/calendar
+ ${CMAKE_SOURCE_DIR}/calendar
+ ${CALENDAR_INCLUDE_DIRS}
+)
+
+target_link_libraries(ecalbackendhttp
+ ${DEPENDENCIES}
+ ${CALENDAR_LDFLAGS}
+)
+
+install(TARGETS ecalbackendhttp
+ DESTINATION ${ecal_backenddir}
+)
diff --git a/calendar/backends/weather/CMakeLists.txt b/calendar/backends/weather/CMakeLists.txt
new file mode 100644
index 0000000..774114f
--- /dev/null
+++ b/calendar/backends/weather/CMakeLists.txt
@@ -0,0 +1,51 @@
+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_SOURCE_DIR}
+ ${CMAKE_BINARY_DIR}/calendar
+ ${CMAKE_SOURCE_DIR}/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/libecal/CMakeLists.txt b/calendar/libecal/CMakeLists.txt
new file mode 100644
index 0000000..0f4e559
--- /dev/null
+++ b/calendar/libecal/CMakeLists.txt
@@ -0,0 +1,93 @@
+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}/calendar
+ ${CMAKE_BINARY_DIR}/calendar/libegdbus
+ ${CMAKE_BINARY_DIR}/private
+ ${CMAKE_SOURCE_DIR}
+ ${CMAKE_SOURCE_DIR}/private
+ ${CMAKE_SOURCE_DIR}/calendar
+ ${CMAKE_SOURCE_DIR}/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/libecal.pc.in b/calendar/libecal/libecal.pc.in
index 22428b6..cb258b7 100644
--- a/calendar/libecal/libecal.pc.in
+++ b/calendar/libecal/libecal.pc.in
@@ -1,15 +1,11 @@
-prefix=@prefix@
-exec_prefix=@exec_prefix@
-libdir=@libdir@
-includedir=@includedir@
-datarootdir=@datarootdir@
-datadir=@datadir@
+prefix=@CMAKE_INSTALL_PREFIX@
+libdir=@LIB_INSTALL_DIR@
privincludedir=@privincludedir@
Name: libecal
Description: Client library for evolution calendars
-Version: @VERSION@
-Requires: libical >= @LIBICAL_REQUIRED@ libedataserver-1.2
-Libs: -L${libdir} -lecal-1.2
+Version: @PROJECT_VERSION@
+Requires: libical libedataserver-@API_VERSION@
+Libs: -L${libdir} -lecal-@API_VERSION@
Cflags: -I${privincludedir} @LIBICAL_EXTRA_CFLAGS@
diff --git a/calendar/libedata-cal/CMakeLists.txt b/calendar/libedata-cal/CMakeLists.txt
new file mode 100644
index 0000000..271b1d8
--- /dev/null
+++ b/calendar/libedata-cal/CMakeLists.txt
@@ -0,0 +1,136 @@
+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}/calendar
+ ${CMAKE_BINARY_DIR}/calendar/libegdbus
+ ${CMAKE_BINARY_DIR}/private
+ ${CMAKE_SOURCE_DIR}
+ ${CMAKE_SOURCE_DIR}/private
+ ${CMAKE_SOURCE_DIR}/calendar
+ ${CMAKE_SOURCE_DIR}/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}/calendar
+ ${CMAKE_BINARY_DIR}/calendar/libegdbus
+ ${CMAKE_BINARY_DIR}/private
+ ${CMAKE_SOURCE_DIR}
+ ${CMAKE_SOURCE_DIR}/private
+ ${CMAKE_SOURCE_DIR}/calendar
+ ${CMAKE_SOURCE_DIR}/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/libedata-cal.pc.in b/calendar/libedata-cal/libedata-cal.pc.in
index 1ffc5bd..1f18f4b 100644
--- a/calendar/libedata-cal/libedata-cal.pc.in
+++ b/calendar/libedata-cal/libedata-cal.pc.in
@@ -1,10 +1,5 @@
-prefix=@prefix@
-exec_prefix=@exec_prefix@
-libdir=@libdir@
-libexecdir=@libexecdir@
-includedir=@includedir@
-datarootdir=@datarootdir@
-datadir=@datadir@
+prefix=@CMAKE_INSTALL_PREFIX@
+libdir=@LIB_INSTALL_DIR@
privlibdir=@privlibdir@
privincludedir=@privincludedir@
@@ -13,7 +8,7 @@ backenddir=@ecal_backenddir@
Name: libedata-cal
Description: Backend library for evolution calendars
-Version: @VERSION@
-Requires: libical >= @LIBICAL_REQUIRED@ libebackend-1.2 libecal-1.2
-Libs: -L${libdir} -ledata-cal-1.2
+Version: @PROJECT_VERSION@
+Requires: libical libebackend-@API_VERSION@ libecal-@API_VERSION@
+Libs: -L${libdir} -ledata-cal-@API_VERSION@
Cflags: -I${privincludedir}
diff --git a/calendar/libegdbus/CMakeLists.txt b/calendar/libegdbus/CMakeLists.txt
new file mode 100644
index 0000000..f261565
--- /dev/null
+++ b/calendar/libegdbus/CMakeLists.txt
@@ -0,0 +1,36 @@
+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_CURRENT_BINARY_DIR}
+ ${CMAKE_SOURCE_DIR}
+ ${DATA_SERVER_INCLUDE_DIRS}
+)
+
+target_link_libraries(egdbus-cal
+ ${DEPENDENCIES}
+ ${DATA_SERVER_LDFLAGS}
+)
diff --git a/evolution-data-server.pc.in b/evolution-data-server.pc.in
index 22d68e0..6fd651b 100644
--- a/evolution-data-server.pc.in
+++ b/evolution-data-server.pc.in
@@ -1,15 +1,10 @@
-prefix=@prefix@
-exec_prefix=@exec_prefix@
-libdir=@libdir@
-includedir=@includedir@
-privlibdir=@privlibdir@
-datarootdir=@datarootdir@
-datadir=@datadir@
+prefix=@CMAKE_INSTALL_PREFIX@
+libdir=@LIB_INSTALL_DIR@
privdatadir=@privdatadir@
execversion=@BASE_VERSION@
Name: evolution-data-server
Description: The evolution data server for the calendar and addressbook
-Version: @VERSION@
-Requires: gio-2.0, @mozilla_nss@, @mozilla_nspr@
+Version: @PROJECT_VERSION@
+Requires: gio-2.0 @mozilla_nss@ @mozilla_nspr@
diff --git a/modules/CMakeLists.txt b/modules/CMakeLists.txt
new file mode 100644
index 0000000..ad432d2
--- /dev/null
+++ b/modules/CMakeLists.txt
@@ -0,0 +1,83 @@
+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_SOURCE_DIR}
+ ${BACKEND_INCLUDE_DIRS}
+ ${DATA_SERVER_INCLUDE_DIRS}
+ ${${_incdirsvar}}
+ )
+
+ target_link_libraries(${_name}
+ ${DEPENDENCIES}
+ ${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/modules/cache-reaper/CMakeLists.txt
new file mode 100644
index 0000000..375cfcc
--- /dev/null
+++ b/modules/cache-reaper/CMakeLists.txt
@@ -0,0 +1,17 @@
+set(extra_deps)
+set(sources
+ module-cache-reaper.c
+)
+set(extra_defines)
+set(extra_cflags)
+set(extra_incdirs)
+set(extra_ldflags)
+
+add_source_registry_module(module-cache-reaper
+ sources
+ extra_deps
+ extra_defines
+ extra_cflags
+ extra_incdirs
+ extra_ldflags
+)
diff --git a/modules/gnome-online-accounts/CMakeLists.txt b/modules/gnome-online-accounts/CMakeLists.txt
new file mode 100644
index 0000000..e86cc72
--- /dev/null
+++ b/modules/gnome-online-accounts/CMakeLists.txt
@@ -0,0 +1,38 @@
+set(extra_deps)
+set(sources
+ module-gnome-online-accounts.c
+ e-goa-client.c
+ e-goa-client.h
+ goaewsclient.c
+ goaewsclient.h
+)
+set(extra_defines)
+set(extra_cflags ${GOA_SERVER_CFLAGS})
+set(extra_incdirs ${GOA_INCLUDE_DIRS})
+set(extra_ldflags ${GOA_LDFLAGS})
+
+add_source_registry_module(module-gnome-online-accounts
+ sources
+ extra_deps
+ extra_defines
+ extra_cflags
+ extra_incdirs
+ extra_ldflags
+)
+
+set(sources
+ module-credentials-goa.c
+ e-goa-client.c
+ e-goa-client.h
+ e-goa-password-based.c
+ e-goa-password-based.h
+)
+
+add_credentials_module(module-credentials-goa
+ sources
+ extra_deps
+ extra_defines
+ extra_cflags
+ extra_incdirs
+ extra_ldflags
+)
diff --git a/modules/google-backend/CMakeLists.txt b/modules/google-backend/CMakeLists.txt
new file mode 100644
index 0000000..fcd78a8
--- /dev/null
+++ b/modules/google-backend/CMakeLists.txt
@@ -0,0 +1,17 @@
+set(extra_deps)
+set(sources
+ module-google-backend.c
+)
+set(extra_defines)
+set(extra_cflags ${LIBGDATA_CFLAGS})
+set(extra_incdirs ${LIBGDATA_INCLUDE_DIRS})
+set(extra_ldflags ${LIBGDATA_LDFLAGS})
+
+add_source_registry_module(module-google-backend
+ sources
+ extra_deps
+ extra_defines
+ extra_cflags
+ extra_incdirs
+ extra_ldflags
+)
diff --git a/modules/outlook-backend/CMakeLists.txt b/modules/outlook-backend/CMakeLists.txt
new file mode 100644
index 0000000..d0a7294
--- /dev/null
+++ b/modules/outlook-backend/CMakeLists.txt
@@ -0,0 +1,17 @@
+set(extra_deps)
+set(sources
+ module-outlook-backend.c
+)
+set(extra_defines)
+set(extra_cflags)
+set(extra_incdirs)
+set(extra_ldflags)
+
+add_source_registry_module(module-outlook-backend
+ sources
+ extra_deps
+ extra_defines
+ extra_cflags
+ extra_incdirs
+ extra_ldflags
+)
diff --git a/modules/owncloud-backend/CMakeLists.txt b/modules/owncloud-backend/CMakeLists.txt
new file mode 100644
index 0000000..91bad5a
--- /dev/null
+++ b/modules/owncloud-backend/CMakeLists.txt
@@ -0,0 +1,17 @@
+set(extra_deps)
+set(sources
+ module-owncloud-backend.c
+)
+set(extra_defines)
+set(extra_cflags)
+set(extra_incdirs)
+set(extra_ldflags)
+
+add_source_registry_module(module-owncloud-backend
+ sources
+ extra_deps
+ extra_defines
+ extra_cflags
+ extra_incdirs
+ extra_ldflags
+)
diff --git a/modules/secret-monitor/CMakeLists.txt b/modules/secret-monitor/CMakeLists.txt
new file mode 100644
index 0000000..05e49e2
--- /dev/null
+++ b/modules/secret-monitor/CMakeLists.txt
@@ -0,0 +1,17 @@
+set(extra_deps)
+set(sources
+ module-secret-monitor.c
+)
+set(extra_defines)
+set(extra_cflags ${LIBSECRET_CFLAGS})
+set(extra_incdirs ${LIBSECRET_INCLUDE_DIRS})
+set(extra_ldflags ${LIBSECRET_LDFLAGS})
+
+add_source_registry_module(module-secret-monitor
+ sources
+ extra_deps
+ extra_defines
+ extra_cflags
+ extra_incdirs
+ extra_ldflags
+)
diff --git a/modules/trust-prompt/CMakeLists.txt b/modules/trust-prompt/CMakeLists.txt
new file mode 100644
index 0000000..b3f1f88
--- /dev/null
+++ b/modules/trust-prompt/CMakeLists.txt
@@ -0,0 +1,41 @@
+set(TRUST_PROMPT_SOURCES
+ trust-prompt-gtk.c
+)
+
+set(TRUST_PROMPT_CFLAGS
+ ${GNOME_PLATFORM_CFLAGS}
+ ${GTK_CFLAGS}
+ ${GCR_CFLAGS}
+)
+
+set(TRUST_PROMPT_INCLUDE_DIRS
+ ${GNOME_PLATFORM_INCLUDE_DIRS}
+ ${GTK_INCLUDE_DIRS}
+ ${GCR_INCLUDE_DIRS}
+)
+
+set(TRUST_PROMPT_LDFLAGS
+ ${GNOME_PLATFORM_LDFLAGS}
+ ${GTK_LDFLAGS}
+ ${GCR_LDFLAGS}
+)
+
+set(extra_deps)
+set(sources
+ module-trust-prompt.c
+ trust-prompt.h
+ ${TRUST_PROMPT_SOURCES}
+)
+set(extra_defines)
+set(extra_cflags ${TRUST_PROMPT_CFLAGS})
+set(extra_incdirs ${TRUST_PROMPT_INCLUDE_DIRS})
+set(extra_ldflags ${TRUST_PROMPT_LDFLAGS})
+
+add_source_registry_module(module-trust-prompt
+ sources
+ extra_deps
+ extra_defines
+ extra_cflags
+ extra_incdirs
+ extra_ldflags
+)
diff --git a/modules/ubuntu-online-accounts/CMakeLists.txt b/modules/ubuntu-online-accounts/CMakeLists.txt
new file mode 100644
index 0000000..6298429
--- /dev/null
+++ b/modules/ubuntu-online-accounts/CMakeLists.txt
@@ -0,0 +1,103 @@
+set(extra_deps)
+set(sources
+ module-ubuntu-online-accounts.c
+ uoa-utils.c
+ uoa-utils.h
+)
+set(extra_defines)
+set(extra_cflags
+ ${LIBACCOUNTS_GLIB_CFLAGS}
+ ${LIBSIGNON_GLIB_CFLAGS}
+ ${JSON_GLIB_CFLAGS}
+ ${REST_CFLAGS}
+)
+set(extra_incdirs
+ ${LIBACCOUNTS_GLIB_INCLUDE_DIRS}
+ ${LIBSIGNON_GLIB_INCLUDE_DIRS}
+ ${JSON_GLIB_INCLUDE_DIRS}
+ ${REST_INCLUDE_DIRS}
+)
+set(extra_ldflags
+ ${LIBACCOUNTS_GLIB_LDFLAGS}
+ ${LIBSIGNON_GLIB_LDFLAGS}
+ ${JSON_GLIB_LDFLAGS}
+ ${REST_LDFLAGS}
+)
+
+add_source_registry_module(module-ubuntu-online-accounts
+ sources
+ extra_deps
+ extra_defines
+ extra_cflags
+ extra_incdirs
+ extra_ldflags
+)
+
+# ******************************
+# Credentials module
+# ******************************
+
+set(sources
+ module-credentials-uoa.c
+ e-signon-session-password.c
+ e-signon-session-password.h
+)
+
+add_credentials_module(module-credentials-uoa
+ sources
+ extra_deps
+ extra_defines
+ extra_cflags
+ extra_incdirs
+ extra_ldflags
+)
+
+# ******************************
+# Data files
+# ******************************
+
+set(servicetype_files
+ mail.service-type
+ calendar.service-type
+ contacts.service-type
+)
+
+set(service_files
+ google-gmail.service
+ google-calendar.service
+ google-contacts.service
+ windows-live-mail.service
+ yahoo-mail.service
+ yahoo-calendar.service
+)
+
+# TODO | FIXME
+#%.application: %.application.in
+# $(AM_V_GEN) $(INTLTOOL_MERGE) --no-translations -x -u $< $@
+#
+#%.service-type: %.service-type.in
+# $(AM_V_GEN) $(INTLTOOL_MERGE) --no-translations -x -u $< $@
+#
+#%.service: %.service.in
+# $(AM_V_GEN) $(INTLTOOL_MERGE) --no-translations -x -u $< $@
+
+desktopdir = ${SHARE_INSTALL_DIR}/applications
+pkg_check_variable(applicationdir libaccounts-glib applicationfilesdir)
+pkg_check_variable(servicetypedir libaccounts-glib servicetypefilesdir)
+pkg_check_variable(servicedir libaccounts-glib servicefilesdir)
+
+install(FILES evolution-data-server-uoa.desktop
+ DESTINATION ${desktopdir}
+)
+
+install(FILES evolution-data-server.application
+ DESTINATION ${applicationdir}
+)
+
+install(FILES ${servicetype_files}
+ DESTINATION ${servicetypedir}
+)
+
+install(FILES ${service_files}
+ DESTINATION ${servicedir}
+)
diff --git a/modules/yahoo-backend/CMakeLists.txt b/modules/yahoo-backend/CMakeLists.txt
new file mode 100644
index 0000000..dab6654
--- /dev/null
+++ b/modules/yahoo-backend/CMakeLists.txt
@@ -0,0 +1,17 @@
+set(extra_deps)
+set(sources
+ module-yahoo-backend.c
+)
+set(extra_defines)
+set(extra_cflags)
+set(extra_incdirs)
+set(extra_ldflags)
+
+add_source_registry_module(module-yahoo-backend
+ sources
+ extra_deps
+ extra_defines
+ extra_cflags
+ extra_incdirs
+ extra_ldflags
+)
diff --git a/tools/CMakeLists.txt b/tools/CMakeLists.txt
new file mode 100644
index 0000000..35017f9
--- /dev/null
+++ b/tools/CMakeLists.txt
@@ -0,0 +1 @@
+add_subdirectory(addressbook-export)
diff --git a/tools/addressbook-export/CMakeLists.txt b/tools/addressbook-export/CMakeLists.txt
new file mode 100644
index 0000000..04ab5bc
--- /dev/null
+++ b/tools/addressbook-export/CMakeLists.txt
@@ -0,0 +1,59 @@
+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}/addressbook
+ ${CMAKE_SOURCE_DIR}
+ ${CMAKE_SOURCE_DIR}/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)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]