You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

486 lines
14 KiB

add_definitions(-DTRANSLATION_DOMAIN=\"libmailcommon\")
#add_definitions( -DQT_NO_CAST_FROM_ASCII )
#add_definitions( -DQT_NO_CAST_TO_ASCII )
set(libmailcommon_filter_SRCS
filter/kmfilteraccountlist.cpp
filter/kmfilterlistbox.cpp
filter/filterselectiondialog.cpp
filter/filterconverter/filterconverttosieve.cpp
filter/filterconverter/filterconverttosieveresultdialog.cpp
filter/filteractions/filteraction.cpp
filter/filteractions/filteractionaddheader.cpp
filter/filteractions/filteractionaddtag.cpp
filter/filteractions/filteractionaddtoaddressbook.cpp
filter/filteractions/filteractioncopy.cpp
filter/filteractions/filteractiondelete.cpp
filter/filteractions/filteractiondict.cpp
filter/filteractions/filteractionexec.cpp
filter/filteractions/filteractionforward.cpp
filter/filteractions/filteractionmove.cpp
filter/filteractions/filteractionpipethrough.cpp
filter/filteractions/filteractionplaysound.cpp
filter/filteractions/filteractionredirect.cpp
filter/filteractions/filteractionremoveheader.cpp
filter/filteractions/filteractionreplyto.cpp
filter/filteractions/filteractionrewriteheader.cpp
filter/filteractions/filteractionsendfakedisposition.cpp
filter/filteractions/filteractionsendreceipt.cpp
filter/filteractions/filteractionsetidentity.cpp
filter/filteractions/filteractionsetstatus.cpp
filter/filteractions/filteractionstatus.cpp
filter/filteractions/filteractionunsetstatus.cpp
filter/filteractions/filteractionsettransport.cpp
filter/filteractions/filteractionwidget.cpp
filter/filteractions/filteractionwithaddress.cpp
filter/filteractions/filteractionwithcommand.cpp
filter/filteractions/filteractionwithfolder.cpp
filter/filteractions/filteractionwithnone.cpp
filter/filteractions/filteractionwithstring.cpp
filter/filteractions/filteractionwithstringlist.cpp
filter/filteractions/filteractionwithtest.cpp
filter/filteractions/filteractionwithuoid.cpp
filter/filteractions/filteractionwithurl.cpp
filter/filterimporterexporter.cpp
filter/filterimporter/filterimporterabstract.cpp
filter/filterimporter/filterimporterevolution.cpp
filter/filterimporter/filterimportersylpheed.cpp
filter/filterimporter/filterimporterthunderbird.cpp
filter/filterimporter/filterimporterprocmail.cpp
filter/filterimporter/filterimporterbalsa.cpp
filter/filterimporter/filterimporterclawsmail.cpp
filter/filterimporter/filterimportergmail.cpp
filter/filterlog.cpp
filter/filtermanager.cpp
filter/itemcontext.cpp
filter/kmfilterdialog.cpp
filter/mailfilter.cpp
filter/mdnadvicedialog.cpp
)
set(libmailcommon_filter_dialog
filter/dialog/selectthunderbirdfilterfilesdialog.cpp
filter/dialog/selectthunderbirdfilterfileswidget.cpp
filter/dialog/filteractionmissingargumentdialog.cpp
filter/dialog/filteractionmissingsoundurldialog.cpp
filter/dialog/filteractionmissingtagdialog.cpp
filter/dialog/filteractionmissingaccountdialog.cpp
filter/dialog/filteractionmissingtemplatedialog.cpp
filter/dialog/filteractionmissingtransportdialog.cpp
filter/dialog/filteractionmissingidentitydialog.cpp
)
set(libmailcommon_invalidfilters
filter/invalidfilters/invalidfilterdialog.cpp
filter/invalidfilters/invalidfilterlistview.cpp
filter/invalidfilters/invalidfilterwidget.cpp
filter/invalidfilters/invalidfilterinfo.cpp
filter/invalidfilters/invalidfilterlistitemdelegate.cpp
filter/invalidfilters/invalidfilterlistmodel.cpp
filter/invalidfilters/invalidfilterinfowidget.cpp
)
set(libmailcommon_collection_SRCS
collectionpage/collectiontypeutil.cpp
collectionpage/attributeregistrar.cpp
collectionpage/attributes/collectionannotationsattribute.cpp
collectionpage/collectiongeneralpage.cpp
collectionpage/collectionexpirypage.cpp
collectionpage/attributes/expirecollectionattribute.cpp
collectionpage/incidencesforwidget.cpp
collectionpage/contenttypewidget.cpp
)
set(libmailcommon_folder_SRCS
folder/foldercollection.cpp
folder/foldercollectionmonitor.cpp
folder/folderrequester.cpp
folder/folderselectiondialog.cpp
folder/foldertreeview.cpp
folder/foldertreewidget.cpp
folder/foldertreewidgetproxymodel.cpp
folder/entitycollectionorderproxymodel.cpp
folder/accountconfigorderdialog.cpp
)
set(libmailcommon_job_SRCS
job/jobscheduler.cpp
job/folderjob.cpp
job/expirejob.cpp
job/backupjob.cpp
)
set(libmailcommon_search_SRCS
search/widgethandler/rulewidgethandlermanager.cpp
search/searchpattern.cpp
search/searchpatternedit.cpp
search/widgethandler/textrulerwidgethandler.cpp
search/widgethandler/statusrulewidgethandler.cpp
search/widgethandler/messagerulewidgethandler.cpp
search/widgethandler/tagrulewidgethandler.cpp
search/widgethandler/numericrulewidgethandler.cpp
search/widgethandler/daterulewidgethandler.cpp
search/widgethandler/numericdoublerulewidgethandler.cpp
search/widgethandler/headersrulerwidgethandler.cpp
search/searchrule/searchrulenumerical.cpp
search/searchrule/searchruledate.cpp
search/searchrule/searchrulestring.cpp
search/searchrule/searchrulestatus.cpp
search/searchrule/searchrule.cpp
)
set(libmailcommon_snippets_SRCS
snippets/snippetdialog.cpp
snippets/snippetsmanager.cpp
snippets/snippetsmodel.cpp
snippets/snippetvariabledialog.cpp
)
set(libmailcommon_tag_SRCS
tag/tagwidget.cpp
tag/tag.cpp
tag/addtagdialog.cpp
)
set(libmailcommon_widget_SRCS
widgets/redirectdialog.cpp
widgets/redirectwidget.cpp
widgets/favoritecollectionwidget.cpp
)
set(libmailcommon_mdn_SRCS
mdn/sendmdnhandler.cpp
mdn/mdnstateattribute.cpp
)
set(libmailcommon_util_SRCS
util/mailutil.cpp
util/resourcereadconfigfile.cpp
)
set(libmailcommon_SRCS
kernel/mailkernel.cpp
${libmailcommon_filter_dialog}
${libmailcommon_util_SRCS}
${libmailcommon_mdn_SRCS}
${libmailcommon_invalidfilters}
${libmailcommon_widget_SRCS}
${libmailcommon_tag_SRCS}
${libmailcommon_snippets_SRCS}
${libmailcommon_search_SRCS}
${libmailcommon_job_SRCS}
${libmailcommon_collection_SRCS}
${libmailcommon_folder_SRCS}
${libmailcommon_filter_SRCS}
)
kconfig_add_kcfg_files(libmailcommon_SRCS
settings/mailcommonsettings_base.kcfgc
)
ecm_qt_declare_logging_category(libmailcommon_SRCS HEADER mailcommon_debug.h IDENTIFIER MAILCOMMON_LOG CATEGORY_NAME org.kde.pim.mailcommon)
set_source_files_properties(${CMAKE_CURRENT_SOURCE_DIR}/dbusinterfaces/org.freedesktop.Akonadi.MailFilterAgent.xml PROPERTIES INCLUDE "dbusoperators.h")
qt5_add_dbus_interfaces(libmailcommon_SRCS
${CMAKE_CURRENT_SOURCE_DIR}/dbusinterfaces/org.freedesktop.Akonadi.MailFilterAgent.xml
)
ki18n_wrap_ui(libmailcommon_SRCS filter/ui/filterconfigwidget.ui snippets/ui/snippetdialog.ui filter/ui/selectthunderbirdfilterfileswidget.ui)
set(libmailcommon_SRCS ${libmailcommon_SRCS} filter/soundtestwidget.cpp)
macro(add_resource_iface _kcfgFile _ifaceName _className)
kcfg_generate_dbus_interface(${CMAKE_CURRENT_SOURCE_DIR}/${_kcfgFile} ${_ifaceName})
string(TOLOWER ${_className} _codeFile)
set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/${_ifaceName}.xml PROPERTIES INCLUDE "pimcommon/metatype.h")
qt5_add_dbus_interface(libmailcommon_SRCS
${CMAKE_CURRENT_BINARY_DIR}/${_ifaceName}.xml ${_codeFile} ${_className}
)
endmacro()
add_resource_iface(settings.kcfg org.kde.Akonadi.POP3.Settings Pop3Settings)
qt5_add_dbus_interfaces(libmailcommon_SRCS ${CMAKE_CURRENT_SOURCE_DIR}/dbusinterfaces/org.kde.Korganizer.Calendar.xml
)
add_library(KF5MailCommon ${libmailcommon_SRCS})
generate_export_header(KF5MailCommon BASE_NAME mailcommon)
add_library(KF5::MailCommon ALIAS KF5MailCommon)
target_link_libraries(KF5MailCommon
PUBLIC
KF5::AkonadiCore
KF5::AkonadiMime
KF5::MessageComposer
KF5::PimCommon
PRIVATE
KF5::TextWidgets
KF5::I18n
KF5::Libkdepim
KF5::MessageViewer
KF5::MailImporter
KF5::MessageCore
KF5::TemplateParser
KF5::Mime
KF5::Codecs
KF5::MailTransport
Phonon::phonon4qt5
KF5::XmlGui
KF5::KIOWidgets
KF5::WindowSystem
KF5::IconThemes
KF5::Archive
KF5::ItemViews
KF5::Ldap
)
target_include_directories(KF5MailCommon INTERFACE "$<INSTALL_INTERFACE:${KDE_INSTALL_INCLUDEDIR_KF5}/MailCommon/;${KDE_INSTALL_INCLUDEDIR_KF5}/mailcommon>")
target_include_directories(KF5MailCommon PUBLIC "$<BUILD_INTERFACE:${mailcommon_SOURCE_DIR}/src;${mailcommon_BINARY_DIR}/src;${mailcommon_SOURCE_DIR}/src/search>")
set_target_properties(KF5MailCommon PROPERTIES
VERSION ${MAILCOMMON_VERSION_STRING}
SOVERSION ${MAILCOMMON_SOVERSION}
EXPORT_NAME MailCommon
)
install(TARGETS
KF5MailCommon
EXPORT KF5MailCommonTargets ${KF5_INSTALL_TARGETS_DEFAULT_ARGS} ${LIBRARY_NAMELINK}
)
if (BUILD_TESTING)
add_subdirectory(filter/filterimporter/autotests)
add_subdirectory(collectionpage/autotests)
add_subdirectory(filter/autotests)
add_subdirectory(snippets/autotests)
add_subdirectory(filter/tests)
add_subdirectory(search/autotests)
add_subdirectory(mdn/autotests/)
endif()
ecm_generate_headers(MailCommon_CamelCase_HEADERS
HEADER_NAMES
MailUtil
MetaType
ResourceReadConfigFile
REQUIRED_HEADERS MailCommon_HEADERS
PREFIX MailCommon
RELATIVE util
)
ecm_generate_headers(MailCommon_Camelcasetop_HEADERS
HEADER_NAMES
DBusOperators
REQUIRED_HEADERS MailCommon_top_HEADERS
PREFIX MailCommon
)
ecm_generate_headers(MailCommon_Camelcasetag_HEADERS
HEADER_NAMES
TagWidget
Tag
AddTagDialog
REQUIRED_HEADERS MailCommon_tag_HEADERS
PREFIX MailCommon
RELATIVE tag
)
ecm_generate_headers(MailCommon_Camelcasefolder_HEADERS
HEADER_NAMES
FolderCollection
FolderRequester
FolderCollectionMonitor
AccountConfigOrderDialog
FolderTreeView
FolderTreeWidget
FolderSelectionDialog
FolderTreeWidgetProxyModel
REQUIRED_HEADERS MailCommon_folder_HEADERS
PREFIX MailCommon
RELATIVE folder
)
ecm_generate_headers(MailCommon_Camelcasekernel_HEADERS
HEADER_NAMES
MailKernel
REQUIRED_HEADERS MailCommon_kernel_HEADERS
PREFIX MailCommon
RELATIVE kernel
)
ecm_generate_headers(MailCommon_Camelcaseinterfaces_HEADERS
HEADER_NAMES
MailInterfaces
REQUIRED_HEADERS MailCommon_interfaces_HEADERS
PREFIX MailCommon
RELATIVE interfaces
)
ecm_generate_headers(MailCommon_Camelcasefilter_HEADERS
HEADER_NAMES
FilterLog
MailFilter
FilterImporterExporter
FilterManager
KMFilterDialog
ItemContext
REQUIRED_HEADERS MailCommon_filter_HEADERS
PREFIX MailCommon
RELATIVE filter
)
ecm_generate_headers(MailCommon_Camelcasejob_HEADERS
HEADER_NAMES
BackupJob
JobScheduler
FolderJob
REQUIRED_HEADERS MailCommon_job_HEADERS
PREFIX MailCommon
RELATIVE job
)
ecm_generate_headers(MailCommon_Camelcasefilteraction_HEADERS
HEADER_NAMES
FilterAction
FilterActionDict
REQUIRED_HEADERS MailCommon_filteraction_HEADERS
PREFIX MailCommon
RELATIVE filter/filteractions/
)
ecm_generate_headers(MailCommon_Camelcasemdn_HEADERS
HEADER_NAMES
SendMdnHandler
MDNStateAttribute
REQUIRED_HEADERS MailCommon_mdn_HEADERS
PREFIX MailCommon
RELATIVE mdn
)
ecm_generate_headers(MailCommon_Camelcasecollectionpage_HEADERS
HEADER_NAMES
IncidencesForWidget
CollectionTypeUtil
CollectionGeneralPage
CollectionExpiryPage
REQUIRED_HEADERS MailCommon_collectionpage_HEADERS
PREFIX MailCommon
RELATIVE collectionpage
)
ecm_generate_headers(MailCommon_Camelcasecollectionpageattributes_HEADERS
HEADER_NAMES
CollectionAnnotationsAttribute
ExpireCollectionAttribute
REQUIRED_HEADERS MailCommon_collectionpageattributes_HEADERS
PREFIX MailCommon
RELATIVE collectionpage/attributes
)
ecm_generate_headers(MailCommon_Camelcasefilterimporter_HEADERS
HEADER_NAMES
FilterImporterBalsa
FilterImporterClawsMail
FilterImporterAbstract
REQUIRED_HEADERS MailCommon_filterimporter_HEADERS
PREFIX MailCommon
RELATIVE filter/filterimporter/
)
ecm_generate_headers(MailCommon_Camelcasesnippets_HEADERS
HEADER_NAMES
SnippetsManager
REQUIRED_HEADERS MailCommon_snippets_HEADERS
PREFIX MailCommon
RELATIVE snippets
)
ecm_generate_headers(MailCommon_Camelcasekernel_HEADERS
HEADER_NAMES
SearchPattern
SearchPatternEdit
REQUIRED_HEADERS MailCommon_kernel_HEADERS
PREFIX MailCommon
RELATIVE search
)
ecm_generate_headers(MailCommon_Camelcasewidgets_HEADERS
HEADER_NAMES
RedirectDialog
FavoriteCollectionWidget
REQUIRED_HEADERS MailCommon_widgets_HEADERS
PREFIX MailCommon
RELATIVE widgets
)
ecm_generate_headers(MailCommon_Camelcasesearchrule_HEADERS
HEADER_NAMES
SearchRule
SearchRuleStatus
REQUIRED_HEADERS MailCommon_searchrule_HEADERS
PREFIX MailCommon
RELATIVE search/searchrule
)
ecm_generate_pri_file(BASE_NAME MailCommon
LIB_NAME KF5MailCommon
DEPS "AkonadiCore AkonadiMime MessageComposer PimCommon" FILENAME_VAR PRI_FILENAME INCLUDE_INSTALL_DIR ${KDE_INSTALL_INCLUDEDIR_KF5}/MailCommon
)
install(FILES
${MailCommon_Camelcasesearchrule_HEADERS}
${MailCommon_CamelCase_HEADERS}
${MailCommon_Camelcasetop_HEADERS}
${MailCommon_Camelcasetag_HEADERS}
${MailCommon_Camelcasefolder_HEADERS}
${MailCommon_Camelcasekernel_HEADERS}
${MailCommon_Camelcaseinterfaces_HEADERS}
${MailCommon_Camelcasefilter_HEADERS}
${MailCommon_Camelcasejob_HEADERS}
${MailCommon_Camelcasefilteraction_HEADERS}
${MailCommon_Camelcasemdn_HEADERS}
${MailCommon_Camelcasecollectionpage_HEADERS}
${MailCommon_Camelcasecollectionpageattributes_HEADERS}
${MailCommon_Camelcasefilterimporter_HEADERS}
${MailCommon_Camelcasesnippets_HEADERS}
${MailCommon_Camelcasewidgets_HEADERS}
DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF5}/MailCommon
COMPONENT Devel
)
install(FILES
${MailCommon_searchrule_HEADERS}
${CMAKE_CURRENT_BINARY_DIR}/mailcommon_export.h
${CMAKE_CURRENT_BINARY_DIR}/pop3settings.h
${CMAKE_CURRENT_BINARY_DIR}/mailcommonsettings_base.h
${MailCommon_HEADERS}
${MailCommon_top_HEADERS}
${MailCommon_tag_HEADERS}
${MailCommon_folder_HEADERS}
${MailCommon_kernel_HEADERS}
${MailCommon_interfaces_HEADERS}
${MailCommon_filter_HEADERS}
${MailCommon_job_HEADERS}
${MailCommon_filteraction_HEADERS}
${MailCommon_mdn_HEADERS}
${MailCommon_collectionpage_HEADERS}
${MailCommon_collectionpageattributes_HEADERS}
${MailCommon_filterimporter_HEADERS}
${MailCommon_snippets_HEADERS}
${MailCommon_widgets_HEADERS}
DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF5}/mailcommon
COMPONENT Devel
)
install(FILES
${PRI_FILENAME}
DESTINATION ${ECM_MKSPECS_INSTALL_DIR})
add_subdirectory(designer)