Warning, /pim/akonadi-mime/src/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 # SPDX-FileCopyrightText: none
0002 # SPDX-License-Identifier: BSD-3-Clause
0003 add_definitions(-DTRANSLATION_DOMAIN=\"libakonadi-kmime6\")
0004 # generates a D-Bus interface description from a KConfigXT file
0005 macro(kcfg_generate_dbus_interface _kcfg _name)
0006 add_custom_command(
0007 OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${_name}.xml
0008 COMMAND ${LIBXSLT_XSLTPROC_EXECUTABLE} --stringparam interfaceName ${_name}
0009 ${KF5Akonadi_DATA_DIR}/kcfg2dbus.xsl
0010 ${_kcfg}
0011 > ${CMAKE_CURRENT_BINARY_DIR}/${_name}.xml
0012 )
0013 endmacro()
0014
0015 macro(add_resource_iface _kcfgFile _ifaceName _className)
0016 kcfg_generate_dbus_interface(${CMAKE_CURRENT_SOURCE_DIR}/${_kcfgFile} ${_ifaceName})
0017 set_source_files_properties( ${CMAKE_CURRENT_BINARY_DIR}/${_ifaceName}.xml PROPERTIES INCLUDE "metatype.h")
0018 qt_add_dbus_interface(akonadimime_SRCS
0019 ${CMAKE_CURRENT_BINARY_DIR}/${_ifaceName}.xml ${_className}
0020 )
0021 endmacro()
0022
0023 ########### next target ###############
0024
0025 set(akonadimime_SRCS
0026 addressattribute.cpp
0027 attributeregistrar.cpp
0028 removeduplicatesjob.cpp
0029 specialmailcollections.cpp
0030 specialmailcollectionsrequestjob.cpp
0031 specialmailcollectionsdiscoveryjob.cpp
0032 messagefolderattribute.cpp
0033 messagemodel.cpp
0034 messageparts.cpp
0035 messageflags.cpp
0036 messagestatus.cpp
0037 newmailnotifierattribute.cpp
0038 pop3resourceattribute.cpp
0039
0040 commandbase.cpp
0041 util.cpp
0042 emptytrashcommand.cpp
0043 markascommand.cpp
0044 movecommand.cpp
0045 movetotrashcommand.cpp
0046 standardmailactionmanager.cpp
0047 markascommandhelper_p.h
0048 markascommandhelper.cpp
0049
0050 messagestatus.h
0051 util_p.h
0052 emptytrashcommand.h
0053 specialmailcollectionsrequestjob.h
0054 movecommand.h
0055 newmailnotifierattribute.h
0056 specialmailcollectionstesting_p.h
0057 standardmailactionmanager.h
0058 messagefolderattribute.h
0059 removeduplicatesjob.h
0060 movetotrashcommand.h
0061 specialmailcollectionsdiscoveryjob.h
0062 messageflags.h
0063 pop3resourceattribute.h
0064 addressattribute.h
0065 markascommand.h
0066 messagemodel.h
0067 commandbase.h
0068 specialmailcollections.h
0069 metatype.h
0070 messageparts.h
0071
0072 mdnstateattribute.h
0073 mdnstateattribute.cpp
0074 dispatcherinterface.cpp
0075 dispatchmodeattribute.cpp
0076 errorattribute.cpp
0077 transportattribute.cpp
0078 sentactionattribute.cpp
0079 sentbehaviourattribute.cpp
0080 messagequeuejob.cpp
0081 outboxactions.cpp
0082 filteractionjob.cpp
0083
0084 filteractionjob_p.h
0085 errorattribute.h
0086 outboxactions_p.h
0087 dispatcherinterface_p.h
0088 sentbehaviourattribute.h
0089 messagequeuejob.h
0090 sentactionattribute.h
0091 transportattribute.h
0092 dispatchmodeattribute.h
0093 dispatcherinterface.h
0094
0095 )
0096
0097
0098 add_resource_iface(imapresource.kcfg
0099 org.kde.Akonadi.Imap.Settings imapsettings)
0100
0101 # TODO: add the necessary API in SpecialCollections
0102 #if (BUILD_TESTING)
0103 # list(APPEND akonadimime_SRCS specialmailcollectionstesting.cpp)
0104 #endif()
0105
0106 kconfig_add_kcfg_files(akonadimime_SRCS
0107 specialmailcollectionssettings.kcfgc
0108 )
0109
0110 install(FILES
0111 specialmailcollections.kcfg
0112 DESTINATION ${KDE_INSTALL_KCFGDIR}
0113 )
0114
0115 add_library(KPim6AkonadiMime ${akonadimime_SRCS})
0116 ecm_qt_declare_logging_category(KPim6AkonadiMime HEADER akonadi_mime_debug.h IDENTIFIER AKONADIMIME_LOG CATEGORY_NAME log_akonadi_mime)
0117 if (COMPILE_WITH_UNITY_CMAKE_SUPPORT)
0118 set_target_properties(KPim6AkonadiMime PROPERTIES UNITY_BUILD ON)
0119 endif()
0120 generate_export_header(KPim6AkonadiMime BASE_NAME akonadi-mime)
0121
0122 add_library(KPim6::AkonadiMime ALIAS KPim6AkonadiMime)
0123
0124 target_include_directories(KPim6AkonadiMime INTERFACE "$<INSTALL_INTERFACE:${KDE_INSTALL_INCLUDEDIR}/KPim6/AkonadiMime>")
0125 target_include_directories(KPim6AkonadiMime PUBLIC "$<BUILD_INTERFACE:${Akonadi-Mime_SOURCE_DIR}/src;${Akonadi-Mime_BINARY_DIR}/src>")
0126
0127 target_link_libraries(KPim6AkonadiMime
0128 PUBLIC
0129 KPim6::AkonadiCore
0130 PRIVATE
0131 KPim6::Mime
0132 KPim6::AkonadiWidgets
0133 KF6::KIOCore
0134 KF6::I18n
0135 KF6::XmlGui
0136 )
0137
0138 set_target_properties(KPim6AkonadiMime PROPERTIES
0139 VERSION ${AKONADIMIME_VERSION}
0140 SOVERSION ${AKONADIMIME_SOVERSION}
0141 EXPORT_NAME AkonadiMime
0142 )
0143
0144 install(TARGETS
0145 KPim6AkonadiMime
0146 EXPORT KPim6AkonadiMimeTargets ${KDE_INSTALL_TARGETS_DEFAULT_ARGS}
0147 )
0148
0149
0150 ecm_generate_headers(AkonadiMime_CamelCase_HEADERS
0151 HEADER_NAMES
0152
0153 AddressAttribute
0154 CommandBase
0155 MDNStateAttribute
0156 MessageFlags
0157 MessageFolderAttribute
0158 MessageModel
0159 MessageParts
0160 MessageStatus
0161 MarkAsCommand
0162 MoveCommand
0163 NewMailNotifierAttribute
0164 Pop3ResourceAttribute
0165 RemoveDuplicatesJob
0166 SpecialMailCollections
0167 SpecialMailCollectionsDiscoveryJob
0168 SpecialMailCollectionsRequestJob
0169 StandardMailActionManager
0170 DispatcherInterface
0171 MessageQueueJob
0172 TransportAttribute
0173 SentBehaviourAttribute
0174 DispatchModeAttribute
0175 ErrorAttribute
0176 SentActionAttribute
0177
0178
0179 REQUIRED_HEADERS AkonadiMime_HEADERS
0180 PREFIX Akonadi
0181 )
0182
0183 install(FILES
0184 ${AkonadiMime_CamelCase_HEADERS}
0185 DESTINATION ${KDE_INSTALL_INCLUDEDIR}/KPim6/AkonadiMime/Akonadi
0186 COMPONENT Devel
0187 )
0188
0189 install(FILES
0190 ${AkonadiMime_HEADERS}
0191 ${CMAKE_CURRENT_BINARY_DIR}/akonadi-mime_export.h
0192 DESTINATION ${KDE_INSTALL_INCLUDEDIR}/KPim6/AkonadiMime/akonadi
0193 COMPONENT Devel
0194 )
0195
0196
0197 if (BUILD_QCH)
0198 ecm_add_qch(
0199 KPim6AkonadiMime_QCH
0200 NAME KPim6AkonadiMime
0201 BASE_NAME KPim6AkonadiMime
0202 VERSION ${PIM_VERSION}
0203 ORG_DOMAIN org.kde
0204 SOURCES # using only public headers, to cover only public API
0205 ${AkonadiMime_HEADERS}
0206 MD_MAINPAGE "${CMAKE_SOURCE_DIR}/README.md"
0207 #IMAGE_DIRS "${CMAKE_SOURCE_DIR}/docs/pics"
0208 LINK_QCHS
0209 Qt6Core_QCH
0210 Qt6Gui_QCH
0211 Qt6Widgets_QCH
0212 INCLUDE_DIRS
0213 ${CMAKE_CURRENT_BINARY_DIR}
0214 BLANK_MACROS
0215 AKONADI_MIME_EXPORT
0216 TAGFILE_INSTALL_DESTINATION ${KDE_INSTALL_QTQCHDIR}
0217 QCH_INSTALL_DESTINATION ${KDE_INSTALL_QTQCHDIR}
0218 COMPONENT Devel
0219 )
0220 endif()
0221
0222 ## install the MIME type spec file for KDEPIM specific MIME types
0223 install(FILES x-vnd.kde.contactgroup.xml DESTINATION ${KDE_INSTALL_MIMEDIR})
0224 update_xdg_mimetypes(${KDE_INSTALL_MIMEDIR})
0225