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 )