Warning, /pim/akonadi/src/core/CMakeLists.txt is written in an unsupported language. File is not indexed.

0001 configure_file(akonaditests_export.h.in "${CMAKE_CURRENT_BINARY_DIR}/akonaditests_export.h")
0002 
0003 # base install include dir
0004 set(AkonadiCore_INSTALL_INCLUDEDIR "${KDE_INSTALL_INCLUDEDIR}/KPim6/AkonadiCore")
0005 
0006 set(akonadicore_base_SRCS
0007     agentconfigurationbase.cpp
0008     agentconfigurationfactorybase.cpp
0009     agentconfigurationmanager.cpp
0010     agentinstance.cpp
0011     agentmanager.cpp
0012     agenttype.cpp
0013     asyncselectionhandler.cpp
0014     attributefactory.cpp
0015     attributestorage.cpp
0016     braveheart.cpp
0017     cachepolicy.cpp
0018     changemediator_p.cpp
0019     changenotification.cpp
0020     changenotificationdependenciesfactory.cpp
0021     changerecorder.cpp
0022     changerecorder_p.cpp
0023     changerecorderjournal.cpp
0024     config.cpp
0025     connection.cpp
0026     collection.cpp
0027     collectionfetchscope.cpp
0028     collectionpathresolver.cpp
0029     collectionstatistics.cpp
0030     collectionsync.cpp
0031     collectionutils.cpp collectionutils.h
0032     conflicthandler.cpp
0033     control.cpp
0034     entitycache.cpp
0035     exception.cpp
0036     firstrun.cpp
0037     gidextractor.cpp
0038     item.cpp
0039     itemchangelog.cpp
0040     itemfetchscope.cpp
0041     itemmonitor.cpp
0042     itemserializer.cpp
0043     itemserializerplugin.cpp
0044     itemsync.cpp
0045     mimetypechecker.cpp
0046     monitor.cpp
0047     monitor_p.cpp
0048     notificationsource_p.cpp
0049     notificationsubscriber.cpp
0050     partfetcher.cpp
0051     pastehelper.cpp
0052     pluginloader.cpp
0053     protocolhelper.cpp
0054     remotelog.cpp
0055     relation.cpp
0056     relationsync.cpp
0057     searchquery.cpp
0058     servermanager.cpp
0059     session.cpp
0060     sessionthread.cpp
0061     specialcollections.cpp
0062     tag.cpp
0063     tagcache.cpp
0064     tagfetchscope.cpp
0065     tagsync.cpp
0066     trashsettings.cpp
0067     typepluginloader.cpp
0068 
0069     agentconfigurationbase.h
0070     agentconfigurationfactorybase.h
0071     agentconfigurationmanager_p.h
0072     agentinstance_p.h
0073     agentmanager.h
0074     agenttype.h
0075     asyncselectionhandler_p.h
0076     attributefactory.h
0077     attributestorage_p.h
0078     cachepolicy.h
0079     changemediator_p.h
0080     changenotification.h
0081     changenotificationdependenciesfactory_p.h
0082     changerecorder.h
0083     changerecorder_p.h
0084     changerecorderjournal_p.h
0085     config_p.h
0086     connection_p.h
0087     collection.h
0088     collectionfetchscope.h
0089     collectionpathresolver.h
0090     collectionstatistics.h
0091     collectionsync_p.h
0092     conflicthandler_p.h
0093     control.h
0094     entitycache_p.h
0095     firstrun_p.h
0096     gidextractor_p.h
0097     item.h
0098     itemchangelog_p.h
0099     itemfetchscope.h
0100     itemfetchscope_p.h
0101     itemmonitor.h
0102     itemmonitor_p.h
0103     itemserializer_p.h
0104     itemserializerplugin.h
0105     itemsync.h
0106     mimetypechecker.h
0107     mimetypechecker_p.h
0108     monitor.h
0109     monitor_p.h
0110     notificationsource_p.h
0111     notificationsubscriber.h
0112     partfetcher.h
0113     pastehelper_p.h
0114     pluginloader_p.h
0115     protocolhelper_p.h
0116     relation.h
0117     relationsync.h
0118     searchquery.h
0119     servermanager.h
0120     servermanager_p.h
0121     session.h
0122     session_p.h
0123     sessionthread_p.h
0124     specialcollections.h
0125     specialcollections_p.h
0126     tag.h
0127     tagcache.h
0128     tagfetchscope.h
0129     tagsync.h
0130     trashsettings.h
0131     typepluginloader_p.h
0132 
0133 
0134     )
0135 
0136 ecm_generate_headers(AkonadiCore_base_CC_HEADERS
0137     HEADER_NAMES
0138     AbstractDifferencesReporter
0139     AgentConfigurationBase
0140     AgentConfigurationFactoryBase
0141     AgentInstance
0142     AgentManager
0143     AgentType
0144     AttributeFactory
0145     CachePolicy
0146     ChangeNotification
0147     ChangeRecorder
0148     Collection
0149     CollectionFetchScope
0150     CollectionStatistics
0151     CollectionUtils
0152     Control
0153     DifferencesAlgorithmInterface
0154     ExceptionBase
0155     GidExtractorInterface
0156     Item
0157     ItemFetchScope
0158     ItemMonitor
0159     ItemSerializerPlugin
0160     ItemSync
0161     MimeTypeChecker
0162     NotificationSubscriber
0163     Monitor
0164     PartFetcher
0165     Relation
0166     SearchQuery
0167     ServerManager
0168     Session
0169     SpecialCollections
0170     Supertrait
0171     Tag
0172     TagCache
0173     TagFetchScope
0174     TrashSettings
0175     CollectionPathResolver
0176     REQUIRED_HEADERS AkonadiCore_base_HEADERS
0177     PREFIX Akonadi
0178 )
0179 
0180 set(akonadicore_attributes_SRCS
0181     attributes/attribute.cpp
0182     attributes/collectionannotationsattribute.cpp attributes/collectionannotationsattribute.h
0183     attributes/collectioncolorattribute.cpp attributes/collectioncolorattribute.h
0184     attributes/collectionquotaattribute.cpp attributes/collectionquotaattribute.h
0185     attributes/collectionidentificationattribute.cpp attributes/collectionidentificationattribute.h
0186     attributes/collectionrightsattribute.cpp
0187     attributes/entityannotationsattribute.cpp attributes/entityannotationsattribute.h
0188     attributes/entitydeletedattribute.cpp attributes/entitydeletedattribute.h
0189     attributes/entitydeletedattribute.cpp attributes/entitydeletedattribute.h
0190     attributes/entitydisplayattribute.cpp attributes/entitydisplayattribute.h
0191     attributes/entityhiddenattribute.cpp attributes/entityhiddenattribute.h
0192     attributes/favoritecollectionattribute.cpp attributes/favoritecollectionattribute.h
0193     attributes/indexpolicyattribute.cpp attributes/indexpolicyattribute.h
0194     attributes/persistentsearchattribute.cpp attributes/persistentsearchattribute.h
0195     attributes/specialcollectionattribute.cpp attributes/specialcollectionattribute.h
0196     attributes/tagattribute.cpp attributes/tagattribute.h
0197 )
0198 
0199 ecm_generate_headers(AkonadiCore_attributes_CC_HEADERS
0200     HEADER_NAMES
0201     Attribute
0202     CollectionAnnotationsAttribute
0203     CollectionColorAttribute
0204     CollectionIdentificationAttribute
0205     CollectionQuotaAttribute
0206     EntityAnnotationsAttribute
0207     EntityDeletedAttribute
0208     EntityDisplayAttribute
0209     EntityHiddenAttribute
0210     FavoriteCollectionAttribute
0211     IndexPolicyAttribute
0212     PersistentSearchAttribute
0213     SpecialCollectionAttribute
0214     TagAttribute
0215     REQUIRED_HEADERS AkonadiCore_attributes_HEADERS
0216     RELATIVE attributes
0217     PREFIX Akonadi
0218 )
0219 
0220 set(akonadicore_models_SRCS
0221     models/agentfilterproxymodel.cpp models/agentfilterproxymodel.h
0222     models/agentinstancemodel.cpp models/agentinstancemodel.h
0223     models/agenttypemodel.cpp models/agenttypemodel.h
0224     models/collectionfilterproxymodel.cpp
0225     models/entitymimetypefiltermodel.cpp models/entitymimetypefiltermodel.h
0226     models/entityorderproxymodel.cpp models/entityorderproxymodel.h
0227     models/entityrightsfiltermodel.cpp models/entityrightsfiltermodel.h
0228     models/entitytreemodel.cpp models/entitytreemodel.h
0229     models/entitytreemodel_p.cpp models/entitytreemodel_p.h
0230     models/favoritecollectionsmodel.cpp models/favoritecollectionsmodel.h
0231     models/recursivecollectionfilterproxymodel.cpp models/recursivecollectionfilterproxymodel.h
0232     models/selectionproxymodel.cpp models/selectionproxymodel.h
0233     models/statisticsproxymodel.cpp models/statisticsproxymodel.h
0234     models/subscriptionmodel.cpp
0235     models/tagmodel.cpp models/tagmodel.h
0236     models/tagmodel_p.cpp models/tagmodel_p.h
0237     models/trashfilterproxymodel.cpp models/trashfilterproxymodel.h
0238 )
0239 
0240 ecm_generate_headers(AkonadiCore_models_CC_HEADERS
0241     HEADER_NAMES
0242     AgentFilterProxyModel
0243     AgentInstanceModel
0244     AgentTypeModel
0245     CollectionFilterProxyModel
0246     EntityMimeTypeFilterModel
0247     EntityOrderProxyModel
0248     EntityRightsFilterModel
0249     EntityTreeModel
0250     FavoriteCollectionsModel
0251     RecursiveCollectionFilterProxyModel
0252     SelectionProxyModel
0253     StatisticsProxyModel
0254     TagModel
0255     TrashFilterProxyModel
0256     REQUIRED_HEADERS AkonadiCore_models_HEADERS
0257     RELATIVE models
0258     PREFIX Akonadi
0259 )
0260 
0261 set(akonadicore_jobs_SRCS
0262     jobs/agentinstancecreatejob.cpp
0263     jobs/collectionattributessynchronizationjob.cpp
0264     jobs/collectioncopyjob.cpp
0265     jobs/collectioncreatejob.cpp
0266     jobs/collectiondeletejob.cpp
0267     jobs/collectionfetchjob.cpp
0268     jobs/collectionmodifyjob.cpp
0269     jobs/collectionmovejob.cpp
0270     jobs/collectionstatisticsjob.cpp
0271     jobs/invalidatecachejob.cpp
0272     jobs/itemcopyjob.cpp
0273     jobs/itemcreatejob.cpp
0274     jobs/itemdeletejob.cpp
0275     jobs/itemfetchjob.cpp
0276     jobs/itemmodifyjob.cpp
0277     jobs/itemmovejob.cpp
0278     jobs/itemsearchjob.cpp
0279     jobs/job.cpp
0280     jobs/kjobprivatebase.cpp
0281     jobs/linkjob.cpp
0282     jobs/recursiveitemfetchjob.cpp
0283     jobs/resourceselectjob.cpp
0284     jobs/resourcesynchronizationjob.cpp
0285     jobs/relationfetchjob.cpp
0286     jobs/relationcreatejob.cpp
0287     jobs/relationdeletejob.cpp
0288     jobs/searchcreatejob.cpp
0289     jobs/searchresultjob.cpp
0290     jobs/specialcollectionsdiscoveryjob.cpp jobs/specialcollectionsdiscoveryjob.h
0291     jobs/specialcollectionshelperjobs.cpp
0292     jobs/specialcollectionsrequestjob.cpp
0293     jobs/subscriptionjob.cpp
0294     jobs/tagcreatejob.cpp
0295     jobs/tagdeletejob.cpp
0296     jobs/tagfetchjob.cpp
0297     jobs/tagmodifyjob.cpp
0298     jobs/transactionjobs.cpp
0299     jobs/transactionsequence.cpp
0300     jobs/trashjob.cpp
0301     jobs/trashrestorejob.cpp
0302     jobs/unlinkjob.cpp
0303 
0304     jobs/agentinstancecreatejob.h
0305     jobs/collectionattributessynchronizationjob.h
0306     jobs/collectioncopyjob.h
0307     jobs/collectioncreatejob.h
0308     jobs/collectiondeletejob.h
0309     jobs/collectionfetchjob.h
0310     jobs/collectionmodifyjob.h
0311     jobs/collectionmovejob.h
0312     jobs/collectionstatisticsjob.h
0313     jobs/itemcopyjob.h
0314     jobs/itemcreatejob.h
0315     jobs/itemdeletejob.h
0316     jobs/itemfetchjob.h
0317     jobs/itemmodifyjob.h
0318     jobs/itemmovejob.h
0319     jobs/itemsearchjob.h
0320     jobs/job.h
0321     jobs/kjobprivatebase_p.h
0322     jobs/linkjob.h
0323     jobs/recursiveitemfetchjob.h
0324     jobs/resourceselectjob_p.h
0325     jobs/resourcesynchronizationjob.h
0326     jobs/relationfetchjob.h
0327     jobs/relationcreatejob.h
0328     jobs/relationdeletejob.h
0329     jobs/searchcreatejob.h
0330     jobs/searchresultjob_p.h
0331     jobs/specialcollectionshelperjobs_p.h
0332     jobs/specialcollectionsrequestjob.h
0333     jobs/subscriptionjob_p.h
0334     jobs/tagcreatejob.h
0335     jobs/tagdeletejob.h
0336     jobs/tagfetchjob.h
0337     jobs/tagmodifyjob.h
0338     jobs/transactionjobs.h
0339     jobs/transactionsequence.h
0340     jobs/trashjob.h
0341     jobs/trashrestorejob.h
0342     jobs/unlinkjob.h
0343 
0344     )
0345 
0346 ecm_generate_headers(AkonadiCore_jobs_CC_HEADERS
0347     HEADER_NAMES
0348     AgentInstanceCreateJob
0349     CollectionAttributesSynchronizationJob
0350     CollectionCopyJob
0351     CollectionCreateJob
0352     CollectionDeleteJob
0353     CollectionFetchJob
0354     CollectionModifyJob
0355     CollectionMoveJob
0356     CollectionStatisticsJob
0357     ItemCopyJob
0358     ItemCreateJob
0359     ItemDeleteJob
0360     ItemFetchJob
0361     ItemModifyJob
0362     ItemMoveJob
0363     ItemSearchJob
0364     Job
0365     LinkJob
0366     RecursiveItemFetchJob
0367     ResourceSynchronizationJob
0368     RelationFetchJob
0369     RelationCreateJob
0370     RelationDeleteJob
0371     SearchCreateJob
0372     SpecialCollectionsDiscoveryJob
0373     SpecialCollectionsRequestJob
0374     TagCreateJob
0375     TagDeleteJob
0376     TagFetchJob
0377     TagModifyJob
0378     TransactionJobs
0379     TransactionSequence
0380     TrashJob
0381     TrashRestoreJob
0382     UnlinkJob
0383     REQUIRED_HEADERS AkonadiCore_jobs_HEADERS
0384     RELATIVE jobs
0385     PREFIX Akonadi
0386 )
0387 
0388 set(akonadicore_dbus_xml ${Akonadi_SOURCE_DIR}/src/interfaces/org.freedesktop.Akonadi.NotificationManager.xml)
0389 qt_add_dbus_interface(akonadicore_dbus_SRCS ${akonadicore_dbus_xml} notificationmanagerinterface)
0390 
0391 set(akonadicore_dbus_xml ${Akonadi_SOURCE_DIR}/src/interfaces/org.freedesktop.Akonadi.NotificationSource.xml)
0392 set_source_files_properties(${akonadicore_dbus_xml} PROPERTIES INCLUDE "${Akonadi_SOURCE_DIR}/src/private/protocol_p.h" )
0393 qt_add_dbus_interface(akonadicore_dbus_SRCS ${akonadicore_dbus_xml} notificationsourceinterface)
0394 
0395 qt_add_dbus_interfaces(akonadicore_dbus_SRCS ${Akonadi_SOURCE_DIR}/src/interfaces/org.freedesktop.Akonadi.AgentManager.xml)
0396 qt_add_dbus_interfaces(akonadicore_dbus_SRCS ${Akonadi_SOURCE_DIR}/src/interfaces/org.freedesktop.Akonadi.Tracer.xml)
0397 qt_add_dbus_interfaces(akonadicore_dbus_SRCS ${Akonadi_SOURCE_DIR}/src/interfaces/org.freedesktop.Akonadi.Agent.Control.xml)
0398 qt_add_dbus_interfaces(akonadicore_dbus_SRCS
0399     ${Akonadi_SOURCE_DIR}/src/interfaces/org.freedesktop.Akonadi.Resource.xml)
0400 
0401 set(akonadicore_SRCS
0402     ${akonadicore_base_SRCS}
0403     ${akonadicore_attributes_SRCS}
0404     ${akonadicore_jobs_SRCS}
0405     ${akonadicore_models_SRCS}
0406     ${akonadicore_dbus_SRCS}
0407 )
0408 
0409 ecm_qt_declare_logging_category(akonadicore_SRCS HEADER akonadicore_debug.h IDENTIFIER AKONADICORE_LOG CATEGORY_NAME org.kde.pim.akonadicore
0410         DESCRIPTION "akonadi (Akonadi Core Library)"
0411         OLD_CATEGORY_NAMES log_akonadicore
0412         EXPORT AKONADI
0413     )
0414 
0415 
0416 add_library(KPim6AkonadiCore ${akonadicore_SRCS})
0417 #if (COMPILE_WITH_UNITY_CMAKE_SUPPORT)
0418 #    set_target_properties(KPim6AkonadiCore PROPERTIES UNITY_BUILD ON)
0419 #endif()
0420 
0421 generate_export_header(KPim6AkonadiCore BASE_NAME akonadicore)
0422 
0423 add_library(KPim6::AkonadiCore ALIAS KPim6AkonadiCore)
0424 target_include_directories(KPim6AkonadiCore INTERFACE "$<INSTALL_INTERFACE:${AkonadiCore_INSTALL_INCLUDEDIR}>")
0425 target_include_directories(KPim6AkonadiCore PUBLIC "$<BUILD_INTERFACE:${Akonadi_SOURCE_DIR}/src/core;${Akonadi_BINARY_DIR}/src/core;${Akonadi_BINARY_DIR}/src/private>")
0426 target_include_directories(KPim6AkonadiCore PUBLIC "$<BUILD_INTERFACE:${Akonadi_BINARY_DIR};${Akonadi_SOURCE_DIR}/src/core/jobs;${Akonadi_SOURCE_DIR}/src/core/models;${Akonadi_SOURCE_DIR}/src/core/attributes>")
0427 
0428 kde_target_enable_exceptions(KPim6AkonadiCore PUBLIC)
0429 
0430 target_link_libraries(KPim6AkonadiCore
0431 PUBLIC
0432     KF6::CoreAddons # for KJob
0433     KF6::ItemModels
0434     Qt::Gui # for QColor
0435 PRIVATE
0436     Qt::Network
0437     Qt::Widgets
0438     KF6::KIOCore
0439     KF6::I18n
0440     KF6::IconThemes
0441     KF6::ConfigCore
0442     KPim6::AkonadiPrivate
0443     akonadi_shared
0444 )
0445 
0446 set_target_properties(KPim6AkonadiCore PROPERTIES
0447     VERSION ${AKONADI_VERSION}
0448     SOVERSION ${AKONADI_SOVERSION}
0449     EXPORT_NAME AkonadiCore
0450 )
0451 
0452 install(TARGETS
0453     KPim6AkonadiCore
0454     EXPORT KPim6AkonadiTargets ${KDE_INSTALL_TARGETS_DEFAULT_ARGS}
0455 )
0456 
0457 install(FILES
0458     ${CMAKE_CURRENT_BINARY_DIR}/akonadicore_export.h
0459     ${AkonadiCore_base_HEADERS}
0460     ${AkonadiCore_attributes_HEADERS}
0461     ${AkonadiCore_models_HEADERS}
0462     ${AkonadiCore_jobs_HEADERS}
0463     ${AkonadiCore_HEADERS}
0464     qtest_akonadi.h
0465     itempayloadinternals_p.h
0466     ${Akonadi_BINARY_DIR}/config-akonadi.h
0467     DESTINATION ${AkonadiCore_INSTALL_INCLUDEDIR}/akonadi
0468     COMPONENT Devel
0469 )
0470 
0471 install(FILES
0472     ${AkonadiCore_base_CC_HEADERS}
0473     ${AkonadiCore_attributes_CC_HEADERS}
0474     ${AkonadiCore_models_CC_HEADERS}
0475     ${AkonadiCore_jobs_CC_HEADERS}
0476     ${AkonadiCore_CC_HEADERS}
0477     DESTINATION ${AkonadiCore_INSTALL_INCLUDEDIR}/Akonadi
0478     COMPONENT Devel
0479 )
0480 
0481 install( FILES
0482     kcfg2dbus.xsl
0483     DESTINATION ${KDE_INSTALL_DATADIR_KF}/akonadi
0484 )
0485 
0486 
0487 if (BUILD_QCH)
0488     ecm_add_qch(
0489         KPim6AkonadiCore_QCH
0490         NAME KPim6AkonadiCore
0491         BASE_NAME KPim6AkonadiCore
0492         VERSION ${PIM_VERSION}
0493         ORG_DOMAIN org.kde
0494         SOURCES # using only public headers, to cover only public API
0495         ${AkonadiCore_base_HEADERS}
0496         ${AkonadiCore_attributes_HEADERS}
0497         ${AkonadiCore_models_HEADERS}
0498         ${AkonadiCore_jobs_HEADERS}
0499         ${AkonadiCore_HEADERS}
0500         #MD_MAINPAGE "${CMAKE_SOURCE_DIR}/README.md"
0501         #IMAGE_DIRS "${CMAKE_SOURCE_DIR}/docs/pics"
0502         LINK_QCHS
0503             Qt6Core_QCH
0504             Qt6Gui_QCH
0505             Qt6Widgets_QCH
0506         INCLUDE_DIRS
0507             ${CMAKE_CURRENT_BINARY_DIR}
0508         BLANK_MACROS
0509             AKONADICORE_EXPORT
0510         TAGFILE_INSTALL_DESTINATION ${KDE_INSTALL_QTQCHDIR}
0511         QCH_INSTALL_DESTINATION ${KDE_INSTALL_QTQCHDIR}
0512         COMPONENT Devel
0513     )
0514 endif()