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