CMakeLists.txt 5.68 KB
Newer Older
Laurent Montel's avatar
Laurent Montel committed
1 2
project(korganizer)

Laurent Montel's avatar
Laurent Montel committed
3 4 5
cmake_minimum_required(VERSION 3.1)
if (POLICY CMP0063)
    cmake_policy(SET CMP0063 NEW)
Laurent Montel's avatar
Laurent Montel committed
6
endif()
Laurent Montel's avatar
Laurent Montel committed
7
set(KF5_VERSION "5.31.0")
Laurent Montel's avatar
Laurent Montel committed
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
find_package(ECM ${KF5_VERSION} REQUIRED NO_MODULE)
set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH})
include(ECMOptionalAddSubdirectory)
include(ECMInstallIcons)
include(ECMSetupVersion)
include(ECMAddTests)
include(ECMMarkNonGuiExecutable)
include(GenerateExportHeader)
include(ECMGenerateHeaders)
include(CMakePackageConfigHelpers)
include(FeatureSummary)
include(CheckFunctionExists)
include(ECMGeneratePriFile)

include(KDEInstallDirs)
include(KDECMakeSettings)
include(KDECompilerSettings NO_POLICY_SCOPE)
include(ECMAddAppIcon)
include(ECMQtDeclareLoggingCategory)
Laurent Montel's avatar
Laurent Montel committed
27
include(ECMCoverageOption)
Laurent Montel's avatar
Laurent Montel committed
28
# Do NOT add quote
Laurent Montel's avatar
Laurent Montel committed
29
set(KDEPIM_DEV_VERSION alpha1)
Laurent Montel's avatar
Laurent Montel committed
30 31 32 33 34 35

# add an extra space
if(DEFINED KDEPIM_DEV_VERSION)
    set(KDEPIM_DEV_VERSION " ${KDEPIM_DEV_VERSION}")
endif()

36
set(KDEPIM_VERSION_NUMBER "5.4.40")
Laurent Montel's avatar
Laurent Montel committed
37 38 39
set(KDEPIM_VERSION "${KDEPIM_VERSION_NUMBER}${KDEPIM_DEV_VERSION}")


40 41 42 43 44
set(AKONADI_MIMELIB_VERSION "5.4.40")
set(AKONADI_CONTACT_VERSION "5.4.40")
set(KCALENDARCORE_LIB_VERSION "5.4.40")
set(IDENTITYMANAGEMENT_LIB_VERSION "5.4.40")
set(KLDAP_LIB_VERSION "5.4.40")
Laurent Montel's avatar
Laurent Montel committed
45
set(KMAILTRANSPORT_LIB_VERSION "5.4.46")
46 47 48 49 50
set(CALENDARUTILS_LIB_VERSION "5.4.40")
set(KHOLIDAYS_LIB_VERSION "5.4.40")
set(AKONADICALENDAR_LIB_VERSION "5.4.40")
set(KONTACTINTERFACE_LIB_VERSION "5.4.40")
set(KMIME_LIB_VERSION "5.4.40")
Laurent Montel's avatar
Laurent Montel committed
51
set(KPIMTEXTEDIT_LIB_VERSION "5.4.43")
52
set(AKONADI_VERSION "5.4.40")
Laurent Montel's avatar
Laurent Montel committed
53 54 55

set(KDEPIM_LIB_VERSION "${KDEPIM_VERSION_NUMBER}")
set(KDEPIM_LIB_SOVERSION "5")
56
set(AKONADINOTES_LIB_VERSION "5.4.40")
Laurent Montel's avatar
Laurent Montel committed
57 58 59 60 61

set(QT_REQUIRED_VERSION "5.6.0")
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)
find_package(Qt5 ${QT_REQUIRED_VERSION} CONFIG REQUIRED Widgets Test UiTools)
find_package(Qt5X11Extras NO_MODULE)
62 63
set(MAILCOMMON_LIB_VERSION_LIB "5.4.40")
set(KDEPIM_APPS_LIB_VERSION_LIB "5.4.40")
Laurent Montel's avatar
Laurent Montel committed
64
set(PIMCOMMON_LIB_VERSION_LIB "5.4.48")
Laurent Montel's avatar
Laurent Montel committed
65
set(LIBKDEPIM_LIB_VERSION_LIB "5.4.42")
66 67 68 69
set(LIBINCIDENCEEDITOR_LIB_VERSION_LIB "5.4.40")
set(CALENDARSUPPORT_LIB_VERSION_LIB "5.4.40")
set(EVENTVIEW_LIB_VERSION_LIB "5.4.40")
set(KCONTACTS_LIB_VERSION "5.4.40")
Laurent Montel's avatar
Laurent Montel committed
70

71
find_package(KF5AkonadiSearch "5.4.40" CONFIG REQUIRED)
Laurent Montel's avatar
Laurent Montel committed
72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104
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")

# Find KF5 package
find_package(KF5NewStuff ${KF5_VERSION} CONFIG REQUIRED)
find_package(KF5KCMUtils ${KF5_VERSION} CONFIG REQUIRED)
find_package(KF5Config ${KF5_VERSION} CONFIG REQUIRED)
find_package(KF5Service ${KF5_VERSION} CONFIG REQUIRED)
find_package(KF5DBusAddons ${KF5_VERSION} CONFIG REQUIRED)
find_package(KF5DocTools ${KF5_VERSION} REQUIRED)
find_package(KF5Codecs ${KF5_VERSION} CONFIG REQUIRED)
find_package(KF5Crash ${KF5_VERSION} REQUIRED)

# Find KdepimLibs Package
find_package(KF5PimTextEdit ${KPIMTEXTEDIT_LIB_VERSION} CONFIG REQUIRED)
find_package(KF5Akonadi ${AKONADI_VERSION} CONFIG REQUIRED)
find_package(KF5Contacts ${KCONTACTS_LIB_VERSION} CONFIG REQUIRED)
find_package(KF5CalendarCore ${KCALENDARCORE_LIB_VERSION} CONFIG REQUIRED)
find_package(KF5AkonadiContact ${AKONADI_CONTACT_VERSION} CONFIG REQUIRED)
find_package(KF5IdentityManagement ${IDENTITYMANAGEMENT_LIB_VERSION} CONFIG REQUIRED)
find_package(KF5MailTransport ${KMAILTRANSPORT_LIB_VERSION} CONFIG REQUIRED)
find_package(KF5AkonadiMime ${AKONADI_MIMELIB_VERSION} CONFIG REQUIRED)
find_package(KF5CalendarUtils ${CALENDARUTILS_LIB_VERSION} CONFIG REQUIRED)
find_package(KF5Holidays ${KHOLIDAYS_LIB_VERSION} CONFIG REQUIRED)
find_package(KF5Ldap ${KLDAP_LIB_VERSION} CONFIG REQUIRED)
find_package(KF5AkonadiCalendar ${AKONADICALENDAR_LIB_VERSION} CONFIG REQUIRED)
find_package(Phonon4Qt5 CONFIG REQUIRED)

find_package(KF5KontactInterface ${KONTACTINTERFACE_LIB_VERSION} CONFIG REQUIRED)
find_package(KF5Mime ${KMIME_LIB_VERSION} CONFIG REQUIRED)
find_package(KF5AkonadiNotes ${AKONADINOTES_LIB_VERSION} CONFIG REQUIRED)

find_package(KF5KdepimDBusInterfaces ${KDEPIM_APPS_LIB_VERSION_LIB} CONFIG REQUIRED)
find_package(KF5MailCommon ${MAILCOMMON_LIB_VERSION_LIB} CONFIG REQUIRED)
Laurent Montel's avatar
Laurent Montel committed
105
find_package(KF5PimCommonAkonadi ${PIMCOMMON_LIB_VERSION_LIB} CONFIG REQUIRED)
Laurent Montel's avatar
Laurent Montel committed
106 107 108 109 110 111 112 113 114 115 116
find_package(KF5Libkdepim ${LIBKDEPIM_LIB_VERSION_LIB} CONFIG REQUIRED)
find_package(KF5IncidenceEditor ${LIBINCIDENCEEDITOR_LIB_VERSION_LIB} CONFIG REQUIRED)
find_package(KF5CalendarSupport ${CALENDARSUPPORT_LIB_VERSION_LIB} CONFIG REQUIRED)
find_package(KF5EventViews ${EVENTVIEW_LIB_VERSION_LIB} CONFIG REQUIRED)
if (NOT APPLE)
    find_package(X11)
endif()
find_package(Boost 1.34.0)
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")

set(KDEPIM_HAVE_X11 ${X11_FOUND})
Laurent Montel's avatar
Laurent Montel committed
117
add_definitions(-DQT_NO_URL_CAST_FROM_STRING)
Laurent Montel's avatar
Laurent Montel committed
118
add_definitions(-DQT_USE_QSTRINGBUILDER)
Laurent Montel's avatar
Laurent Montel committed
119
configure_file(config-korganizer.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-korganizer.h )
Laurent Montel's avatar
Laurent Montel committed
120 121
configure_file(korgac/config-enterprise.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-enterprise.h )
include_directories(${korganizer_SOURCE_DIR} ${korganizer_BINARY_DIR} ${korgac_SOURCE_DIR} ${korgac_BINARY_DIR})
Laurent Montel's avatar
Laurent Montel committed
122
configure_file(korganizer-version.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/korganizer-version.h @ONLY)
Laurent Montel's avatar
Laurent Montel committed
123

Laurent Montel's avatar
Laurent Montel committed
124 125 126
add_definitions( -DQT_NO_CAST_FROM_ASCII )
add_definitions( -DQT_NO_CAST_TO_ASCII )

Laurent Montel's avatar
Laurent Montel committed
127
add_subdirectory(src)
Laurent Montel's avatar
Laurent Montel committed
128
add_subdirectory(korgac)
Laurent Montel's avatar
Laurent Montel committed
129

Laurent Montel's avatar
Laurent Montel committed
130

Laurent Montel's avatar
Laurent Montel committed
131
install( FILES korganizer.renamecategories korganizer.categories DESTINATION ${KDE_INSTALL_CONFDIR} )
Laurent Montel's avatar
Laurent Montel committed
132

Laurent Montel's avatar
Laurent Montel committed
133 134
add_subdirectory(doc)
feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES)