CMakeLists.txt 5.12 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
project(resources)

find_package(ECM 0.0.12 CONFIG REQUIRED)
set(CMAKE_MODULE_PATH ${resources_SOURCE_DIR}/cmake ${ECM_MODULE_PATH})

include(GenerateExportHeader)
include(ECMGenerateHeaders)
include(ECMGeneratePriFile)
include(ECMPackageConfigHelpers)
include(ECMSetupVersion)
include(FeatureSummary)
include(KDEInstallDirs)
include(KDECMakeSettings)
include(KDEFrameworkCompilerSettings)

set(KF5_VERSION "4.98.0")
set(QT_REQUIRED_VERSION "5.2.0")

find_package(KF5Config ${KF5_VERSION} CONFIG REQUIRED)
find_package(KF5KDELibs4Support ${KF5_VERSION} CONFIG REQUIRED)
find_package(KF5Akonadi ${KF5_VERSION} CONFIG REQUIRED)
find_package(KF5CalendarCore ${KF5_VERSION} CONFIG REQUIRED)
find_package(KF5PimUtils ${KF5_VERSION} CONFIG REQUIRED)
find_package(KF5Abc ${KF5_VERSION} CONFIG REQUIRED)
Christophe Giboudeaux's avatar
Christophe Giboudeaux committed
25
find_package(KF5AkonadiMime ${KF5_VERSION} CONFIG REQUIRED)
Laurent Montel's avatar
Laurent Montel committed
26 27 28
find_package(KF5PimIdentities ${KF5_VERSION} CONFIG REQUIRED)
find_package(KF5MailTransport ${KF5_VERSION} CONFIG REQUIRED)

29 30 31 32

# 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.")
33

34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
find_package(AccountsQt 1.11 QUIET CONFIG)
set_package_properties(AccountsQt PROPERTIES DESCRIPTION "Qt bindings for accounts-sso" URL "https://code.google.com/p/accounts-sso/" TYPE OPTIONAL PURPOSE "Required to support AccountsQt in different resources")

find_package(SignOnQt 8.56 QUIET CONFIG)
set_package_properties(SignOnQt PROPERTIES DESCRIPTION "SignOn Qt bindings for accounts-sso" URL "https://code.google.com/p/accounts-sso/" TYPE OPTIONAL PURPOSE "Required to support SignOn in different resources")

# Libkolab
find_package(Libkolab 0.5 QUIET CONFIG)
set_package_properties(Libkolab PROPERTIES DESCRIPTION "libkolab" URL "http://mirror.kolabsys.com/pub/releases" TYPE OPTIONAL PURPOSE "The Kolab Format libraries are required to build the Kolab Groupware Resource")

# Libkolabxml
find_package(Libkolabxml 1.0 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")

# Libkgapi2
find_package(LibKGAPI2 1.9.81 QUIET CONFIG)
set_package_properties(LibKGAPI2 PROPERTIES DESCRIPTION "KDE-based library for accessing various Google services" URL "https://projects.kde.org/libkgapi" TYPE OPTIONAL PURPOSE "LibKGAPI is required to build Akonadi resources to access Google Contacts, Calendars and Tasks")

# Libkfbapi
find_package(LibKFbAPI 1.0 QUIET CONFIG)
set_package_properties(LibKFbAPI PROPERTIES DESCRIPTION "A library to access Facebook services" URL "http://projects.kde.org/libkfbapi" TYPE OPTIONAL PURPOSE "LibKFbAPI is required to build Akonadi resources to access Facebook's contacts, events, notes and posts" )

if(LibKGAPI2_FOUND OR LibKFbAPI_FOUND)
  find_package(QJSON)
  set_package_properties(QJSON PROPERTIES DESCRIPTION "Qt library for handling JSON data" URL "http://qjson.sourceforge.net/" TYPE REQUIRED PURPOSE "Required to build the Google and Facebook resources")
endif()

61 62 63 64 65 66
include_directories(
  ${kdepim-runtime_SOURCE_DIR}/libkdepim-copy
  ${CMAKE_CURRENT_SOURCE_DIR}/shared
  ${CMAKE_CURRENT_BINARY_DIR}/shared
)

67 68


Laurent Montel's avatar
Laurent Montel committed
69 70 71
#add_definitions( -DQT_NO_CAST_FROM_ASCII )
#add_definitions( -DQT_NO_CAST_TO_ASCII )

72
set( AKONADI_SINGLEFILERESOURCE_SHARED_SOURCES
73
  ${CMAKE_CURRENT_SOURCE_DIR}/shared/singlefileresourcebase.cpp
74 75 76
  ${CMAKE_CURRENT_SOURCE_DIR}/shared/singlefileresourceconfigdialogbase.cpp
)

77
if (KDEPIM_MOBILE_UI)
78
set( AKONADI_SINGLEFILERESOURCE_SHARED_UI
79
  ${CMAKE_CURRENT_SOURCE_DIR}/shared/singlefileresourceconfigdialog_mobile.ui
David Jarvie's avatar
David Jarvie committed
80
  ${CMAKE_CURRENT_SOURCE_DIR}/shared/singlefileresourceconfigdialog.ui
81
)
82
else ()
83
set( AKONADI_SINGLEFILERESOURCE_SHARED_UI
84
  ${CMAKE_CURRENT_SOURCE_DIR}/shared/singlefileresourceconfigdialog_desktop.ui
David Jarvie's avatar
David Jarvie committed
85
  ${CMAKE_CURRENT_SOURCE_DIR}/shared/singlefileresourceconfigdialog.ui
86
)
87
endif ()
88

89
set( AKONADI_COLLECTIONATTRIBUTES_SHARED_SOURCES
90
  ${CMAKE_CURRENT_SOURCE_DIR}/shared/collectionannotationsattribute.cpp
91
  ${CMAKE_CURRENT_SOURCE_DIR}/shared/collectionflagsattribute.cpp
92 93
)

94 95
set( AKONADI_IMAPATTRIBUTES_SHARED_SOURCES
  ${CMAKE_CURRENT_SOURCE_DIR}/shared/imapaclattribute.cpp
96
  ${CMAKE_CURRENT_SOURCE_DIR}/shared/imapquotaattribute.cpp
97 98
)

99 100 101
#add_subdirectory( akonotes )
#add_subdirectory( kalarm )
#add_subdirectory( contacts )
Laurent Montel's avatar
Laurent Montel committed
102 103
add_subdirectory( dav )
#add_subdirectory( ical )
Laurent Montel's avatar
Laurent Montel committed
104
#add_subdirectory( imap )
Laurent Montel's avatar
Laurent Montel committed
105
add_subdirectory( kdeaccounts )
106
#if (Libkolab_FOUND AND Libkolabxml_FOUND)
107
#    add_subdirectory( kolabproxy )
108
#endif()
Christophe Giboudeaux's avatar
Christophe Giboudeaux committed
109

110
add_subdirectory( localbookmarks )
Laurent Montel's avatar
Laurent Montel committed
111

112
#add_subdirectory( maildir )
Laurent Montel's avatar
Laurent Montel committed
113

114
#add_subdirectory( openxchange )
Laurent Montel's avatar
Laurent Montel committed
115
add_subdirectory( pop3 )
116

117 118 119
#if( LibKGAPI2_FOUND )
#  add_subdirectory( google )
#endif()
120

121 122 123 124
#if( LibKFbAPI_FOUND )
#  add_subdirectory( facebook )
#endif()

Laurent Montel's avatar
Laurent Montel committed
125
add_subdirectory( shared )
126
add_subdirectory( birthdays )
127
#add_subdirectory( mixedmaildir )
Laurent Montel's avatar
Laurent Montel committed
128
add_subdirectory( mailtransport_dummy )
129
#add_subdirectory( mbox )
Laurent Montel's avatar
Laurent Montel committed
130
add_subdirectory( nntp )
Laurent Montel's avatar
Laurent Montel committed
131 132
add_subdirectory( vcarddir )
add_subdirectory( icaldir )
133
#add_subdirectory( vcard )
Laurent Montel's avatar
Laurent Montel committed
134
add_subdirectory( folderarchivesettings )
Martin Klapetek's avatar
Martin Klapetek committed
135