KDE PIM support for the p≡p engine
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

157 lines
6.9 KiB

10 months ago
10 months ago
4 weeks ago
4 weeks ago
10 months ago
10 months ago
4 weeks ago
10 months ago
4 weeks ago
10 months ago
  1. project(pEpForKDE)
  2. string( REPLACE "fno-exceptions" "fexceptions" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
  3. string( REPLACE "fno-exceptions" "fexceptions" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
  4. string( REGEX REPLACE "\\-DNDEBUG" "" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
  5. string( REGEX REPLACE "\\-DNDEBUG" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
  6. # setting the version of this viewer:
  7. set(PROJECT_VERSION_STRING "alpha")
  8. set(PEP_MESSAGEVIEWER_VERSION_STRING ${PROJECT_VERSION_STRING})
  9. set(PEP_MESSAGEVIEWER_SOVERSION 1)
  10. # now the dependencies:
  11. cmake_minimum_required(VERSION 3.5)
  12. set(CMAKE_INCLUDE_CURRENT_DIR ON)
  13. set(CMAKE_AUTOMOC ON)
  14. set(CMAKE_CXX_STANDARD 14)
  15. set(CMAKE_CXX_STANDARD_REQUIRED ON)
  16. set(CMAKE_CXX_EXTENSIONS OFF)
  17. set(CMAKE_VERBOSE_MAKEFILE ON)
  18. set(CMAKE_VISIBILITY_INLINES_HIDDEN OFF)
  19. set(CMAKE_CXX_FLAGS_RELEASE "-g -fpermissive -fexceptions")
  20. set(CMAKE_CXX_FLAGS_DEBUG "-g -fpermissive -fexceptions")
  21. set(PIM_VERSION "5.16.2")
  22. set(KF5_MIN_VERSION "5.75.0")
  23. set(MESSAGELIB_LIB_VERSION ${PIM_VERSION})
  24. set(AKONADIMIME_LIB_VERSION "5.16.2")
  25. set(QT_REQUIRED_VERSION "5.13.0")
  26. set(AKONADICONTACT_LIB_VERSION "5.16.2")
  27. set(AKONADI_VERSION "5.16.2")
  28. set(GRANTLEETHEME_LIB_VERSION "5.16.2")
  29. set(GRAVATAR_LIB_VERSION "5.16.2")
  30. set(IDENTITYMANAGEMENT_LIB_VERSION "5.16.2")
  31. set(KLDAP_LIB_VERSION "5.16.2")
  32. set(KMAILTRANSPORT_LIB_VERSION "5.16.2")
  33. set(KMBOX_LIB_VERSION "5.16.2")
  34. set(KMIME_LIB_VERSION "5.16.2")
  35. set(KPIMTEXTEDIT_LIB_VERSION "5.16.2")
  36. set(LIBKDEPIM_LIB_VERSION "5.16.2")
  37. set(LIBKLEO_LIB_VERSION "5.16.2")
  38. set(PIMCOMMON_LIB_VERSION "5.16.2")
  39. set(GPGME_LIB_VERSION "1.11.1")
  40. set(AKONADI_SEARCH_VERSION "5.16.2")
  41. set(ECM_VERSION ${KF5_MIN_VERSION})
  42. set(AKONADINOTES_LIB_VERSION "5.16.2")
  43. set(INCIDENCEEDITOR_LIB_VERSION "5.16.2")
  44. set(MAILCOMMON_LIB_VERSION "5.16.2")
  45. set(XSLTPROC_EXECUTABLE /usr/bin/xsltproc)
  46. find_package(ECM 1.0.0 REQUIRED NO_MODULE)
  47. set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
  48. include(KDEClangFormat)
  49. include(KDECompilerSettings)
  50. include(KDEFrameworkCompilerSettings)
  51. include(KDEGitCommitHooks)
  52. include(KDEInstallDirs)
  53. include(KDEPackageAppTemplates)
  54. include(ECMInstallIcons)
  55. include(ECMGenerateHeaders)
  56. include(ECMQtDeclareLoggingCategory)
  57. include(ECMGeneratePriFile)
  58. include(ECMAddAppIcon)
  59. include(GenerateExportHeader)
  60. include(FindPkgConfig)
  61. pkg_check_modules( dbus-c++-1 REQUIRED dbus-c++-1 )
  62. include_directories(${dbus-c++-1_INCLUDE_DIRS})
  63. include_directories(${PROJECT_SOURCE_DIR})
  64. find_package(KF5IncidenceEditor ${INCIDENCEEDITOR_LIB_VERSION} CONFIG REQUIRED)
  65. find_package(Qt5 ${QT_REQUIRED_VERSION} CONFIG REQUIRED Gui Test)
  66. find_package(KF5Codecs ${KF5_MIN_VERSION} CONFIG REQUIRED)
  67. find_package(KF5I18n ${KF5_MIN_VERSION} CONFIG REQUIRED)
  68. find_package(KF5Mime ${KMIME_LIB_VERSION} CONFIG REQUIRED)
  69. find_package(KF5NewStuff ${KF5_MIN_VERSION} CONFIG REQUIRED)
  70. find_package(QGpgme ${GPGME_LIB_VERSION} CONFIG REQUIRED)
  71. find_package(Qt5 ${QT_REQUIRED_VERSION} CONFIG REQUIRED Widgets Network PrintSupport WebEngine WebEngineWidgets)
  72. find_package(KF5Archive ${KF5_MIN_VERSION} CONFIG REQUIRED)
  73. find_package(KF5Completion ${KF5_MIN_VERSION} CONFIG REQUIRED)
  74. find_package(KF5Config ${KF5_MIN_VERSION} CONFIG REQUIRED)
  75. find_package(KF5ConfigWidgets ${KF5_MIN_VERSION} CONFIG REQUIRED)
  76. find_package(KF5IconThemes ${KF5_MIN_VERSION} CONFIG REQUIRED)
  77. find_package(KF5ItemViews ${KF5_MIN_VERSION} CONFIG REQUIRED)
  78. find_package(KF5JobWidgets ${KF5_MIN_VERSION} CONFIG REQUIRED)
  79. find_package(KF5KIO ${KF5_MIN_VERSION} CONFIG REQUIRED)
  80. find_package(KF5Service ${KF5_MIN_VERSION} CONFIG REQUIRED)
  81. find_package(KF5Sonnet ${KF5_MIN_VERSION} CONFIG REQUIRED)
  82. find_package(KF5TextWidgets ${KF5_MIN_VERSION} CONFIG REQUIRED)
  83. find_package(KF5WidgetsAddons ${KF5_MIN_VERSION} CONFIG REQUIRED)
  84. find_package(KF5XmlGui ${KF5_MIN_VERSION} CONFIG REQUIRED)
  85. find_package(KF5SyntaxHighlighting ${KF5_MIN_VERSION} CONFIG REQUIRED)
  86. find_package(KF5DBusAddons ${KF5_MIN_VERSION} CONFIG REQUIRED)
  87. find_package(KF5GuiAddons ${KF5_MIN_VERSION} CONFIG REQUIRED)
  88. find_package(KF5Notifications ${KF5_MIN_VERSION} CONFIG REQUIRED)
  89. find_package(KF5MessageCore ${AKONADIMIME_LIB_VERSION} CONFIG REQUIRED)
  90. find_package(KF5MimeTreeParser ${AKONADIMIME_LIB_VERSION} CONFIG REQUIRED)
  91. find_package(KF5WebEngineViewer ${AKONADIMIME_LIB_VERSION} CONFIG REQUIRED)
  92. find_package(Grantlee5 ${GRANTLEE_MIN_VERSION} CONFIG REQUIRED)
  93. find_package(KF5GrantleeTheme ${GRANTLEETHEME_LIB_VERSION} CONFIG REQUIRED)
  94. find_package(KF5Akonadi ${AKONADI_VERSION} CONFIG REQUIRED)
  95. find_package(KF5AkonadiMime ${AKONADIMIME_LIB_VERSION} CONFIG REQUIRED)
  96. find_package(KF5Contacts ${KF5_MIN_VERSION} CONFIG REQUIRED)
  97. find_package(KF5AkonadiContact ${AKONADICONTACT_LIB_VERSION} CONFIG REQUIRED)
  98. find_package(KF5Gravatar ${GRAVATAR_LIB_VERSION} CONFIG REQUIRED)
  99. find_package(KF5IdentityManagement ${IDENTITYMANAGEMENT_LIB_VERSION} CONFIG REQUIRED)
  100. find_package(KF5Ldap ${KLDAP_LIB_VERSION} CONFIG REQUIRED)
  101. find_package(KF5Libkleo ${LIBKLEO_LIB_VERSION} CONFIG REQUIRED)
  102. find_package(KF5MailTransportAkonadi ${KMAILTRANSPORT_LIB_VERSION} CONFIG REQUIRED)
  103. find_package(KF5MailCommon ${MAILCOMMON_LIB_VERSION} CONFIG REQUIRED)
  104. find_package(KF5Mbox ${KMBOX_LIB_VERSION} CONFIG REQUIRED)
  105. find_package(KF5PimCommonAkonadi ${PIMCOMMON_LIB_VERSION} CONFIG REQUIRED)
  106. find_package(KF5PimTextEdit ${KPIMTEXTEDIT_LIB_VERSION} CONFIG REQUIRED)
  107. find_package(KF5Libkdepim ${LIBKDEPIM_LIB_VERSION} CONFIG REQUIRED)
  108. find_package(KF5AkonadiSearch ${AKONADI_SEARCH_VERSION} CONFIG REQUIRED)
  109. find_package(KF5MessageViewer ${MESSAGELIB_LIB_VERSION} CONFIG REQUIRED)
  110. find_package(KF5AkonadiNotes ${AKONADINOTES_LIB_VERSION} CONFIG REQUIRED)
  111. find_package(KF5KontactInterface ${AKONADINOTES_LIB_VERSION} CONFIG REQUIRED)
  112. find_package(Inotify)
  113. find_package(Qca-qt5 2.2.0 CONFIG REQUIRED)
  114. find_package(Grantlee5 ${GRANTLEE_MIN_VERSION} CONFIG REQUIRED)
  115. find_package(Qt5 ${QT_REQUIRED_VERSION} CONFIG REQUIRED DBus Network Test Widgets WebEngine WebEngineWidgets)
  116. find_package(KF5NotifyConfig ${KF5_MIN_VERSION} CONFIG REQUIRED)
  117. find_package(KF5Crash ${KF5_MIN_VERSION} CONFIG REQUIRED)
  118. find_package(KF5MessageList ${MESSAGELIB_LIB_VERSION} CONFIG REQUIRED)
  119. find_package(KF5TemplateParser ${MESSAGELIB_LIB_VERSION} CONFIG REQUIRED)
  120. find_package(KF5LibKSieve ${LIBKSIEVE_LIB_VERSION} CONFIG REQUIRED)
  121. find_package(KF5KCMUtils ${KF5_MIN_VERSION} CONFIG REQUIRED)
  122. macro(pim_target_precompile_headers)
  123. if (USE_PRECOMPILED_HEADERS)
  124. set(COMPILE_WITH_CMAKE_PCH_SUPPORT ON)
  125. if (COMPILE_WITH_CMAKE_PCH_SUPPORT)
  126. target_precompile_headers(${ARGV})
  127. endif()
  128. endif()
  129. endmacro()
  130. pkg_check_modules (SEQUOIA sequoia)
  131. pkg_check_modules (SEQUOIA_OPENPGP sequoia-openpgp)
  132. add_subdirectory(icons)
  133. add_subdirectory(pEpDBusAdapter)
  134. include_directories(${PROJECT_BINARY_DIR}/pEpDBusAdapter)
  135. include_directories(${PROJECT_SOURCE_DIR}/pEpDBusAdapter)
  136. include_directories(${PROJECT_SOURCE_DIR}/pEpDBusAdapter/types)
  137. add_subdirectory(akonadi_pep_agent)
  138. add_subdirectory(messageviewerplugin)
  139. add_subdirectory(pepcomposer)
  140. add_subdirectory(pep_plugin)