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