Warning, /pim/kimap/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 # Turn exceptions on
0004 kde_enable_exceptions()
0005 add_library(KPim6IMAP)
0006 add_library(KPim6::IMAP ALIAS KPim6IMAP)
0007 target_sources(KPim6IMAP PRIVATE
0008    acl.cpp
0009    acljobbase.cpp
0010    appendjob.cpp
0011    capabilitiesjob.cpp
0012    closejob.cpp
0013    copyjob.cpp
0014    createjob.cpp
0015    deleteacljob.cpp
0016    deletejob.cpp
0017    enablejob.cpp
0018    expungejob.cpp
0019    fetchjob.cpp
0020    getacljob.cpp
0021    getmetadatajob.cpp
0022    getquotajob.cpp
0023    getquotarootjob.cpp
0024    idjob.cpp
0025    idlejob.cpp
0026    imapset.cpp
0027    imapstreamparser.cpp
0028    job.cpp
0029    listjob.cpp
0030    listrightsjob.cpp
0031    loginjob.cpp
0032    logoutjob.cpp
0033    metadatajobbase.cpp
0034    movejob.cpp
0035    myrightsjob.cpp
0036    namespacejob.cpp
0037    quotajobbase.cpp
0038    renamejob.cpp
0039    rfccodecs.cpp
0040    searchjob.cpp
0041    selectjob.cpp
0042    session.cpp
0043    sessionlogger.cpp
0044    sessionthread.cpp
0045    sessionuiproxy.cpp
0046    setacljob.cpp
0047    setmetadatajob.cpp
0048    setquotajob.cpp
0049    statusjob.cpp
0050    storejob.cpp
0051    subscribejob.cpp
0052    unsubscribejob.cpp
0053    deletejob.h
0054    getquotarootjob.h
0055    fetchjob.h
0056    listrightsjob.h
0057    sessionlogger_p.h
0058    unsubscribejob.h
0059    loginjob.h
0060    response_p.h
0061    sessionthread_p.h
0062    imapset.h
0063    closejob.h
0064    getacljob.h
0065    acl.h
0066    idjob.h
0067    capabilitiesjob.h
0068    quotajobbase_p.h
0069    enablejob.h
0070    metadatajobbase_p.h
0071    copyjob.h
0072    session_p.h
0073    storejob.h
0074    selectjob.h
0075    idlejob.h
0076    setquotajob.h
0077    job.h
0078    subscribejob.h
0079    namespacejob.h
0080    session.h
0081    metadatajobbase.h
0082    sessionuiproxy.h
0083    createjob.h
0084    movejob.h
0085    acljobbase_p.h
0086    expungejob.h
0087    imapstreamparser.h
0088    getmetadatajob.h
0089    rfccodecs.h
0090    getquotajob.h
0091    listjob.h
0092    deleteacljob.h
0093    quotajobbase.h
0094    myrightsjob.h
0095    common.h
0096    renamejob.h
0097    statusjob.h
0098    setacljob.h
0099    job_p.h
0100    searchjob.h
0101    acljobbase.h
0102    appendjob.h
0103    setmetadatajob.h
0104    logoutjob.h
0105 )
0106 
0107 ecm_qt_declare_logging_category(KPim6IMAP HEADER kimap_debug.h IDENTIFIER KIMAP_LOG CATEGORY_NAME org.kde.pim.kimap
0108         OLD_CATEGORY_NAMES log_kimap
0109         DESCRIPTION "kimap (pim lib)" EXPORT KIMAP)
0110 
0111 if (COMPILE_WITH_UNITY_CMAKE_SUPPORT)
0112     set_target_properties(KPim6IMAP PROPERTIES UNITY_BUILD ON)
0113 endif()
0114 
0115 ecm_generate_export_header(KPim6IMAP
0116     BASE_NAME kimap
0117     VERSION ${KIMAP_VERSION}
0118     DEPRECATED_BASE_VERSION 0
0119     USE_VERSION_HEADER
0120 )
0121 
0122 
0123 target_include_directories(KPim6IMAP INTERFACE "$<INSTALL_INTERFACE:${KDE_INSTALL_INCLUDEDIR}/KPim6/KIMAP>")
0124 target_include_directories(KPim6IMAP PUBLIC "$<BUILD_INTERFACE:${KIMAP_SOURCE_DIR}/src;${KIMAP_BINARY_DIR}/src>")
0125 
0126 if (WIN32)
0127     set(extra_LIBS ws2_32)
0128 endif()
0129 
0130 target_link_libraries(KPim6IMAP
0131 PUBLIC
0132   KPim6::Mime
0133   KF6::CoreAddons
0134   Qt::Network
0135 PRIVATE
0136   KF6::KIOCore
0137   KF6::I18n
0138   Sasl2::Sasl2
0139   ${extra_LIBS}
0140 )
0141 
0142 set_property(TARGET KPim6IMAP PROPERTY POSITION_INDEPENDENT_CODE ON)
0143 
0144 set_target_properties(KPim6IMAP PROPERTIES
0145     VERSION ${KIMAP_VERSION}
0146     SOVERSION ${KIMAP_SOVERSION}
0147     EXPORT_NAME IMAP
0148 )
0149 
0150 ecm_generate_headers(KIMAP_CamelCase_HEADERS
0151   HEADER_NAMES
0152   Acl
0153   AclJobBase
0154   AppendJob
0155   CapabilitiesJob
0156   CloseJob
0157   CopyJob
0158   CreateJob
0159   DeleteAclJob
0160   DeleteJob
0161   EnableJob
0162   ExpungeJob
0163   FetchJob
0164   GetAclJob
0165   GetMetaDataJob
0166   GetQuotaJob
0167   GetQuotaRootJob
0168   IdJob
0169   IdleJob
0170   ImapSet
0171   Job
0172   ListJob
0173   ListRightsJob
0174   LoginJob
0175   LogoutJob
0176   MetaDataJobBase
0177   MoveJob
0178   MyRightsJob
0179   NamespaceJob
0180   QuotaJobBase
0181   RenameJob
0182   RFCCodecs
0183   SearchJob
0184   SelectJob
0185   Session
0186   SessionUiProxy
0187   SetAclJob
0188   SetMetaDataJob
0189   SetQuotaJob
0190   StatusJob
0191   StoreJob
0192   SubscribeJob
0193   UnsubscribeJob
0194   PREFIX KIMAP
0195 
0196   REQUIRED_HEADERS KIMAP_HEADERS
0197 )
0198 
0199 install(TARGETS KPim6IMAP EXPORT KPim6IMAPTargets ${KDE_INSTALL_TARGETS_DEFAULT_ARGS})
0200 
0201 install(FILES
0202     ${CMAKE_CURRENT_BINARY_DIR}/kimap_export.h
0203     ${KIMAP_HEADERS}
0204     ${KIMAP_CamelCase_HEADERS}
0205     DESTINATION ${KDE_INSTALL_INCLUDEDIR}/KPim6/KIMAP/kimap
0206     COMPONENT Devel
0207 )
0208 
0209 install(FILES
0210     ${KIMAP_CamelCase_HEADERS}
0211     DESTINATION ${KDE_INSTALL_INCLUDEDIR}/KPim6/KIMAP/KIMAP
0212     COMPONENT Devel
0213 )
0214 
0215 ecm_qt_install_logging_categories(EXPORT KIMAP FILE kimap.categories DESTINATION ${KDE_INSTALL_LOGGINGCATEGORIESDIR})
0216 
0217 if (BUILD_QCH)
0218     ecm_add_qch(
0219         KPim6Imap_QCH
0220         NAME KImap
0221         BASE_NAME KPim6Imap
0222         VERSION ${PIM_VERSION}
0223         ORG_DOMAIN org.kde
0224         SOURCES # using only public headers, to cover only public API
0225             ${KIMAP_HEADERS}
0226         MD_MAINPAGE "${CMAKE_SOURCE_DIR}/README.md"
0227         #IMAGE_DIRS "${CMAKE_SOURCE_DIR}/docs/pics"
0228         LINK_QCHS
0229             Qt6Core_QCH
0230         INCLUDE_DIRS
0231             ${CMAKE_CURRENT_BINARY_DIR}
0232         BLANK_MACROS
0233             KIMAP_EXPORT
0234         TAGFILE_INSTALL_DESTINATION ${KDE_INSTALL_QTQCHDIR}
0235         QCH_INSTALL_DESTINATION ${KDE_INSTALL_QTQCHDIR}
0236         COMPONENT Devel
0237     )
0238 endif()