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

0001 # SPDX-FileCopyrightText: none
0002 # SPDX-License-Identifier: BSD-3-Clause
0003 
0004 
0005 ecm_setup_version(PROJECT VARIABLE_PREFIX AKONADICONTACTCORE
0006     VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/akonadi-contact_core_version.h"
0007     PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/KPim6AkonadiContactCoreConfigVersion.cmake"
0008     SOVERSION 6
0009     )
0010 
0011 add_library(KPim6AkonadiContactCore)
0012 add_library(KPim6::AkonadiContactCore ALIAS KPim6AkonadiContactCore)
0013 ########### next target ###############
0014 
0015 target_sources(KPim6AkonadiContactCore PRIVATE
0016     attributes/contactmetadataattribute.cpp
0017     attributes/attributeregistrar.cpp
0018 )
0019 
0020 target_sources(KPim6AkonadiContactCore PRIVATE
0021     job/contactgroupexpandjob.cpp
0022     job/contactgroupsearchjob.cpp
0023     job/contactsearchjob.cpp
0024 )
0025 
0026 target_sources(KPim6AkonadiContactCore PRIVATE
0027     grantlee/contactgrantleewrapper.cpp
0028     grantlee/grantleecontactformatter.cpp
0029     grantlee/grantleecontactgroupformatter.cpp
0030     grantlee/grantleeprint.cpp
0031     )
0032 
0033 
0034 target_sources(KPim6AkonadiContactCore PRIVATE
0035     abstractcontactformatter.cpp
0036     abstractcontactgroupformatter.cpp
0037     collectionfiltermodel.cpp
0038     contactcompletionmodel.cpp
0039     contactgroupmodel.cpp
0040     contactparts.cpp
0041     contactsfilterproxymodel.cpp
0042     contactstreemodel.cpp
0043 
0044     emailaddressselection.cpp
0045     emailaddressselectionproxymodel.cpp
0046     emailaddressselectionmodel.cpp
0047     leafextensionproxymodel.cpp
0048     standardcontactformatter.cpp
0049     standardcontactgroupformatter.cpp
0050     emailaddressselectionproxymodel_p.h
0051     job/contactgroupsearchjob.h
0052     job/contactsearchjob.h
0053     job/contactgroupexpandjob.h
0054     contactgroupmodel_p.h
0055     abstractcontactgroupformatter.h
0056     contactstreemodel.h
0057     emailaddressselectionmodel.h
0058     grantlee/grantleecontactgroupformatter.h
0059     grantlee/grantleeprint.h
0060     grantlee/contactgrantleewrapper.h
0061     grantlee/grantleecontactformatter.h
0062     emailaddressselection.h
0063     emailaddressselection_p.h
0064     collectionfiltermodel_p.h
0065     abstractcontactformatter.h
0066     contactsfilterproxymodel.h
0067     standardcontactgroupformatter.h
0068     standardcontactformatter.h
0069     contactcompletionmodel_p.h
0070     leafextensionproxymodel_p.h
0071     contactparts.h
0072     attributes/contactmetadataattribute_p.h
0073     )
0074 
0075 
0076 ecm_qt_declare_logging_category(KPim6AkonadiContactCore HEADER akonadi_contact_debug.h IDENTIFIER AKONADICONTACT_LOG CATEGORY_NAME org.kde.pim.akonadicontact
0077         DESCRIPTION "akonadicontact (pim lib)"
0078         OLD_CATEGORY_NAMES log_akonadi_contact
0079         EXPORT AKONADICONTACTS
0080     )
0081 
0082 if (COMPILE_WITH_UNITY_CMAKE_SUPPORT)
0083     set_source_files_properties(
0084         grantlee/contactgrantleewrapper.cpp
0085         grantlee/grantleecontactformatter.cpp
0086         grantlee/grantleecontactgroupformatter.cpp
0087         grantlee/grantleeprint.cpp
0088         PROPERTIES SKIP_UNITY_BUILD_INCLUSION ON)
0089     set_target_properties(KPim6AkonadiContactCore PROPERTIES UNITY_BUILD ON)
0090 endif()
0091 generate_export_header(KPim6AkonadiContactCore BASE_NAME akonadi-contact-core)
0092 
0093 
0094 target_include_directories(KPim6AkonadiContactCore INTERFACE "$<INSTALL_INTERFACE:${KDE_INSTALL_INCLUDEDIR}/KPim6/AkonadiContactCore>")
0095 target_include_directories(KPim6AkonadiContactCore PUBLIC "$<BUILD_INTERFACE:${Akonadi-Contact_SOURCE_DIR}/src;${Akonadi-Contact_BINARY_DIR}/src>")
0096 
0097 target_link_libraries(KPim6AkonadiContactCore
0098     PUBLIC
0099     KPim6::AkonadiCore
0100     KF6::Contacts
0101     KPim6::GrantleeTheme
0102     PRIVATE
0103     KF6::ColorScheme
0104     KF6::ConfigCore
0105     KF6::IconThemes
0106     KF6::I18n
0107     KPim6::Mime
0108     KF6::TextUtils
0109     )
0110 set_target_properties(KPim6AkonadiContactCore PROPERTIES
0111     VERSION ${AKONADICONTACTCORE_VERSION}
0112     SOVERSION ${AKONADICONTACTCORE_SOVERSION}
0113     EXPORT_NAME AkonadiContactCore
0114     )
0115 
0116 install(TARGETS
0117     KPim6AkonadiContactCore
0118     EXPORT KPim6AkonadiContactCoreTargets ${KDE_INSTALL_TARGETS_DEFAULT_ARGS}
0119     )
0120 
0121 ecm_generate_headers(AkonadiContactCoreJob_CamelCase_HEADERS
0122     HEADER_NAMES
0123     ContactGroupExpandJob
0124     ContactGroupSearchJob
0125     ContactSearchJob
0126     REQUIRED_HEADERS AkonadiContactCoreJob_HEADERS
0127     PREFIX Akonadi
0128     RELATIVE job
0129     )
0130 
0131 ecm_generate_headers(AkonadiContactCore_CamelCase_HEADERS
0132     HEADER_NAMES
0133     AbstractContactFormatter
0134     AbstractContactGroupFormatter
0135     ContactsFilterProxyModel
0136     ContactsTreeModel
0137     ContactParts
0138 
0139     EmailAddressSelection
0140     EmailAddressSelectionModel
0141     StandardContactFormatter
0142     StandardContactGroupFormatter
0143 
0144     REQUIRED_HEADERS AkonadiContactCore_HEADERS
0145     PREFIX Akonadi
0146     )
0147 
0148 ecm_generate_headers(AkonadiContactCoreGrantlee_CamelCase_HEADERS
0149     HEADER_NAMES
0150     ContactGrantleeWrapper
0151     GrantleeContactFormatter
0152     GrantleeContactGroupFormatter
0153     GrantleePrint
0154 
0155     REQUIRED_HEADERS AkonadiContactCoreGrantlee_HEADERS
0156     RELATIVE grantlee
0157     PREFIX Akonadi
0158 )
0159 
0160 install( FILES
0161     ${AkonadiContactCore_CamelCase_HEADERS}
0162     ${AkonadiContactCoreJob_CamelCase_HEADERS}
0163     ${AkonadiContactCoreGrantlee_CamelCase_HEADERS}
0164     DESTINATION ${KDE_INSTALL_INCLUDEDIR}/KPim6/AkonadiContactCore/Akonadi COMPONENT Devel
0165     )
0166 
0167 install( FILES
0168     ${AkonadiContactCore_HEADERS}
0169     ${AkonadiContactCoreJob_HEADERS}
0170     ${AkonadiContactCoreGrantlee_HEADERS}
0171     ${CMAKE_CURRENT_BINARY_DIR}/akonadi-contact-core_export.h
0172     DESTINATION ${KDE_INSTALL_INCLUDEDIR}/KPim6/AkonadiContactCore/akonadi COMPONENT Devel
0173     )
0174 
0175 
0176 if (BUILD_TESTING)
0177     add_subdirectory(autotests)
0178     add_subdirectory(tests)
0179 endif()
0180 
0181 if (BUILD_QCH)
0182     ecm_add_qch(
0183         KPim6AkonadiContactCore_QCH
0184         NAME KPim6AkonadiContactCore
0185         BASE_NAME KPim6AkonadiContactCore
0186         VERSION ${PIM_VERSION}
0187         ORG_DOMAIN org.kde
0188         SOURCES # using only public headers, to cover only public API
0189         ${AkonadiContactCore_HEADERS}
0190         ${AkonadiContactCoreJob_HEADERS}
0191         ${AkonadiContactCoreGrantlee_HEADERS}
0192         #MD_MAINPAGE "${CMAKE_SOURCE_DIR}/README.md"
0193         #IMAGE_DIRS "${CMAKE_SOURCE_DIR}/docs/pics"
0194         LINK_QCHS
0195             Qt6Core_QCH
0196             Qt6Gui_QCH
0197             Qt6Widgets_QCH
0198         INCLUDE_DIRS
0199             ${CMAKE_CURRENT_BINARY_DIR}
0200         BLANK_MACROS
0201             AKONADI_CONTACT_CORE_EXPORT
0202         TAGFILE_INSTALL_DESTINATION ${KDE_INSTALL_QTQCHDIR}
0203         QCH_INSTALL_DESTINATION ${KDE_INSTALL_QTQCHDIR}
0204         COMPONENT Devel
0205     )
0206 endif()
0207 
0208 set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/KPim6AkonadiContactCore")
0209 if (BUILD_QCH)
0210     ecm_install_qch_export(
0211         TARGETS KPim6AkonadiContactCore_QCH
0212         FILE KPim6AkonadiContactCoreQchTargets.cmake
0213         DESTINATION "${CMAKECONFIG_INSTALL_DIR}"
0214         COMPONENT Devel
0215     )
0216     set(PACKAGE_INCLUDE_QCHTARGETS "include(\"\${CMAKE_CURRENT_LIST_DIR}/KPim6AkonadiContactCoreQchTargets.cmake\")")
0217 endif()
0218 
0219 configure_package_config_file(
0220     "${CMAKE_CURRENT_SOURCE_DIR}/KPimAkonadiContactCoreConfig.cmake.in"
0221     "${CMAKE_CURRENT_BINARY_DIR}/KPim6AkonadiContactCoreConfig.cmake"
0222     INSTALL_DESTINATION  ${CMAKECONFIG_INSTALL_DIR}
0223     )
0224 install(FILES
0225     "${CMAKE_CURRENT_BINARY_DIR}/KPim6AkonadiContactCoreConfig.cmake"
0226     "${CMAKE_CURRENT_BINARY_DIR}/KPim6AkonadiContactCoreConfigVersion.cmake"
0227     DESTINATION "${CMAKECONFIG_INSTALL_DIR}"
0228     COMPONENT Devel
0229     )
0230 
0231 install(EXPORT KPim6AkonadiContactCoreTargets DESTINATION "${CMAKECONFIG_INSTALL_DIR}" FILE KPim6AkonadiContactCoreTargets.cmake NAMESPACE KPim6::)
0232 
0233 
0234 install(FILES
0235     ${CMAKE_CURRENT_BINARY_DIR}/akonadi-contact_core_version.h
0236     DESTINATION ${KDE_INSTALL_INCLUDEDIR}/KPim6/AkonadiContactCore COMPONENT Devel
0237 )