CMakeLists.txt 4.2 KB
Newer Older
Laurent Montel's avatar
Laurent Montel committed
1
2
3
4
5
6
7
project(kmail-account-wizard)

cmake_minimum_required(VERSION 3.1)

set(LIBRARY_NAMELINK LIBRARY NAMELINK_SKIP)

# we need some parts of the ECM CMake helpers
Laurent Montel's avatar
Laurent Montel committed
8
set(KF5_VERSION "5.31.0")
Laurent Montel's avatar
Laurent Montel committed
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
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
28
include(ECMCoverageOption)
Laurent Montel's avatar
Laurent Montel committed
29
# Do NOT add quote
Laurent Montel's avatar
Laurent Montel committed
30
set(KDEPIM_DEV_VERSION alpha1)
Laurent Montel's avatar
Laurent Montel committed
31
32
33
34

# add an extra space
if(DEFINED KDEPIM_DEV_VERSION)
    set(KDEPIM_DEV_VERSION " ${KDEPIM_DEV_VERSION}")
Laurent Montel's avatar
Laurent Montel committed
35
endif()
Laurent Montel's avatar
Laurent Montel committed
36
37


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

41
42
43
set(AKONADI_MIMELIB_VERSION "5.4.40")
set(IDENTITYMANAGEMENT_LIB_VERSION "5.4.40")
set(KLDAP_LIB_VERSION "5.4.40")
44
set(KMAILTRANSPORT_LIB_VERSION "5.4.41")
45
set(AKONADI_VERSION "5.4.40")
Laurent Montel's avatar
Laurent Montel committed
46
set(KIMAP_LIB_VERSION "5.4.40")
Laurent Montel's avatar
Laurent Montel committed
47
set(AKONADI_MIMELIB_VERSION "5.4.41")
Laurent Montel's avatar
Laurent Montel committed
48
49
50
51
52
53

set(KDEPIM_LIB_VERSION "${KDEPIM_VERSION_NUMBER}")
set(KDEPIM_LIB_SOVERSION "5")

set(QT_REQUIRED_VERSION "5.6.0")
find_package(Qt5 ${QT_REQUIRED_VERSION} CONFIG REQUIRED Widgets Xml DBus Test)
Laurent Montel's avatar
Laurent Montel committed
54
set(PIMCOMMON_LIB_VERSION_LIB "5.4.48")
Laurent Montel's avatar
Laurent Montel committed
55
set(LIBKDEPIM_LIB_VERSION_LIB "5.4.46")
56
set(LIBKLEO_LIB_VERSION_LIB "5.4.40")
Laurent Montel's avatar
Laurent Montel committed
57
58
59
60
61
62
63
64
65
66
67
68

# Find KF5 package
find_package(KF5Wallet ${KF5_VERSION} CONFIG REQUIRED)
find_package(KF5KCMUtils ${KF5_VERSION} CONFIG REQUIRED)
find_package(KF5NotifyConfig ${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(KF5TextEditor ${KF5_VERSION} CONFIG REQUIRED)
find_package(KF5Codecs ${KF5_VERSION} CONFIG REQUIRED)
find_package(KF5Crash ${KF5_VERSION} REQUIRED)
69
70
find_package(KF5Notifications ${KF5_VERSION} CONFIG REQUIRED)

Laurent Montel's avatar
Laurent Montel committed
71
72
73
74
75
find_package(KF5Akonadi ${AKONADI_VERSION} CONFIG REQUIRED)
find_package(KF5IdentityManagement ${IDENTITYMANAGEMENT_LIB_VERSION} CONFIG REQUIRED)
find_package(KF5Ldap ${KLDAP_LIB_VERSION} CONFIG REQUIRED)
find_package(KF5MailTransport ${KMAILTRANSPORT_LIB_VERSION} CONFIG REQUIRED)
find_package(KF5PimCommon ${PIMCOMMON_LIB_VERSION_LIB} CONFIG REQUIRED)
Laurent Montel's avatar
Laurent Montel committed
76
find_package(KF5LibkdepimAkonadi ${LIBKDEPIM_LIB_VERSION_LIB} CONFIG REQUIRED)
Laurent Montel's avatar
Laurent Montel committed
77
find_package(KF5Libkleo ${LIBKLEO_LIB_VERSION_LIB} CONFIG REQUIRED)
Laurent Montel's avatar
Laurent Montel committed
78
find_package(KF5IMAP ${KIMAP_LIB_VERSION} CONFIG REQUIRED)
Laurent Montel's avatar
Laurent Montel committed
79
find_package(MailTransportDBusService CONFIG REQUIRED)
Laurent Montel's avatar
Laurent Montel committed
80
find_package(KF5AkonadiMime ${AKONADI_MIMELIB_VERSION} CONFIG REQUIRED)
Laurent Montel's avatar
Laurent Montel committed
81
82
83
84


include_directories(${kmail-account-wizard_SOURCE_DIR} ${kmail-account-wizard_BINARY_DIR})

Laurent Montel's avatar
Laurent Montel committed
85
add_definitions(-DQT_NO_URL_CAST_FROM_STRING)
Laurent Montel's avatar
Laurent Montel committed
86
add_definitions(-DQT_USE_QSTRINGBUILDER)
Laurent Montel's avatar
Laurent Montel committed
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113

# Qt5 package
find_package(Qt5UiTools ${QT_REQUIRED_VERSION} CONFIG REQUIRED)

find_package(KF5Kross ${KF5_VERSION} CONFIG REQUIRED)
find_package(KF5NewStuff ${KF5_VERSION} CONFIG REQUIRED)

set( SHARED_MIME_INFO_MINIMUM_VERSION "0.40" )
find_package( SharedMimeInfo REQUIRED )

add_definitions( -DQT_NO_CAST_FROM_ASCII )
add_definitions( -DQT_NO_CAST_TO_ASCII )

# allow to disable GHNS support on resource-constrained systems
option( ACCOUNTWIZARD_NO_GHNS "Disable GHNS support in the account wizard" FALSE )

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)

# config-enterprise.h is needed for both ENTERPRISE_BUILD and BUILD_EVERYTHING
configure_file(src/config-enterprise.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/src/config-enterprise.h )

if ( ACCOUNTWIZARD_NO_GHNS )
    add_definitions( -DACCOUNTWIZARD_NO_GHNS )
endif ()



Laurent Montel's avatar
Laurent Montel committed
114
add_subdirectory(src)
Laurent Montel's avatar
Laurent Montel committed
115
install( FILES accountwizard.renamecategories accountwizard.categories DESTINATION ${KDE_INSTALL_CONFDIR} )
Laurent Montel's avatar
Laurent Montel committed
116

Laurent Montel's avatar
Laurent Montel committed
117
feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES)