Commit 96b61205 authored by Laurent Montel's avatar Laurent Montel 😁
Browse files

Start to create a libkdepimakonadi

parent 5af4b993
cmake_minimum_required(VERSION 3.0)
set(PIM_VERSION "5.4.40")
set(PIM_VERSION "5.4.41")
project(libkdepim VERSION ${PIM_VERSION})
......@@ -25,7 +25,6 @@ include(ECMCoverageOption)
set(LIBKDEPIM_LIB_VERSION ${PIM_VERSION})
set(AKONADICONTACT_LIB_VERSION "5.4.40")
set(QT_REQUIRED_VERSION "5.6.0")
set(KMIME_LIB_VERSION "5.4.40")
set(KLDAP_LIB_VERSION "5.4.40")
set(KCONTACTS_LIB_VERSION "5.4.40")
set(AKONADISEARCH_LIB_VERSION "5.4.40")
......@@ -51,7 +50,6 @@ find_package(KF5Akonadi ${AKONADI_VERSION} CONFIG REQUIRED)
find_package(KF5AkonadiContact ${AKONADICONTACT_LIB_VERSION} CONFIG REQUIRED)
find_package(KF5Contacts ${KCONTACTS_LIB_VERSION} CONFIG REQUIRED)
find_package(KF5Ldap ${KLDAP_LIB_VERSION} CONFIG REQUIRED)
find_package(KF5Mime ${KMIME_LIB_VERSION} CONFIG REQUIRED)
find_package(KF5AkonadiSearch ${AKONADISEARCH_LIB_VERSION} CONFIG REQUIRED)
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")
......
add_definitions( -DQT_NO_CAST_FROM_ASCII )
add_definitions( -DQT_NO_CAST_TO_ASCII )
if(BUILD_TESTING)
add_subdirectory(addressline/blacklistbaloocompletion/autotests)
add_subdirectory(addressline/autotests/)
endif()
add_subdirectory(pics)
add_definitions(-DTRANSLATION_DOMAIN=\"libkdepim\")
########### next target ###############
set(kdepim_progresswidget_LIB_SRCS
progresswidget/progressmanager.cpp
progresswidget/progressmanager_akonadiagent.cpp
progresswidget/agentprogressmonitor.cpp
progresswidget/progressdialog.cpp
progresswidget/statusbarprogresswidget.cpp
progresswidget/ssllabel.cpp
progresswidget/progressstatusbarwidget.cpp
)
set(kdepim_job_LIB_SRCS
job/addemailaddressjob.cpp
job/addcontactjob.cpp
job/openemailaddressjob.cpp
job/addemaildisplayjob.cpp
job/collectionsearchjob.cpp
job/personsearchjob.cpp
)
set(kdepim_widgets_LIB_SRCS
widgets/customlogwidget.cpp
widgets/kdatepickerpopup.cpp
widgets/kcheckcombobox.cpp
widgets/kweekdaycheckcombo.cpp
widgets/kwidgetlister.cpp
widgets/pimmessagebox.cpp
widgets/overlaywidget.cpp
widgets/tagwidgets.cpp
widgets/progressindicatorlabel.cpp
widgets/progressindicatorwidget.cpp
widgets/tagselectioncombo.cpp
)
set(kdepim_ldap_LIB_SRCS
ldap/addhostdialog.cpp
ldap/ldapclient.cpp
ldap/ldapsearchdialog.cpp
ldap/ldapclientsearch.cpp
ldap/ldapclientsearchconfig.cpp
ldap/addhostdialog.cpp
)
ecm_qt_declare_logging_category(kdepim_ldap_LIB_SRCS HEADER ldapclient_debug.h IDENTIFIER LDAPCLIENT_LOG CATEGORY_NAME org.kde.pim.ldapclient)
set(kdepim_misc_LIB_SRCS
misc/broadcaststatus.cpp
misc/emailvalidator.cpp
misc/maillistdrag.cpp
misc/uistatesaver.cpp
)
set(kdepim_addressline_LIB_SRCS
addressline/completionorder/completionordereditor.cpp
addressline/completionorder/completionorderwidget.cpp
addressline/addresslineedit/addresseelineedit.cpp
addressline/addresslineedit/addresseelineedit_p.cpp
addressline/addresslineedit/addresseelineeditstatic.cpp
addressline/addresslineedit/kmailcompletion.cpp
addressline/addresslineedit/baloocompletionemail.cpp
addressline/completionconfiguredialog/completionconfiguredialog.cpp
addressline/recentaddress/recentaddressdialog.cpp
addressline/recentaddress/recentaddresswidget.cpp
addressline/recentaddress/recentaddresses.cpp
addressline/addresslineedit/addresseelineeditutil.cpp
)
set(kdepim_addressline_blacklist_baloo_LIB_SRCS
addressline/blacklistbaloocompletion/blacklistbalooemailcompletiondialog.cpp
addressline/blacklistbaloocompletion/blacklistbalooemaillist.cpp
addressline/blacklistbaloocompletion/blacklistbalooemailsearchjob.cpp
addressline/blacklistbaloocompletion/blacklistbalooemailutil.cpp
addressline/blacklistbaloocompletion/blacklistbalooemailcompletionwidget.cpp
addressline/blacklistbaloocompletion/blacklistbalooemailwarning.cpp
)
set(kdepim_multiplyingline_LIB_SRCS
multiplyingline/multiplyingline.cpp
multiplyingline/multiplyinglineeditor.cpp
multiplyingline/multiplyinglineview_p.cpp
)
set(kdepim_LIB_SRCS
${kdepim_addressline_blacklist_baloo_LIB_SRCS}
${kdepim_progresswidget_LIB_SRCS}
${kdepim_job_LIB_SRCS}
${kdepim_widgets_LIB_SRCS}
${kdepim_ldap_LIB_SRCS}
${kdepim_misc_LIB_SRCS}
${kdepim_addressline_LIB_SRCS}
${kdepim_multiplyingline_LIB_SRCS}
prefs/kprefsdialog.cpp
)
ecm_qt_declare_logging_category(kdepim_LIB_SRCS HEADER libkdepim_debug.h IDENTIFIER LIBKDEPIM_LOG CATEGORY_NAME org.kde.pim.libkdepim)
add_library(KF5Libkdepim ${kdepim_LIB_SRCS})
generate_export_header(KF5Libkdepim BASE_NAME kdepim)
add_library(KF5::Libkdepim ALIAS KF5Libkdepim)
target_include_directories(KF5Libkdepim INTERFACE "$<INSTALL_INTERFACE:${KDE_INSTALL_INCLUDEDIR_KF5}/Libkdepim/;${KDE_INSTALL_INCLUDEDIR_KF5}/libkdepim>")
target_include_directories(KF5Libkdepim PUBLIC "$<BUILD_INTERFACE:${libkdepim_SOURCE_DIR}/src;${libkdepim_BINARY_DIR}/src;>")
target_link_libraries(KF5Libkdepim
PUBLIC
KF5::AkonadiCore
KF5::AkonadiContact
PRIVATE
KF5::AkonadiWidgets
KF5::Ldap
KF5::Contacts
KF5::Codecs
KF5::Completion
KF5::I18n
KF5::KCMUtils
KF5::Wallet
KF5::ItemViews
KF5::AkonadiSearchPIM
KF5::IconThemes
KF5::KIOCore
KF5::KIOWidgets
Qt5::DBus
Qt5::Network
)
if(MINGW)
target_link_libraries(KF5Libkdepim oleaut32)
endif()
set_target_properties(KF5Libkdepim PROPERTIES
VERSION ${LIBKDEPIM_VERSION_STRING}
SOVERSION ${LIBKDEPIM_SOVERSION}
EXPORT_NAME Libkdepim
)
install(TARGETS
KF5Libkdepim
EXPORT KF5LibkdepimTargets ${KF5_INSTALL_TARGETS_DEFAULT_ARGS} ${LIBRARY_NAMELINK}
)
ecm_generate_headers(libkdepim_Camelcaseldap_HEADERS
HEADER_NAMES
LdapClientSearchConfig
LdapClientSearch
AddHostDialog
LdapSearchDialog
LdapClient
REQUIRED_HEADERS libkdepim_ldap_HEADERS
PREFIX Libkdepim
RELATIVE ldap
)
ecm_generate_headers(libkdepim_Camelcasewidgets_HEADERS
HEADER_NAMES
CustomLogWidget
KCheckComboBox
KDatePickerPopup
KWeekdayCheckCombo
KWidgetLister
OverlayWidget
PIMMessageBox
ProgressIndicatorLabel
ProgressIndicatorWidget
TagSelectionCombo
TagWidgets
REQUIRED_HEADERS libkdepim_widgets_HEADERS
PREFIX Libkdepim
RELATIVE widgets
)
ecm_generate_headers(libkdepim_Camelcasemisc_HEADERS
HEADER_NAMES
EmailValidator
BroadcastStatus
MaillistDrag
UiStateSaver
KCursorSaver
REQUIRED_HEADERS libkdepim_misc_HEADERS
PREFIX Libkdepim
RELATIVE misc
)
ecm_generate_headers(libkdepim_Camelcaseprogresswidget_HEADERS
HEADER_NAMES
ProgressStatusBarWidget
StatusbarProgressWidget
ProgressDialog
ProgressManager
REQUIRED_HEADERS libkdepim_progresswidget_HEADERS
PREFIX Libkdepim
RELATIVE progresswidget
)
ecm_generate_headers(libkdepim_Camelcasejob_HEADERS
HEADER_NAMES
AddContactJob
AddEmailAddressJob
AddEmailDisplayJob
CollectionSearchJob
OpenEmailAddressJob
PersonSearchJob
Person
REQUIRED_HEADERS libkdepim_job_HEADERS
PREFIX Libkdepim
RELATIVE job
)
ecm_generate_headers(libkdepim_Camelcasepref_HEADERS
HEADER_NAMES
KPrefsDialog
REQUIRED_HEADERS libkdepim_pref_HEADERS
PREFIX Libkdepim
RELATIVE prefs
)
ecm_generate_headers(libkdepim_Camelcasemultiline_HEADERS
HEADER_NAMES
MultiplyingLine
MultiplyingLineEditor
REQUIRED_HEADERS libkdepim_multiline_HEADERS
PREFIX Libkdepim
RELATIVE multiplyingline
)
ecm_generate_headers(libkdepim_Camelcaseaddressline_HEADERS
HEADER_NAMES
AddresseeLineEdit
REQUIRED_HEADERS libkdepim_addressline_HEADERS
PREFIX Libkdepim
RELATIVE addressline/addresslineedit/
)
ecm_generate_headers(libkdepim_Camelcaserecentaddress_HEADERS
HEADER_NAMES
RecentAddresses
REQUIRED_HEADERS libkdepim_recentaddress_HEADERS
PREFIX Libkdepim
RELATIVE addressline/recentaddress/
)
ecm_generate_headers(libkdepim_Camelcasecompletionorder_HEADERS
HEADER_NAMES
CompletionOrderEditor
REQUIRED_HEADERS libkdepim_completionorder_HEADERS
PREFIX Libkdepim
RELATIVE addressline/completionorder
)
ecm_generate_headers(libkdepim_Camelcasecompletionconfiguredialog_HEADERS
HEADER_NAMES
CompletionConfigureDialog
REQUIRED_HEADERS libkdepim_completionconfiguredialog_HEADERS
PREFIX Libkdepim
RELATIVE addressline/completionconfiguredialog/
)
ecm_generate_headers(libkdepim_Camelcaseblacklistbaloocompletion_HEADERS
HEADER_NAMES
BlackListBalooEmailCompletionDialog
REQUIRED_HEADERS libkdepim_blacklistbaloocompletion_HEADERS
PREFIX Libkdepim
RELATIVE addressline/blacklistbaloocompletion/
)
ecm_generate_pri_file(BASE_NAME Libkdepim
LIB_NAME KF5Libkdepim
DEPS "AkonadiCore AkonadiContact" FILENAME_VAR PRI_FILENAME INCLUDE_INSTALL_DIR ${KDE_INSTALL_INCLUDEDIR_KF5}/Libkdepim
)
install(FILES
${libkdepim_Camelcaseblacklistbaloocompletion_HEADERS}
${libkdepim_Camelcasecompletionconfiguredialog_HEADERS}
${libkdepim_Camelcasecompletionorder_HEADERS}
${libkdepim_CamelcaseCamelCase_HEADERS}
${libkdepim_Camelcaseldap_HEADERS}
${libkdepim_Camelcasewidgets_HEADERS}
${libkdepim_Camelcaseprogresswidget_HEADERS}
${libkdepim_Camelcasemisc_HEADERS}
${libkdepim_Camelcasejob_HEADERS}
${libkdepim_Camelcasepref_HEADERS}
${libkdepim_Camelcasemultiline_HEADERS}
${libkdepim_Camelcaseaddressline_HEADERS}
${libkdepim_Camelcaserecentaddress_HEADERS}
DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF5}/Libkdepim
COMPONENT Devel
)
install(FILES
${libkdepim_blacklistbaloocompletion_HEADERS}
${libkdepim_completionconfiguredialog_HEADERS}
${libkdepim_completionorder_HEADERS}
${CMAKE_CURRENT_BINARY_DIR}/kdepim_export.h
${libkdepim_CamelCase_HEADERS}
${libkdepim_ldap_HEADERS}
${libkdepim_progresswidget_HEADERS}
${libkdepim_misc_HEADERS}
${libkdepim_widgets_HEADERS}
${libkdepim_job_HEADERS}
${libkdepim_pref_HEADERS}
${libkdepim_multiline_HEADERS}
${libkdepim_addressline_HEADERS}
${libkdepim_recentaddress_HEADERS}
DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF5}/libkdepim
COMPONENT Devel
)
install(FILES
${PRI_FILENAME}
DESTINATION ${ECM_MKSPECS_INSTALL_DIR})
add_subdirectory(designer)
########### next target ###############
set( kcm_ldap_SRCS
ldap/kcmldap.cpp
)
add_library(kcm_ldap MODULE ${kcm_ldap_SRCS})
target_link_libraries(kcm_ldap KF5::Libkdepim KF5::IconThemes KF5::KCMUtils KF5::I18n KF5::Ldap Qt5::Core)
kcoreaddons_desktop_to_json(kcm_ldap ldap/kcmldap.desktop DEFAULT_SERVICE_TYPE)
install(TARGETS kcm_ldap DESTINATION ${KDE_INSTALL_PLUGINDIR})
install(FILES ldap/kcmldap.desktop DESTINATION ${KDE_INSTALL_KSERVICES5DIR})
########### install files ###############
install(FILES interfaces/org.kde.addressbook.service.xml interfaces/org.kde.mailtransport.service.xml DESTINATION ${KDE_INSTALL_DBUSINTERFACEDIR})
add_subdirectory(libkdepim)
add_subdirectory(libkdepimakonadi)
add_definitions( -DQT_NO_CAST_FROM_ASCII )
add_definitions( -DQT_NO_CAST_TO_ASCII )
if(BUILD_TESTING)
add_subdirectory(addressline/blacklistbaloocompletion/autotests)
add_subdirectory(addressline/autotests/)
endif()
add_subdirectory(pics)
add_definitions(-DTRANSLATION_DOMAIN=\"libkdepim\")
########### next target ###############
set(kdepim_progresswidget_LIB_SRCS
progresswidget/progressmanager.cpp
progresswidget/progressmanager_akonadiagent.cpp
progresswidget/agentprogressmonitor.cpp
progresswidget/progressdialog.cpp
progresswidget/statusbarprogresswidget.cpp
progresswidget/ssllabel.cpp
progresswidget/progressstatusbarwidget.cpp
)
set(kdepim_job_LIB_SRCS
job/addemailaddressjob.cpp
job/addcontactjob.cpp
job/openemailaddressjob.cpp
job/addemaildisplayjob.cpp
job/collectionsearchjob.cpp
job/personsearchjob.cpp
)
set(kdepim_widgets_LIB_SRCS
widgets/customlogwidget.cpp
widgets/kdatepickerpopup.cpp
widgets/kcheckcombobox.cpp
widgets/kweekdaycheckcombo.cpp
widgets/kwidgetlister.cpp
widgets/pimmessagebox.cpp
widgets/overlaywidget.cpp
widgets/tagwidgets.cpp
widgets/progressindicatorlabel.cpp
widgets/progressindicatorwidget.cpp
widgets/tagselectioncombo.cpp
)
set(kdepim_ldap_LIB_SRCS
ldap/addhostdialog.cpp
ldap/ldapclient.cpp
ldap/ldapsearchdialog.cpp
ldap/ldapclientsearch.cpp
ldap/ldapclientsearchconfig.cpp
ldap/addhostdialog.cpp
)
ecm_qt_declare_logging_category(kdepim_ldap_LIB_SRCS HEADER ldapclient_debug.h IDENTIFIER LDAPCLIENT_LOG CATEGORY_NAME org.kde.pim.ldapclient)
set(kdepim_misc_LIB_SRCS
misc/broadcaststatus.cpp
misc/emailvalidator.cpp
misc/maillistdrag.cpp
misc/uistatesaver.cpp
)
set(kdepim_addressline_LIB_SRCS
addressline/completionorder/completionordereditor.cpp
addressline/completionorder/completionorderwidget.cpp
addressline/addresslineedit/addresseelineedit.cpp
addressline/addresslineedit/addresseelineedit_p.cpp
addressline/addresslineedit/addresseelineeditstatic.cpp
addressline/addresslineedit/kmailcompletion.cpp
addressline/addresslineedit/baloocompletionemail.cpp
addressline/completionconfiguredialog/completionconfiguredialog.cpp
addressline/recentaddress/recentaddressdialog.cpp
addressline/recentaddress/recentaddresswidget.cpp
addressline/recentaddress/recentaddresses.cpp
addressline/addresslineedit/addresseelineeditutil.cpp
)
set(kdepim_addressline_blacklist_baloo_LIB_SRCS
addressline/blacklistbaloocompletion/blacklistbalooemailcompletiondialog.cpp
addressline/blacklistbaloocompletion/blacklistbalooemaillist.cpp
addressline/blacklistbaloocompletion/blacklistbalooemailsearchjob.cpp
addressline/blacklistbaloocompletion/blacklistbalooemailutil.cpp
addressline/blacklistbaloocompletion/blacklistbalooemailcompletionwidget.cpp
addressline/blacklistbaloocompletion/blacklistbalooemailwarning.cpp
)
set(kdepim_multiplyingline_LIB_SRCS
multiplyingline/multiplyingline.cpp
multiplyingline/multiplyinglineeditor.cpp
multiplyingline/multiplyinglineview_p.cpp
)
set(kdepim_LIB_SRCS
${kdepim_addressline_blacklist_baloo_LIB_SRCS}
${kdepim_progresswidget_LIB_SRCS}
${kdepim_job_LIB_SRCS}
${kdepim_widgets_LIB_SRCS}
${kdepim_ldap_LIB_SRCS}
${kdepim_misc_LIB_SRCS}
${kdepim_addressline_LIB_SRCS}
${kdepim_multiplyingline_LIB_SRCS}
prefs/kprefsdialog.cpp
)
ecm_qt_declare_logging_category(kdepim_LIB_SRCS HEADER libkdepim_debug.h IDENTIFIER LIBKDEPIM_LOG CATEGORY_NAME org.kde.pim.libkdepim)
add_library(KF5Libkdepim ${kdepim_LIB_SRCS})
generate_export_header(KF5Libkdepim BASE_NAME kdepim)
add_library(KF5::Libkdepim ALIAS KF5Libkdepim)
target_include_directories(KF5Libkdepim INTERFACE "$<INSTALL_INTERFACE:${KDE_INSTALL_INCLUDEDIR_KF5}/Libkdepim/;${KDE_INSTALL_INCLUDEDIR_KF5}/libkdepim>")
target_include_directories(KF5Libkdepim PUBLIC "$<BUILD_INTERFACE:${libkdepim_SOURCE_DIR}/src;${libkdepim_BINARY_DIR}/src;>")
target_link_libraries(KF5Libkdepim
PUBLIC
KF5::AkonadiCore
KF5::AkonadiContact
PRIVATE
KF5::AkonadiWidgets
KF5::Ldap
KF5::Contacts
KF5::Codecs
KF5::Completion
KF5::I18n
KF5::KCMUtils
KF5::Wallet
KF5::ItemViews
KF5::AkonadiSearchPIM
KF5::IconThemes
KF5::KIOCore
KF5::KIOWidgets
Qt5::DBus
Qt5::Network
)
if(MINGW)
target_link_libraries(KF5Libkdepim oleaut32)
endif()
set_target_properties(KF5Libkdepim PROPERTIES
VERSION ${LIBKDEPIM_VERSION_STRING}
SOVERSION ${LIBKDEPIM_SOVERSION}
EXPORT_NAME Libkdepim
)
install(TARGETS
KF5Libkdepim
EXPORT KF5LibkdepimTargets ${KF5_INSTALL_TARGETS_DEFAULT_ARGS} ${LIBRARY_NAMELINK}
)
ecm_generate_headers(libkdepim_Camelcaseldap_HEADERS
HEADER_NAMES
LdapClientSearchConfig
LdapClientSearch
AddHostDialog
LdapSearchDialog
LdapClient
REQUIRED_HEADERS libkdepim_ldap_HEADERS
PREFIX Libkdepim
RELATIVE ldap
)
ecm_generate_headers(libkdepim_Camelcasewidgets_HEADERS
HEADER_NAMES
CustomLogWidget
KCheckComboBox
KDatePickerPopup
KWeekdayCheckCombo
KWidgetLister
OverlayWidget
PIMMessageBox
ProgressIndicatorLabel
ProgressIndicatorWidget
TagSelectionCombo
TagWidgets
REQUIRED_HEADERS libkdepim_widgets_HEADERS
PREFIX Libkdepim
RELATIVE widgets
)
ecm_generate_headers(libkdepim_Camelcasemisc_HEADERS
HEADER_NAMES
EmailValidator
BroadcastStatus
MaillistDrag
UiStateSaver
KCursorSaver
REQUIRED_HEADERS libkdepim_misc_HEADERS
PREFIX Libkdepim
RELATIVE misc
)
ecm_generate_headers(libkdepim_Camelcaseprogresswidget_HEADERS
HEADER_NAMES
ProgressStatusBarWidget
StatusbarProgressWidget
ProgressDialog
ProgressManager
REQUIRED_HEADERS libkdepim_progresswidget_HEADERS
PREFIX Libkdepim
RELATIVE progresswidget
)
ecm_generate_headers(libkdepim_Camelcasejob_HEADERS
HEADER_NAMES
AddContactJob
AddEmailAddressJob
AddEmailDisplayJob
CollectionSearchJob
OpenEmailAddressJob
PersonSearchJob
Person
REQUIRED_HEADERS libkdepim_job_HEADERS
PREFIX Libkdepim
RELATIVE job
)
ecm_generate_headers(libkdepim_Camelcasepref_HEADERS
HEADER_NAMES
KPrefsDialog
REQUIRED_HEADERS libkdepim_pref_HEADERS
PREFIX Libkdepim
RELATIVE prefs
)
ecm_generate_headers(libkdepim_Camelcasemultiline_HEADERS
HEADER_NAMES
MultiplyingLine
MultiplyingLineEditor
REQUIRED_HEADERS libkdepim_multiline_HEADERS
PREFIX Libkdepim
RELATIVE multiplyingline
)
ecm_generate_headers(libkdepim_Camelcaseaddressline_HEADERS
HEADER_NAMES
AddresseeLineEdit
REQUIRED_HEADERS libkdepim_addressline_HEADERS
PREFIX Libkdepim
RELATIVE addressline/addresslineedit/
)
ecm_generate_headers(libkdepim_Camelcaserecentaddress_HEADERS
HEADER_NAMES
RecentAddresses
REQUIRED_HEADERS libkdepim_recentaddress_HEADERS
PREFIX Libkdepim
RELATIVE addressline/recentaddress/
)
ecm_generate_headers(libkdepim_Camelcasecompletionorder_HEADERS
HEADER_NAMES
CompletionOrderEditor
REQUIRED_HEADERS libkdepim_completionorder_HEADERS
PREFIX Libkdepim
RELATIVE addressline/completionorder
)
ecm_generate_headers(libkdepim_Camelcasecompletionconfiguredialog_HEADERS