diff options
author | Milan Crha <mcrha@redhat.com> | 2016-09-22 00:32:41 +0200 |
---|---|---|
committer | Milan Crha <mcrha@redhat.com> | 2016-09-22 00:32:41 +0200 |
commit | 5f2d7e88d0c0544df6c24466197e3da30a3eeb12 (patch) | |
tree | 4cc65309c8dcb0f4650b070a3656616317c279ae | |
parent | 03358f788972d122d90246acfb032de316c8a406 (diff) | |
download | evolution-data-server-5f2d7e88d0c0544df6c24466197e3da30a3eeb12.tar.gz |
Build private/ and libedataserver/
-rw-r--r-- | CMakeLists.txt | 4 | ||||
-rw-r--r-- | camel/tests/CMakeLists.txt | 2 | ||||
-rw-r--r-- | cmake/modules/CheckTarget.cmake | 3 | ||||
-rw-r--r-- | cmake/modules/GLibTools.cmake | 51 | ||||
-rw-r--r-- | cmake/modules/PkgConfigEx.cmake | 2 | ||||
-rw-r--r-- | libedataserver/CMakeLists.txt | 257 | ||||
-rw-r--r-- | libedataserver/e-data-server-util.c | 6 | ||||
-rw-r--r-- | libedataserver/eds-version.h.in | 6 | ||||
-rw-r--r-- | libedataserver/libedataserver-private.h | 8 | ||||
-rw-r--r-- | libedataserver/libedataserver.pc.in | 10 | ||||
-rw-r--r-- | private/CMakeLists.txt | 189 |
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} +) |