glib_mkenums(e-source-enumtypes e-source-enums.h E_SOURCE_ENUMTYPES_H) add_pkgconfig_file(libedataserver.pc.in libedataserver-${API_VERSION}.pc) configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/eds-version.h.in ${CMAKE_CURRENT_BINARY_DIR}/eds-version.h @ONLY ) # We put the C++ code into a separate static library, so that we can use # the C linker for libebook-contacts. add_library(edataserver-private STATIC e-alphabet-index-private.cpp e-transliterator-private.cpp ) target_compile_definitions(edataserver-private PRIVATE -DG_LOG_DOMAIN=\"e-data-server\" -DLIBEDATASERVER_COMPILATION ) target_compile_options(edataserver-private PUBLIC ${DATA_SERVER_CFLAGS} ${ICU_CFLAGS} ) target_include_directories(edataserver-private PUBLIC ${CMAKE_BINARY_DIR} ${CMAKE_BINARY_DIR}/src ${CMAKE_CURRENT_BINARY_DIR} ${DATA_SERVER_INCLUDE_DIRS} ${ICU_INCLUDE_DIRS} ) target_link_libraries(edataserver-private ${DATA_SERVER_LDFLAGS} ${ICU_LDFLAGS} ) set(DEPENDENCIES camel edataserver-private edbus-private ) set(SOURCES e-alphabet-index-private.h e-cancellable-locks.c e-categories.c e-client.c e-client-private.h e-collator.c e-credentials.c e-extensible.c e-extension.c e-flag.c e-free-form-exp.c e-gdata-query.c e-gdata-session.c e-iterator.c e-json-utils.c e-list.c e-list-iterator.c e-memory.c e-module.c e-named-parameters.c e-network-monitor.c e-oauth2-service.c e-oauth2-service-base.c e-oauth2-service-google.c e-oauth2-service-outlook.c e-oauth2-service-yahoo.c e-oauth2-services.c e-operation-pool.c e-secret-store.c e-sexp.c e-soup-auth-bearer.c e-soup-session.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-autoconfig.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-oauth2.c e-source-credentials-provider-impl-password.c e-source-goa.c e-source-ldap.c e-source-local.c e-source-mail-account.c e-source-mail-composition.c e-source-mail-identity.c e-source-mail-signature.c e-source-mail-submission.c e-source-mail-transport.c e-source-mdn.c e-source-memo-list.c e-source-offline.c e-source-openpgp.c e-source-proxy.c e-source-refresh.c e-source-registry.c e-source-registry-watcher.c e-source-resource.c e-source-revision-guards.c e-source-security.c e-source-selectable.c e-source-smime.c e-source-task-list.c e-source-uoa.c e-source-weather.c e-source-webdav.c e-source-webdav-notes.c e-debug-log.c e-time-utils.c e-transliterator-private.h e-uid.c e-url.c e-webdav-discover.c e-webdav-session.c e-data-server-util.c e-xml-document.c e-xml-hash-utils.c e-xml-utils.c libedataserver-private.h eds-version.c ${CMAKE_CURRENT_BINARY_DIR}/e-source-enumtypes.c ) set(HEADERS libedataserver.h e-cancellable-locks.h e-categories.h e-client.h e-collator.h e-credentials.h e-dataserver-autocleanups.h e-extensible.h e-extension.h e-flag.h e-free-form-exp.h e-gdata-query.h e-gdata-session.h e-iterator.h e-json-utils.h e-list.h e-list-iterator.h e-memory.h e-module.h e-named-parameters.h e-network-monitor.h e-oauth2-service.h e-oauth2-service-base.h e-oauth2-service-google.h e-oauth2-service-outlook.h e-oauth2-service-yahoo.h e-oauth2-services.h e-operation-pool.h e-secret-store.h e-sexp.h e-soup-auth-bearer.h e-soup-session.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-autoconfig.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-oauth2.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-memo-list.h e-source-offline.h e-source-openpgp.h e-source-proxy.h e-source-refresh.h e-source-registry.h e-source-registry-watcher.h e-source-resource.h e-source-revision-guards.h e-source-security.h e-source-selectable.h e-source-smime.h e-source-task-list.h e-source-uoa.h e-source-weather.h e-source-webdav.h e-source-webdav-notes.h e-debug-log.h e-time-utils.h e-uid.h e-url.h e-webdav-discover.h e-webdav-session.h e-data-server-util.h e-xml-document.h e-xml-hash-utils.h e-xml-utils.h ${CMAKE_CURRENT_BINARY_DIR}/e-source-enumtypes.h ${CMAKE_CURRENT_BINARY_DIR}/eds-version.h ) add_library(edataserver SHARED ${SOURCES} ${HEADERS} ) add_dependencies(edataserver ${DEPENDENCIES} ) set_target_properties(edataserver PROPERTIES VERSION "${LIBEDATASERVER_CURRENT}.${LIBEDATASERVER_REVISION}.${LIBEDATASERVER_AGE}" SOVERSION ${LIBEDATASERVER_CURRENT} OUTPUT_NAME edataserver-${API_VERSION} ) target_compile_definitions(edataserver PRIVATE -DG_LOG_DOMAIN=\"e-data-server\" -DE_DATA_SERVER_PREFIX=\"${CMAKE_INSTALL_PREFIX}\" -DE_DATA_SERVER_LOCALEDIR=\"${LOCALE_INSTALL_DIR}\" -DE_DATA_SERVER_IMAGESDIR=\"${imagesdir}\" -DE_DATA_SERVER_CREDENTIALMODULEDIR=\"${credentialmoduledir}\" -DE_DATA_SERVER_UIMODULEDIR=\"${uimoduledir}\" -DE_DATA_SERVER_PRIVDATADIR=\"${privdatadir}\" -DLIBEDATASERVER_COMPILATION ) target_compile_options(edataserver PUBLIC ${DATA_SERVER_CFLAGS} ${GIO_UNIX_CFLAGS} ${ICU_CFLAGS} ${JSON_GLIB_CFLAGS} ) target_include_directories(edataserver PUBLIC ${CMAKE_BINARY_DIR} ${CMAKE_BINARY_DIR}/src ${CMAKE_BINARY_DIR}/src/private ${CMAKE_SOURCE_DIR}/src ${CMAKE_SOURCE_DIR}/src/private ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR} ${DATA_SERVER_INCLUDE_DIRS} ${GIO_UNIX_INCLUDE_DIRS} ${ICU_INCLUDE_DIRS} ${JSON_GLIB_INCLUDE_DIRS} ) target_link_libraries(edataserver ${DEPENDENCIES} ${DATA_SERVER_LDFLAGS} ${GIO_UNIX_LDFLAGS} ${ICU_LDFLAGS} ${JSON_GLIB_LDFLAGS} ) install(TARGETS edataserver DESTINATION ${LIB_INSTALL_DIR} ) install(FILES ${HEADERS} DESTINATION ${privincludedir}/libedataserver ) set(gir_sources ${SOURCES} ${HEADERS}) set(gir_identifies_prefixes E) set(gir_includes GObject-2.0 Gio-2.0 Soup-3.0 libxml2-2.0 Json-1.0) set(gir_cflags -DLIBEDATASERVER_COMPILATION ) set(gir_libdirs ${CMAKE_BINARY_DIR}/src/private ${CMAKE_BINARY_DIR}/src/camel ) set(gir_libs camel edataserver ) set(gir_deps ${CMAKE_BINARY_DIR}/src/camel/Camel-${API_VERSION}.gir ) gir_filter_out_sources(gir_sources e-sexp.h) gir_filter_out_sources(gir_sources -private.h) gir_add_introspection_simple( EDataServer libedataserver ${API_VERSION} "libedataserver/libedataserver.h" gir_identifies_prefixes gir_includes gir_cflags gir_libdirs gir_libs gir_deps gir_sources ) if(ENABLE_MAINTAINER_MODE) add_executable(oauth2-value-helper e-oauth2-service.c ) add_dependencies(oauth2-value-helper ${DEPENDENCIES} ) target_compile_definitions(oauth2-value-helper PRIVATE -DG_LOG_DOMAIN=\"oauth2-value-helper\" -DBUILDING_VALUE_HELPER=1 ) target_compile_options(oauth2-value-helper PUBLIC ${DATA_SERVER_CFLAGS} ) target_include_directories(oauth2-value-helper PUBLIC ${CMAKE_BINARY_DIR} ${DATA_SERVER_INCLUDE_DIRS} ) target_link_libraries(oauth2-value-helper ${DATA_SERVER_LDFLAGS} ) endif(ENABLE_MAINTAINER_MODE)