3 if(${CMAKE_SOURCE_DIR} STREQUAL ${korganizer_SOURCE_DIR})
4 cmake_minimum_required(VERSION 3.1)
6 cmake_policy(SET CMP0063 NEW)
8 set(KF5_VERSION "5.23.0")
9 find_package(ECM ${KF5_VERSION} REQUIRED NO_MODULE)
10 set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH})
11 include(ECMOptionalAddSubdirectory)
12 include(ECMInstallIcons)
13 include(ECMSetupVersion)
15 include(ECMMarkNonGuiExecutable)
16 include(GenerateExportHeader)
17 include(ECMGenerateHeaders)
18 include(CMakePackageConfigHelpers)
19 include(FeatureSummary)
20 include(CheckFunctionExists)
21 include(ECMGeneratePriFile)
23 include(KDEInstallDirs)
24 include(KDECMakeSettings)
25 include(KDECompilerSettings NO_POLICY_SCOPE)
26 include(ECMAddAppIcon)
27 include(ECMQtDeclareLoggingCategory)
30 set(KDEPIM_DEV_VERSION )
33 if(DEFINED KDEPIM_DEV_VERSION)
34 set(KDEPIM_DEV_VERSION " ${KDEPIM_DEV_VERSION}")
37 set(KDEPIM_VERSION_NUMBER "5.3.0")
38 set(KDEPIM_VERSION "${KDEPIM_VERSION_NUMBER}${KDEPIM_DEV_VERSION}")
41 set(AKONADI_MIMELIB_VERSION "5.3.0")
42 set(AKONADI_CONTACT_VERSION "5.3.0")
43 set(KCALENDARCORE_LIB_VERSION "5.3.0")
44 set(IDENTITYMANAGEMENT_LIB_VERSION "5.3.0")
45 set(KLDAP_LIB_VERSION "5.3.0")
46 set(KMAILTRANSPORT_LIB_VERSION "5.3.0")
47 set(CALENDARUTILS_LIB_VERSION "5.3.0")
48 set(KHOLIDAYS_LIB_VERSION "5.3.0")
49 set(AKONADICALENDAR_LIB_VERSION "5.3.0")
50 set(KONTACTINTERFACE_LIB_VERSION "5.3.0")
51 set(KMIME_LIB_VERSION "5.3.0")
52 set(KPIMTEXTEDIT_LIB_VERSION "5.3.0")
53 set(AKONADI_VERSION "5.3.0")
55 set(KDEPIM_LIB_VERSION "${KDEPIM_VERSION_NUMBER}")
56 set(KDEPIM_LIB_SOVERSION "5")
57 set(AKONADINOTES_LIB_VERSION "5.3.0")
59 set(QT_REQUIRED_VERSION "5.6.0")
60 option(KDEPIM_ENTERPRISE_BUILD "Enable features specific to the enterprise branch, which are normally disabled. Also, it disables many components not needed for Kontact such as the Kolab client." FALSE)
61 find_package(Qt5 ${QT_REQUIRED_VERSION} CONFIG REQUIRED Widgets Test UiTools)
62 find_package(Qt5X11Extras NO_MODULE)
63 #find_package(Grantlee5 "5.1" CONFIG REQUIRED)
64 set(MAILCOMMON_LIB_VERSION_LIB "5.3.0")
65 set(KDEPIM_APPS_LIB_VERSION_LIB "5.3.0")
66 set(PIMCOMMON_LIB_VERSION_LIB "5.3.0")
67 set(LIBKDEPIM_LIB_VERSION_LIB "5.3.0")
68 set(LIBINCIDENCEEDITOR_LIB_VERSION_LIB "5.3.0")
69 set(CALENDARSUPPORT_LIB_VERSION_LIB "5.3.0")
70 set(EVENTVIEW_LIB_VERSION_LIB "5.3.0")
71 set(KCONTACTS_LIB_VERSION "5.3.0")
73 find_package(KF5AkonadiSearch "5.3.0" CONFIG REQUIRED)
74 set_package_properties(KF5AkonadiSearch PROPERTIES DESCRIPTION "The Akonadi Search libraries" URL "http://www.kde.org" TYPE REQUIRED PURPOSE "Provides search capabilities in KMail and Akonadi")
77 find_package(KF5NewStuff ${KF5_VERSION} CONFIG REQUIRED)
78 find_package(KF5KCMUtils ${KF5_VERSION} CONFIG REQUIRED)
79 find_package(KF5Config ${KF5_VERSION} CONFIG REQUIRED)
80 find_package(KF5Service ${KF5_VERSION} CONFIG REQUIRED)
81 find_package(KF5DBusAddons ${KF5_VERSION} CONFIG REQUIRED)
82 find_package(KF5DocTools ${KF5_VERSION} REQUIRED)
83 find_package(KF5Codecs ${KF5_VERSION} CONFIG REQUIRED)
84 find_package(KF5Crash ${KF5_VERSION} REQUIRED)
86 # Find KdepimLibs Package
87 find_package(KF5PimTextEdit ${KPIMTEXTEDIT_LIB_VERSION} CONFIG REQUIRED)
88 find_package(KF5Akonadi ${AKONADI_VERSION} CONFIG REQUIRED)
89 find_package(KF5Contacts ${KCONTACTS_LIB_VERSION} CONFIG REQUIRED)
90 find_package(KF5CalendarCore ${KCALENDARCORE_LIB_VERSION} CONFIG REQUIRED)
91 find_package(KF5AkonadiContact ${AKONADI_CONTACT_VERSION} CONFIG REQUIRED)
92 find_package(KF5IdentityManagement ${IDENTITYMANAGEMENT_LIB_VERSION} CONFIG REQUIRED)
93 find_package(KF5MailTransport ${KMAILTRANSPORT_LIB_VERSION} CONFIG REQUIRED)
94 find_package(KF5AkonadiMime ${AKONADI_MIMELIB_VERSION} CONFIG REQUIRED)
95 find_package(KF5CalendarUtils ${CALENDARUTILS_LIB_VERSION} CONFIG REQUIRED)
96 find_package(KF5Holidays ${KHOLIDAYS_LIB_VERSION} CONFIG REQUIRED)
97 find_package(KF5Ldap ${KLDAP_LIB_VERSION} CONFIG REQUIRED)
98 find_package(KF5AkonadiCalendar ${AKONADICALENDAR_LIB_VERSION} CONFIG REQUIRED)
99 find_package(Phonon4Qt5 CONFIG REQUIRED)
101 find_package(KF5KontactInterface ${KONTACTINTERFACE_LIB_VERSION} CONFIG REQUIRED)
102 find_package(KF5Mime ${KMIME_LIB_VERSION} CONFIG REQUIRED)
103 find_package(KF5AkonadiNotes ${AKONADINOTES_LIB_VERSION} CONFIG REQUIRED)
105 find_package(KF5KdepimDBusInterfaces ${KDEPIM_APPS_LIB_VERSION_LIB} CONFIG REQUIRED)
106 find_package(KF5MailCommon ${MAILCOMMON_LIB_VERSION_LIB} CONFIG REQUIRED)
107 find_package(KF5PimCommon ${PIMCOMMON_LIB_VERSION_LIB} CONFIG REQUIRED)
108 find_package(KF5Libkdepim ${LIBKDEPIM_LIB_VERSION_LIB} CONFIG REQUIRED)
109 find_package(KF5IncidenceEditor ${LIBINCIDENCEEDITOR_LIB_VERSION_LIB} CONFIG REQUIRED)
110 find_package(KF5CalendarSupport ${CALENDARSUPPORT_LIB_VERSION_LIB} CONFIG REQUIRED)
111 find_package(KF5EventViews ${EVENTVIEW_LIB_VERSION_LIB} CONFIG REQUIRED)
115 find_package(Boost 1.34.0)
116 set_package_properties(Boost PROPERTIES DESCRIPTION "Boost C++ Libraries" URL "http://www.boost.org" TYPE REQUIRED PURPOSE "Boost is required for building most KDEPIM applications")
118 set(KDEPIM_HAVE_X11 ${X11_FOUND})
119 add_definitions(-DQT_NO_URL_CAST_FROM_STRING)
121 add_definitions(-DQT_USE_QSTRINGBUILDER)
122 configure_file(config-korganizer.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-korganizer.h )
123 configure_file(korgac/config-enterprise.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-enterprise.h )
124 include_directories(${korganizer_SOURCE_DIR} ${korganizer_BINARY_DIR} ${korgac_SOURCE_DIR} ${korgac_BINARY_DIR})
125 configure_file(korganizer-version.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/korganizer-version.h @ONLY)
127 add_definitions( -DQT_NO_CAST_FROM_ASCII )
128 add_definitions( -DQT_NO_CAST_TO_ASCII )
130 add_subdirectory(src)
131 add_subdirectory(korgac)
134 install( FILES korganizer.categories DESTINATION ${KDE_INSTALL_CONFDIR} )
136 if ("${CMAKE_BINARY_DIR}" STREQUAL "${CMAKE_CURRENT_BINARY_DIR}")
137 feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES)