diff --git a/CMakeLists.txt b/CMakeLists.txt index dba82011b..436f78659 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,171 +1,172 @@ cmake_minimum_required(VERSION 3.5) set(PIM_VERSION "5.11.40") set(KDEPIM_RUNTIME_VERSION_NUMBER ${PIM_VERSION}) project(kdepim-runtime VERSION ${KDEPIM_RUNTIME_VERSION_NUMBER}) if (POLICY CMP0053) cmake_policy(SET CMP0053 NEW) endif() ############### KDEPIM-Runtime version ################ # KDEPIM_RUNTIME_VERSION # Version scheme: "x.y.z build". # # x is the version number. # y is the major release number. # z is the minor release number. # # "x.y.z" follow the kdelibs version kdepim is released with. # # If "z" is 0, it the version is "x.y" # # KDEPIM_DEV_VERSION # is empty for final versions. For development versions "build" is # something like "pre", "", "alpha2", "beta1", "beta2", "rc1", "rc2". # # Examples in chronological order: # # 3.0 # 3.0.1 # 3.1 # 3.1 beta1 # 3.1 beta2 # 3.1 rc1 # 3.1 # 3.1.1 # 3.2 pre # 3.2 set(KDEPIM_DEV_VERSION alpha) # add an extra space if(DEFINED KDEPIM_DEV_VERSION) set(KDEPIM_DEV_VERSION " ${KDEPIM_DEV_VERSION}") endif() set(KDEPIM_RUNTIME_VERSION "${KDEPIM_RUNTIME_VERSION_NUMBER}${KDEPIM_DEV_VERSION}") configure_file(kdepim-runtime-version.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/kdepim-runtime-version.h @ONLY) set(KF5_MIN_VERSION "5.58.0") find_package(ECM ${KF5_MIN_VERSION} CONFIG REQUIRED) set(CMAKE_MODULE_PATH ${kdepim-runtime_SOURCE_DIR}/cmake/ ${ECM_MODULE_PATH}) include(ECMSetupVersion) include(FeatureSummary) include(KDEInstallDirs) include(KDECMakeSettings) include(KDEFrameworkCompilerSettings NO_POLICY_SCOPE) include(ECMInstallIcons) include(ECMQtDeclareLoggingCategory) include(GenerateExportHeader) set(QT_REQUIRED_VERSION "5.10.0") set(KDEPIMRUNTIME_LIB_VERSION "${KDEPIM_RUNTIME_VERSION_NUMBER}") set(KDEPIMRUNTIME_LIB_SOVERSION "5") set(AKONADI_VERSION "5.11.40") set(KCONTACTS_LIB_VERSION "5.11.40") set(KCALENDARCORE_LIB_VERSION "5.11.40") set(IDENTITYMANAGEMENT_LIB_VERSION "5.11.40") set(KMAILTRANSPORT_LIB_VERSION "5.11.40") set(CALENDARUTILS_LIB_VERSION "5.11.40") set(KDAV_LIB_VERSION "5.11.40") set(KIMAP_LIB_VERSION "5.11.40") set(KMBOX_LIB_VERSION "5.11.40") set(AKONADICALENDAR_LIB_VERSION "5.11.40") set(KONTACTINTERFACE_LIB_VERSION "5.11.40") set(AKONADIKALARM_LIB_VERSION "5.11.40") set(KMIME_LIB_VERSION "5.11.40") set(XMLRPCCLIENT_LIB_VERSION "5.11.40") set(KCONTACTS_LIB_VERSION "5.11.40") set(AKONADIMIME_LIB_VERSION "5.11.40") set(AKONADICONTACT_LIB_VERSION "5.11.40") set(AKONADINOTE_LIB_VERSION "5.11.40") set(PIMCOMMON_LIB_VERSION "5.11.40") set(KGAPI_LIB_VERSION "5.11.40") set( SharedMimeInfo_MINIMUM_VERSION "1.3" ) find_package(SharedMimeInfo ${SharedMimeInfo_MINIMUM_VERSION} REQUIRED) find_package(Sasl2) set_package_properties(Sasl2 PROPERTIES TYPE REQUIRED) find_package(Qca-qt5) option(KDEPIM_RUN_AKONADI_TEST "Enable autotest based on Akonadi." TRUE) # QT5 package find_package(Qt5 ${QT_REQUIRED_VERSION} CONFIG REQUIRED TextToSpeech Network Widgets Test XmlPatterns DBus WebEngineWidgets NetworkAuth) if (NOT Qca-qt5_FOUND) message(STATUS "QCA not found, public key authentication will not be supported") else() add_definitions(-DHAVE_QCA) endif() # KF5 package find_package(KF5Config ${KF5_MIN_VERSION} CONFIG REQUIRED) find_package(KF5ConfigWidgets ${KF5_MIN_VERSION} CONFIG REQUIRED) find_package(KF5NotifyConfig ${KF5_MIN_VERSION} CONFIG REQUIRED) find_package(KF5KIO ${KF5_MIN_VERSION} CONFIG REQUIRED) find_package(KF5ItemModels ${KF5_MIN_VERSION} CONFIG REQUIRED) find_package(KF5Codecs ${KF5_MIN_VERSION} CONFIG REQUIRED) find_package(KF5WindowSystem ${KF5_MIN_VERSION} CONFIG REQUIRED) find_package(KF5TextWidgets ${KF5_MIN_VERSION} CONFIG REQUIRED) # for KPluralHandlingSpinBox find_package(KF5Notifications ${KF5_MIN_VERSION} CONFIG REQUIRED) # pop3, ews find_package(KF5DocTools ${KF5_MIN_VERSION} CONFIG REQUIRED) # pop3 find_package(KF5Holidays ${KF5_MIN_VERSION} CONFIG REQUIRED) find_package(KF5DBusAddons ${KF5_MIN_VERSION} CONFIG REQUIRED) find_package(KF5IconThemes ${KF5_MIN_VERSION} CONFIG REQUIRED) find_package(KF5KDELibs4Support ${KF5_MIN_VERSION} CONFIG REQUIRED) # KdepimLibs package find_package(KF5Akonadi ${AKONADI_VERSION} CONFIG REQUIRED) find_package(KPimKDAV ${KDAV_LIB_VERSION} CONFIG REQUIRED) find_package(KF5Mime ${KMIME_LIB_VERSION} CONFIG REQUIRED) find_package(KF5AkonadiMime ${AKONADIMIME_LIB_VERSION} CONFIG REQUIRED) find_package(KF5MailTransportAkonadi ${KMAILTRANSPORT_LIB_VERSION} CONFIG REQUIRED) find_package(KF5IdentityManagement ${IDENTITYMANAGEMENT_LIB_VERSION} CONFIG REQUIRED) find_package(KF5AkonadiContact ${AKONADICONTACT_LIB_VERSION} CONFIG REQUIRED) find_package(KF5Contacts ${KCONTACTS_LIB_VERSION} CONFIG REQUIRED) find_package(KF5AlarmCalendar ${AKONADIKALARM_LIB_VERSION} CONFIG REQUIRED) find_package(KF5CalendarCore ${KCALENDARCORE_LIB_VERSION} CONFIG REQUIRED) find_package(KF5CalendarUtils ${CALENDARUTILS_LIB_VERSION} CONFIG REQUIRED) find_package(KF5Mbox ${KMBOX_LIB_VERSION} CONFIG REQUIRED) find_package(KF5IMAP ${KIMAP_LIB_VERSION} CONFIG REQUIRED) find_package(KF5AkonadiNotes ${AKONADINOTE_LIB_VERSION} CONFIG REQUIRED) find_package(KF5AkonadiCalendar ${AKONADICALENDAR_LIB_VERSION} CONFIG REQUIRED) find_package(KF5PimCommon ${PIMCOMMON_LIB_VERSION} CONFIG REQUIRED) find_package(KPimGAPI ${KGAPI_LIB_VERSION} CONFIG REQUIRED) option(KDEPIM_RUN_ISOLATED_TESTS "Run the isolated tests." FALSE) option(NO_REGENERATE_MIME "Don't regenerate mime file (developer-only option)" FALSE ) #add_definitions( -DQT_DISABLE_DEPRECATED_BEFORE=0x060000 ) - +find_package(Xsltproc) +set_package_properties(Xsltproc PROPERTIES DESCRIPTION "XSLT processor from libxslt" TYPE REQUIRED PURPOSE "Required to generate D-Bus interfaces for all Akonadi resources.") add_subdirectory(resources) add_subdirectory(agents) add_subdirectory(defaultsetup) add_subdirectory(kioslave) add_subdirectory(migration) add_subdirectory(doc) ## install the MIME type spec file for KDEPIM specific MIME types install(FILES kdepim-mime.xml DESTINATION ${KDE_INSTALL_MIMEDIR}) if (NOT NO_REGENERATE_MIME) update_xdg_mimetypes(${KDE_INSTALL_MIMEDIR}) endif() install( FILES kdepim-runtime.renamecategories kdepim-runtime.categories DESTINATION ${KDE_INSTALL_CONFDIR} ) feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES FATAL_ON_MISSING_REQUIRED_PACKAGES ) diff --git a/agents/cmake/FindXsltproc.cmake b/agents/cmake/FindXsltproc.cmake deleted file mode 100644 index 45b46cfc0..000000000 --- a/agents/cmake/FindXsltproc.cmake +++ /dev/null @@ -1,32 +0,0 @@ -# Find xsltproc executable and provide a macro to generate D-Bus interfaces. -# -# The following variables are defined : -# XSLTPROC_EXECUTABLE - path to the xsltproc executable -# Xsltproc_FOUND - true if the program was found -# -find_program(XSLTPROC_EXECUTABLE xsltproc DOC "Path to the xsltproc executable") -mark_as_advanced(XSLTPROC_EXECUTABLE) - -if(XSLTPROC_EXECUTABLE) - set(Xsltproc_FOUND TRUE) - - # We depend on kdepimlibs, make sure it's found - if(NOT DEFINED KF5Akonadi_DATA_DIR) - find_package(KF5Akonadi REQUIRED) - endif() - - - # Macro to generate a D-Bus interface description from a KConfigXT file - macro(kcfg_generate_dbus_interface _kcfg _name) - add_custom_command( - OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${_name}.xml - COMMAND ${XSLTPROC_EXECUTABLE} --stringparam interfaceName ${_name} - ${KF5Akonadi_DATA_DIR}/kcfg2dbus.xsl - ${_kcfg} - > ${CMAKE_CURRENT_BINARY_DIR}/${_name}.xml - DEPENDS ${KF5Akonadi_DATA_DIR}/kcfg2dbus.xsl - ${_kcfg} - ) - endmacro() -endif() - diff --git a/migration/CMakeLists.txt b/migration/CMakeLists.txt index a3c902ea9..f3653e7d4 100644 --- a/migration/CMakeLists.txt +++ b/migration/CMakeLists.txt @@ -1,21 +1,15 @@ include_directories( ${CMAKE_CURRENT_SOURCE_DIR}/ ) - -# Xsltproc -find_package(Xsltproc) -set_package_properties(Xsltproc PROPERTIES DESCRIPTION "XSLT processor from libxslt" TYPE REQUIRED PURPOSE "Required to generate D-Bus interfaces for all Akonadi resources.") - - set( MIGRATION_AKONADI_SHARED_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/kmigratorbase.cpp ${CMAKE_CURRENT_SOURCE_DIR}/infodialog.cpp ${CMAKE_CURRENT_SOURCE_DIR}/entitytreecreatejob.cpp ${CMAKE_CURRENT_SOURCE_DIR}/migratorbase.cpp ) add_subdirectory( gid ) diff --git a/migration/cmake/FindXsltproc.cmake b/migration/cmake/FindXsltproc.cmake deleted file mode 100644 index 45b46cfc0..000000000 --- a/migration/cmake/FindXsltproc.cmake +++ /dev/null @@ -1,32 +0,0 @@ -# Find xsltproc executable and provide a macro to generate D-Bus interfaces. -# -# The following variables are defined : -# XSLTPROC_EXECUTABLE - path to the xsltproc executable -# Xsltproc_FOUND - true if the program was found -# -find_program(XSLTPROC_EXECUTABLE xsltproc DOC "Path to the xsltproc executable") -mark_as_advanced(XSLTPROC_EXECUTABLE) - -if(XSLTPROC_EXECUTABLE) - set(Xsltproc_FOUND TRUE) - - # We depend on kdepimlibs, make sure it's found - if(NOT DEFINED KF5Akonadi_DATA_DIR) - find_package(KF5Akonadi REQUIRED) - endif() - - - # Macro to generate a D-Bus interface description from a KConfigXT file - macro(kcfg_generate_dbus_interface _kcfg _name) - add_custom_command( - OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${_name}.xml - COMMAND ${XSLTPROC_EXECUTABLE} --stringparam interfaceName ${_name} - ${KF5Akonadi_DATA_DIR}/kcfg2dbus.xsl - ${_kcfg} - > ${CMAKE_CURRENT_BINARY_DIR}/${_name}.xml - DEPENDS ${KF5Akonadi_DATA_DIR}/kcfg2dbus.xsl - ${_kcfg} - ) - endmacro() -endif() - diff --git a/resources/CMakeLists.txt b/resources/CMakeLists.txt index 50b15a501..ad5cf7b3d 100644 --- a/resources/CMakeLists.txt +++ b/resources/CMakeLists.txt @@ -1,65 +1,61 @@ -# Xsltproc -find_package(Xsltproc) -set_package_properties(Xsltproc PROPERTIES DESCRIPTION "XSLT processor from libxslt" TYPE REQUIRED PURPOSE "Required to generate D-Bus interfaces for all Akonadi resources.") - # Libkolabxml find_package(Libkolabxml 1.1 QUIET CONFIG) set_package_properties(Libkolabxml PROPERTIES DESCRIPTION "Kolabxml" URL "http://mirror.kolabsys.com/pub/releases" TYPE OPTIONAL PURPOSE "The Kolab XML Format Schema Definitions Library is required to build the Kolab Groupware Resource") include_directories( ${CMAKE_CURRENT_SOURCE_DIR}/shared/singlefileresource/ ${CMAKE_CURRENT_BINARY_DIR}/shared/singlefileresource/ ${CMAKE_CURRENT_SOURCE_DIR}/folderarchivesettings/ ) # resource tests macro( akonadi_add_resourcetest _testname _script ) if ( ${EXECUTABLE_OUTPUT_PATH} ) set( _exepath ${EXECUTABLE_OUTPUT_PATH} ) else () set( _exepath ${kdepim-runtime_BINARY_DIR}/resourcetester ) endif () if (WIN32) set(_resourcetester ${_exepath}/resourcetester.bat) else () set(_resourcetester ${_exepath}/resourcetester) endif () if (UNIX) set(_resourcetester ${_resourcetester}.shell) endif () configure_file(${CMAKE_CURRENT_SOURCE_DIR}/${_script} ${CMAKE_CURRENT_BINARY_DIR}/${_script} COPYONLY) if (KDEPIM_RUN_ISOLATED_TESTS) add_test( NAME akonadi-mysql-db-${_testname} COMMAND akonaditest -c ${kdepim-runtime_SOURCE_DIR}/resourcetester/tests/unittestenv/config-mysql-db.xml ${_resourcetester} -c ${CMAKE_CURRENT_BINARY_DIR}/${_script} ) endif () endmacro( akonadi_add_resourcetest ) add_subdirectory( akonotes ) add_subdirectory( kalarm ) add_subdirectory( contacts ) add_subdirectory( dav ) add_subdirectory( ical ) add_subdirectory( imap ) if (Libkolabxml_FOUND) add_subdirectory( kolab ) endif() add_subdirectory( facebook ) add_subdirectory( maildir ) add_subdirectory( openxchange ) add_subdirectory( pop3 ) add_subdirectory( google ) add_subdirectory( shared ) add_subdirectory( birthdays ) add_subdirectory( mixedmaildir ) add_subdirectory( mbox ) add_subdirectory( vcarddir ) add_subdirectory( icaldir ) add_subdirectory( vcard ) add_subdirectory( folderarchivesettings ) add_subdirectory( tomboynotes ) add_subdirectory( ews ) diff --git a/resources/cmake/FindXsltproc.cmake b/resources/cmake/FindXsltproc.cmake deleted file mode 100644 index 45b46cfc0..000000000 --- a/resources/cmake/FindXsltproc.cmake +++ /dev/null @@ -1,32 +0,0 @@ -# Find xsltproc executable and provide a macro to generate D-Bus interfaces. -# -# The following variables are defined : -# XSLTPROC_EXECUTABLE - path to the xsltproc executable -# Xsltproc_FOUND - true if the program was found -# -find_program(XSLTPROC_EXECUTABLE xsltproc DOC "Path to the xsltproc executable") -mark_as_advanced(XSLTPROC_EXECUTABLE) - -if(XSLTPROC_EXECUTABLE) - set(Xsltproc_FOUND TRUE) - - # We depend on kdepimlibs, make sure it's found - if(NOT DEFINED KF5Akonadi_DATA_DIR) - find_package(KF5Akonadi REQUIRED) - endif() - - - # Macro to generate a D-Bus interface description from a KConfigXT file - macro(kcfg_generate_dbus_interface _kcfg _name) - add_custom_command( - OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${_name}.xml - COMMAND ${XSLTPROC_EXECUTABLE} --stringparam interfaceName ${_name} - ${KF5Akonadi_DATA_DIR}/kcfg2dbus.xsl - ${_kcfg} - > ${CMAKE_CURRENT_BINARY_DIR}/${_name}.xml - DEPENDS ${KF5Akonadi_DATA_DIR}/kcfg2dbus.xsl - ${_kcfg} - ) - endmacro() -endif() -