summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMilan Crha <mcrha@redhat.com>2016-09-22 00:32:41 +0200
committerMilan Crha <mcrha@redhat.com>2016-09-22 00:32:41 +0200
commit5f2d7e88d0c0544df6c24466197e3da30a3eeb12 (patch)
tree4cc65309c8dcb0f4650b070a3656616317c279ae
parent03358f788972d122d90246acfb032de316c8a406 (diff)
downloadevolution-data-server-5f2d7e88d0c0544df6c24466197e3da30a3eeb12.tar.gz
Build private/ and libedataserver/
-rw-r--r--CMakeLists.txt4
-rw-r--r--camel/tests/CMakeLists.txt2
-rw-r--r--cmake/modules/CheckTarget.cmake3
-rw-r--r--cmake/modules/GLibTools.cmake51
-rw-r--r--cmake/modules/PkgConfigEx.cmake2
-rw-r--r--libedataserver/CMakeLists.txt257
-rw-r--r--libedataserver/e-data-server-util.c6
-rw-r--r--libedataserver/eds-version.h.in6
-rw-r--r--libedataserver/libedataserver-private.h8
-rw-r--r--libedataserver/libedataserver.pc.in10
-rw-r--r--private/CMakeLists.txt189
11 files changed, 506 insertions, 32 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 621b0e21e..72d8fddef 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -109,6 +109,8 @@ set(webkit2gtk_minimum_version 2.11.91)
# Load modules from the source tree
set(CMAKE_MODULE_PATH $CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules)
+set(CMAKE_POSITION_INDEPENDENT_CODE ON)
+
# CMake modules
include(CheckCCompilerFlag)
include(CheckCSourceCompiles)
@@ -850,3 +852,5 @@ add_definitions(-DHAVE_CONFIG_H=1)
print_build_options()
add_subdirectory(camel)
+add_subdirectory(private)
+add_subdirectory(libedataserver)
diff --git a/camel/tests/CMakeLists.txt b/camel/tests/CMakeLists.txt
index 2c9bc8ac8..96c71ab4d 100644
--- a/camel/tests/CMakeLists.txt
+++ b/camel/tests/CMakeLists.txt
@@ -2,7 +2,7 @@ macro(add_camel_test_one _part _name _src_file)
set(_test_ident cameltest-${_part}-${_name})
# not using EXCLUDE_FROM_ALL to have the tests verified that they can be built
- add_executable(${_test_ident} ${_src_file})
+ add_executable(${_test_ident} EXCLUDE_FROM_ALL ${_src_file})
target_compile_definitions(${_test_ident} PRIVATE
-DG_LOG_DOMAIN=\"${_test_ident}\"
diff --git a/cmake/modules/CheckTarget.cmake b/cmake/modules/CheckTarget.cmake
index debcc9d96..a6a1427e6 100644
--- a/cmake/modules/CheckTarget.cmake
+++ b/cmake/modules/CheckTarget.cmake
@@ -5,7 +5,8 @@
#
# What you do is to call command:
# add_check_test(_name)
-# where _name is the name of the test, as defined by add_executable()
+# where _name is the name of the test, as defined by add_executable().
+# Note it is a good idea to use EXCLUDE_FROM_ALL within the add_executable().
include(CTest)
diff --git a/cmake/modules/GLibTools.cmake b/cmake/modules/GLibTools.cmake
index 62fcd1285..eed32e0e0 100644
--- a/cmake/modules/GLibTools.cmake
+++ b/cmake/modules/GLibTools.cmake
@@ -3,6 +3,7 @@
# Provides functions to run glib tools.
#
# Functions:
+#
# glib_mkenums(_output_filename_noext _enums_header _define_name)
# runs glib-mkenums to generate enumtypes .h and .c files from _enums_header.
# It searches for files in the current source directory and exports to the current
@@ -13,6 +14,22 @@
# which uses camel-enums.h as the source of known enums and generates
# camel-enumtypes.h which will use the CAMEL_ENUMTYPES_H define
# and also generates camel-enumtypes.c with the needed code.
+#
+# gdbus_codegen(_xml _interface_prefix _c_namespace _files_prefix _list_gens)
+# runs gdbus-codegen to generate GDBus code from _xml file description,
+# using _interface_prefix, _c_namespace and _files_prefix as arguments.
+# The _list_gens is a list variable are stored expected generated files.
+#
+# An example call is:
+# 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)
+#
+# gdbus_codegen_custom(_xml _interface_prefix _c_namespace _files_prefix _list_gens _args)
+# The same as gdbus_codegen() except allows to pass other arguments to the call,
+# like for example --c-generate-object-manager
find_program(GLIB_MKENUMS glib-mkenums)
if(NOT GLIB_MKENUMS)
@@ -48,11 +65,11 @@ G_END_DECLS
#endif /* ${_define_name} */
/*** END file-tail ***/")
- file(WRITE "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/enumtypes.h.template" "${HEADER_TMPL}\n")
+ file(WRITE "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/enumtypes-${_output_filename_noext}.h.tmpl" "${HEADER_TMPL}\n")
add_custom_command(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${_output_filename_noext}.h
- COMMAND ${GLIB_MKENUMS} --template "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/enumtypes.h.template" "${CMAKE_CURRENT_SOURCE_DIR}/${_enums_header}" >${CMAKE_CURRENT_BINARY_DIR}/${_output_filename_noext}.h
+ COMMAND ${GLIB_MKENUMS} --template "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/enumtypes-${_output_filename_noext}.h.tmpl" "${CMAKE_CURRENT_SOURCE_DIR}/${_enums_header}" >${CMAKE_CURRENT_BINARY_DIR}/${_output_filename_noext}.h
)
set(SOURCE_TMPL "
@@ -95,10 +112,34 @@ GType
/*** END value-tail ***/")
- file(WRITE "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/enumtypes.c.template" "${SOURCE_TMPL}\n")
+ file(WRITE "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/enumtypes-${_output_filename_noext}.c.tmpl" "${SOURCE_TMPL}\n")
add_custom_command(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${_output_filename_noext}.c
- COMMAND ${GLIB_MKENUMS} --template "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/enumtypes.c.template" "${CMAKE_CURRENT_SOURCE_DIR}/${_enums_header}" >${CMAKE_CURRENT_BINARY_DIR}/${_output_filename_noext}.c
+ COMMAND ${GLIB_MKENUMS} --template "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/enumtypes-${_output_filename_noext}.c.tmpl" "${CMAKE_CURRENT_SOURCE_DIR}/${_enums_header}" >${CMAKE_CURRENT_BINARY_DIR}/${_output_filename_noext}.c
)
-endfunction()
+endfunction(glib_mkenums)
+
+
+find_program(GDBUS_CODEGEN gdbus-codegen)
+if(NOT GDBUS_CODEGEN)
+ message(FATAL_ERROR "Cannot find gdbus-codegen, which is required to build ${PROJECT_NAME}")
+endif(NOT GDBUS_CODEGEN)
+
+function(gdbus_codegen_custom _xml _interface_prefix _c_namespace _files_prefix _list_gens _args)
+ add_custom_command(
+ OUTPUT ${${_list_gens}}
+ COMMAND ${GDBUS_CODEGEN}
+ ARGS --interface-prefix ${_interface_prefix}
+ --c-namespace ${_c_namespace}
+ --generate-c-code ${_files_prefix}
+ --generate-docbook ${_files_prefix}
+ ${_args}
+ ${CMAKE_CURRENT_SOURCE_DIR}/${_xml}
+ VERBATIM
+ )
+endfunction(gdbus_codegen_custom)
+
+function(gdbus_codegen _xml _interface_prefix _c_namespace _files_prefix _list_gens)
+ gdbus_codegen_custom(${_xml} ${_interface_prefix} ${_c_namespace} ${_files_prefix} ${_list_gens} "")
+endfunction(gdbus_codegen)
diff --git a/cmake/modules/PkgConfigEx.cmake b/cmake/modules/PkgConfigEx.cmake
index c8bfce031..5c4a17d53 100644
--- a/cmake/modules/PkgConfigEx.cmake
+++ b/cmake/modules/PkgConfigEx.cmake
@@ -26,7 +26,7 @@
find_package(PkgConfig REQUIRED)
macro(pkg_check_modules_for_option _option_name _option_description _prefix _module0)
- pkg_check_modules(${_prefix} ${_module0})
+ pkg_check_modules(${_prefix} ${_module0} ${ARGN})
if(NOT ${_prefix}_FOUND)
message(FATAL_ERROR "Necessary libraries not or not enough version. If you want to disable ${_option_description}, please use -D${_option_name}=OFF argument to cmake command.")
diff --git a/libedataserver/CMakeLists.txt b/libedataserver/CMakeLists.txt
new file mode 100644
index 000000000..80cdae6c5
--- /dev/null
+++ b/libedataserver/CMakeLists.txt
@@ -0,0 +1,257 @@
+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_CURRENT_BINARY_DIR}
+ ${DATA_SERVER_INCLUDE_DIRS}
+ ${ICU_INCLUDE_DIRS}
+)
+
+target_link_libraries(edataserver-private
+ ${DATA_SERVER_LDFLAGS}
+ ${ICU_LDFLAGS}
+)
+
+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-enumtypes.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
+)
+
+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
+ camel
+ edataserver-private
+ edbus-private)
+
+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_PREFIX}\"
+ -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}/private
+ ${CMAKE_SOURCE_DIR}
+ ${CMAKE_SOURCE_DIR}/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
+ camel
+ edbus-private
+ edataserver-private
+ ${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
+)
diff --git a/libedataserver/e-data-server-util.c b/libedataserver/e-data-server-util.c
index 60bb63d42..fdfd58a91 100644
--- a/libedataserver/e-data-server-util.c
+++ b/libedataserver/e-data-server-util.c
@@ -1808,9 +1808,7 @@ static const gchar *prefix = NULL;
static const gchar *cp_prefix;
static const gchar *localedir;
-static const gchar *extensiondir;
static const gchar *imagesdir;
-static const gchar *ui_uidir;
static const gchar *credentialmoduledir;
static HMODULE hmodule;
@@ -1918,9 +1916,7 @@ setup (void)
g_free (cp_pfx);
localedir = replace_prefix (cp_prefix, E_DATA_SERVER_LOCALEDIR);
- extensiondir = replace_prefix (prefix, E_DATA_SERVER_EXTENSIONDIR);
imagesdir = replace_prefix (prefix, E_DATA_SERVER_IMAGESDIR);
- ui_uidir = replace_prefix (prefix, E_DATA_SERVER_UI_UIDIR);
credentialmoduledir = replace_prefix (prefix, E_DATA_SERVER_CREDENTIALMODULEDIR);
G_UNLOCK (mutex);
@@ -1944,9 +1940,7 @@ const gchar * \
e_util_get_##varbl (void) \
GETTER_IMPL (varbl)
-PRIVATE_GETTER (extensiondir)
PRIVATE_GETTER (imagesdir)
-PRIVATE_GETTER (ui_uidir)
PRIVATE_GETTER (credentialmoduledir);
PUBLIC_GETTER (prefix)
diff --git a/libedataserver/eds-version.h.in b/libedataserver/eds-version.h.in
index 6a39715a9..fb709f242 100644
--- a/libedataserver/eds-version.h.in
+++ b/libedataserver/eds-version.h.in
@@ -29,7 +29,7 @@
* time, rather than from the library linked against at application run
* time.
**/
-#define EDS_MAJOR_VERSION @EDS_MAJOR_VERSION@
+#define EDS_MAJOR_VERSION @PROJECT_VERSION_MAJOR@
/**
* EDS_MINOR_VERSION:
@@ -39,7 +39,7 @@
* time, rather than from the library linked against at application run
* time.
**/
-#define EDS_MINOR_VERSION @EDS_MINOR_VERSION@
+#define EDS_MINOR_VERSION @PROJECT_VERSION_MINOR@
/**
* EDS_MICRO_VERSION:
@@ -49,7 +49,7 @@
* time, rather than from the library linked against at application run
* time.
**/
-#define EDS_MICRO_VERSION @EDS_MICRO_VERSION@
+#define EDS_MICRO_VERSION @PROJECT_VERSION_PATCH@
/**
* EDS_CHECK_VERSION:
diff --git a/libedataserver/libedataserver-private.h b/libedataserver/libedataserver-private.h
index 42f366ea8..b9733f02f 100644
--- a/libedataserver/libedataserver-private.h
+++ b/libedataserver/libedataserver-private.h
@@ -23,20 +23,12 @@
#ifdef G_OS_WIN32
-const gchar * _libedataserver_get_extensiondir (void) G_GNUC_CONST;
const gchar * _libedataserver_get_imagesdir (void) G_GNUC_CONST;
-const gchar * _libedataserver_get_ui_uidir (void) G_GNUC_CONST;
const gchar * _libedataserver_get_credentialmoduledir (void) G_GNUC_CONST;
-#undef E_DATA_SERVER_EXTENSIONDIR
-#define E_DATA_SERVER_EXTENSIONDIR _libedataserver_get_extensiondir ()
-
#undef E_DATA_SERVER_IMAGESDIR
#define E_DATA_SERVER_IMAGESDIR _libedataserver_get_imagesdir ()
-#undef E_DATA_SERVER_UI_UIDIR
-#define E_DATA_SERVER_UI_UIDIR _libedataserver_get_ui_uidir ()
-
#undef E_DATA_SERVER_CREDENTIALMODULEDIR
#define E_DATA_SERVER_CREDENTIALMODULEDIR _libedataserver_get_credentialmoduledir ()
diff --git a/libedataserver/libedataserver.pc.in b/libedataserver/libedataserver.pc.in
index 524d88bad..0f3118b5a 100644
--- a/libedataserver/libedataserver.pc.in
+++ b/libedataserver/libedataserver.pc.in
@@ -1,9 +1,5 @@
-prefix=@prefix@
-exec_prefix=@exec_prefix@
-libdir=@libdir@
-includedir=@includedir@
-datarootdir=@datarootdir@
-datadir=@datadir@
+prefix=@CMAKE_INSTALL_PREFIX@
+libdir=@LIB_INSTALL_DIR@
privlibdir=@privlibdir@
privincludedir=@privincludedir@
@@ -12,7 +8,7 @@ credentialmoduledir=@credentialmoduledir@
Name: libedataserver
Description: Utility library for Evolution Data Server
-Version: @VERSION@
+Version: @PROJECT_VERSION@
Requires: gio-2.0 gmodule-2.0 libsecret-1 libxml-2.0 libsoup-2.4
Requires.private: camel-@API_VERSION@
Libs: -L${libdir} -ledataserver-@API_VERSION@
diff --git a/private/CMakeLists.txt b/private/CMakeLists.txt
new file mode 100644
index 000000000..bbedce228
--- /dev/null
+++ b/private/CMakeLists.txt
@@ -0,0 +1,189 @@
+
+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.
+ 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}
+ ${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}
+)