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()