Warning, /frameworks/kcontacts/src/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 add_library(KF6Contacts)
0002 add_library(KF6::Contacts ALIAS KF6Contacts)
0003
0004 set_target_properties(KF6Contacts PROPERTIES
0005 VERSION ${KCONTACTS_VERSION}
0006 SOVERSION ${KCONTACTS_SOVERSION}
0007 EXPORT_NAME Contacts
0008 )
0009
0010 target_sources(KF6Contacts PRIVATE
0011 address.cpp
0012 addressee.cpp
0013 addressee.h
0014 addresseehelper.cpp
0015 addresseehelper_p.h
0016 addresseelist.h
0017 addressformat.cpp
0018 addressformatparser.cpp
0019 addressformatscript.cpp
0020 addressformatter.cpp
0021 address.h
0022 calendarurl.cpp
0023 calendarurl.h
0024 clientpidmap.cpp
0025 clientpidmap.h
0026 contactgroup.cpp
0027 contactgroup.h
0028 contactgrouptool.cpp
0029 contactgrouptool.h
0030 converter/ldifconverter.cpp
0031 converter/ldifconverter.h
0032 converter/vcardconverter.cpp
0033 converter/vcardconverter.h
0034 email.cpp
0035 email.h
0036 fieldgroup.cpp
0037 fieldgroup.h
0038 gender.cpp
0039 gender.h
0040 geo.cpp
0041 geo.h
0042 impp.cpp
0043 impp.h
0044 key.cpp
0045 key.h
0046 lang.cpp
0047 lang.h
0048 ldif.cpp
0049 ldif_p.h
0050 namespace.cpp
0051 nickname.cpp
0052 nickname.h
0053 note.cpp
0054 note.h
0055 org.cpp
0056 org.h
0057 parametermap_p.h
0058 phonenumber.cpp
0059 phonenumber.h
0060 picture.cpp
0061 picture.h
0062 related.cpp
0063 related.h
0064 resourcelocatorurl.cpp
0065 resourcelocatorurl.h
0066 role.cpp
0067 role.h
0068 secrecy.cpp
0069 secrecy.h
0070 sound.cpp
0071 sound.h
0072 timezone.cpp
0073 timezone.h
0074 title.cpp
0075 title.h
0076 vcarddrag.cpp
0077 vcarddrag.h
0078 vcardparser/vcard.cpp
0079 vcardparser/vcardline.cpp
0080 vcardparser/vcardline_p.h
0081 vcardparser/vcardparser.cpp
0082 vcardparser/vcardparser_p.h
0083 vcardparser/vcard_p.h
0084 vcardtool.cpp
0085 vcardtool_p.h
0086
0087
0088 kcontacts.qrc
0089 improtocols/improtocols.qrc
0090 )
0091
0092 ecm_qt_declare_logging_category(KF6Contacts
0093 HEADER kcontacts_debug.h
0094 IDENTIFIER KCONTACTS_LOG
0095 CATEGORY_NAME kf.contacts
0096 OLD_CATEGORY_NAMES log_kcontacts org.kde.pim.kcontacts
0097 DESCRIPTION "KContacts"
0098 EXPORT KCONTACTS
0099 )
0100
0101 ecm_generate_export_header(KF6Contacts
0102 EXPORT_FILE_NAME kcontacts_export.h
0103 BASE_NAME kcontacts
0104 GROUP_BASE_NAME KF
0105 VERSION ${KF_VERSION}
0106 USE_VERSION_HEADER
0107 DEPRECATED_BASE_VERSION 0
0108 DEPRECATION_VERSIONS
0109 EXCLUDE_DEPRECATED_BEFORE_AND_AT ${EXCLUDE_DEPRECATED_BEFORE_AND_AT}
0110 )
0111
0112 target_include_directories(KF6Contacts INTERFACE "$<INSTALL_INTERFACE:${KDE_INSTALL_INCLUDEDIR_KF}/KContacts>")
0113 set(KContacts_BUILD_INCLUDE_DIRS
0114 ${KContacts_SOURCE_DIR}/src
0115 ${KContacts_BINARY_DIR}/src
0116 ${KContacts_SOURCE_DIR}/src/vcardparser
0117 )
0118 target_include_directories(KF6Contacts PUBLIC "$<BUILD_INTERFACE:${KContacts_BUILD_INCLUDE_DIRS}>")
0119
0120 target_link_libraries(KF6Contacts
0121 PUBLIC
0122 Qt6::Core
0123 Qt6::Gui
0124 PRIVATE
0125 KF6::CoreAddons
0126 KF6::ConfigCore
0127 KF6::I18n
0128 KF6::I18nLocaleData
0129 KF6::Codecs # for the vcard parser
0130 )
0131
0132 install(TARGETS KF6Contacts EXPORT KF6ContactsTargets ${KF_INSTALL_TARGETS_DEFAULT_ARGS})
0133
0134 ecm_generate_headers(KContacts_CamelCase_HEADERS
0135 HEADER_NAMES
0136 Address
0137 AddressFormat
0138 Addressee
0139 AddresseeList
0140 CalendarUrl
0141 ContactGroup
0142 ContactGroupTool
0143 Email
0144 Geo
0145 Gender
0146 Key
0147 Lang
0148 Namespace
0149 Impp
0150 PhoneNumber
0151 Picture
0152 Related
0153 ResourceLocatorUrl
0154 Secrecy
0155 Sound
0156 TimeZone
0157 Title
0158 Role
0159 Note
0160 Org
0161 NickName
0162 VCardDrag
0163 FieldGroup
0164 ClientPidMap
0165 PREFIX KContacts
0166 REQUIRED_HEADERS KContacts_HEADERS
0167 )
0168
0169 add_subdirectory(converter)
0170
0171 install(FILES
0172 ${CMAKE_CURRENT_BINARY_DIR}/kcontacts_export.h
0173 ${KContacts_HEADERS}
0174 DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF}/KContacts/kcontacts
0175 COMPONENT Devel
0176 )
0177
0178 install(FILES
0179 ${KContacts_CamelCase_HEADERS}
0180 DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF}/KContacts/KContacts
0181 COMPONENT Devel
0182 )
0183
0184 ecm_qt_install_logging_categories(
0185 EXPORT KCONTACTS
0186 FILE kcontacts.categories
0187 DESTINATION "${KDE_INSTALL_LOGGINGCATEGORIESDIR}"
0188 )
0189
0190 if(BUILD_QCH)
0191 ecm_add_qch(
0192 KF6Contacts_QCH
0193 NAME KContacts
0194 BASE_NAME KF6Contacts
0195 VERSION ${KCONTACTS_VERSION}
0196 ORG_DOMAIN org.kde
0197 SOURCES # using only public headers, to cover only public API
0198 ${KContacts_HEADERS}
0199 "${CMAKE_SOURCE_DIR}/docs/AddressFormat.md"
0200 MD_MAINPAGE "${CMAKE_SOURCE_DIR}/README.md"
0201 LINK_QCHS
0202 Qt6Core_QCH
0203 INCLUDE_DIRS
0204 ${KContacts_BUILD_INCLUDE_DIRS}
0205 BLANK_MACROS
0206 KCONTACTS_EXPORT
0207 "KCONTACTS_DEPRECATED_VERSION(x, y, t)"
0208 "KCONTACTS_DEPRECATED_VERSION_BELATED(x, y, xt, yt, t)"
0209 "KCONTACTS_ENUMERATOR_DEPRECATED_VERSION(x, y, t)"
0210 "KCONTACTS_ENUMERATOR_DEPRECATED_VERSION_BELATED(x, y, xt, yt, t)"
0211 TAGFILE_INSTALL_DESTINATION ${KDE_INSTALL_QTQCHDIR}
0212 QCH_INSTALL_DESTINATION ${KDE_INSTALL_QTQCHDIR}
0213 COMPONENT Devel
0214 )
0215 endif()