Warning, /pim/akonadi-contacts/src/akonadi-contacts-widgets/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 
0006 add_library(KPim6AkonadiContactWidgets)
0007 add_library(KPim6::AkonadiContactWidgets ALIAS KPim6AkonadiContactWidgets)
0008 
0009 
0010 ecm_setup_version(PROJECT VARIABLE_PREFIX AKONADICONTACT
0011     VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/akonadi-contacts-widgets_version.h"
0012     PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/KPim6AkonadiContactWidgetsConfigVersion.cmake"
0013     SOVERSION 6
0014     )
0015 
0016 ki18n_wrap_ui(akonadicontacts_widgets_UI_LIB_SRC contactgroupeditor.ui)
0017 
0018 target_sources(KPim6AkonadiContactWidgets PRIVATE
0019     editor/customfieldeditor/customfieldswidget.cpp
0020     editor/customfieldeditor/customfieldeditorwidget.cpp
0021     editor/customfieldeditor/customfieldslistwidget.cpp
0022     editor/customfieldeditor/customfieldslistdelegate.cpp
0023     editor/customfieldeditor/customfieldsmodel.cpp
0024     editor/utils/utils.cpp
0025     editor/widgets/kwidgetlister.cpp
0026     editor/widgets/contacteditorcombobox.cpp
0027     editor/generalinfoeditor/phone/phonewidgetlister.cpp
0028     editor/generalinfoeditor/phone/phonewidget.cpp
0029     editor/generalinfoeditor/phone/phonelistwidget.cpp
0030     editor/generalinfoeditor/phone/phonecomboboxtype.cpp
0031     editor/generalinfoeditor/phone/phonetypedialog.cpp
0032     editor/generalinfoeditor/web/webwidgetlister.cpp
0033     editor/generalinfoeditor/web/weblistwidget.cpp
0034     editor/generalinfoeditor/web/webwidget.cpp
0035     editor/generalinfoeditor/web/webselecttypecombobox.cpp
0036     editor/generalinfoeditor/mail/maillistwidget.cpp
0037     editor/generalinfoeditor/mail/mailwidget.cpp
0038     editor/generalinfoeditor/mail/mailwidgetlister.cpp
0039     editor/generalinfoeditor/mail/mailtypecombobox.cpp
0040     editor/generalinfoeditor/messaging/messaginglistwidget.cpp
0041     editor/generalinfoeditor/messaging/messagingwidget.cpp
0042     editor/generalinfoeditor/messaging/messagingwidgetlister.cpp
0043     editor/generalinfoeditor/generalinfowidget.cpp
0044     editor/generalinfoeditor/namewidget.cpp
0045     editor/generalinfoeditor/nicknamewidget.cpp
0046     editor/generalinfoeditor/categorieseditwidget.cpp
0047     editor/generalinfoeditor/nameeditdialog.cpp
0048     editor/generalinfoeditor/displaynameeditwidget.cpp
0049     editor/generalinfoeditor/messageformattingwidget.cpp
0050     editor/generalinfoeditor/blogfeedwidget.cpp
0051     editor/addresseditor/addressdelegate.cpp
0052     editor/addresseditor/addressmodel.cpp
0053     editor/addresseditor/addresseslocationwidget.cpp
0054     editor/addresseditor/addresslocationwidget.cpp
0055     editor/addresseditor/addresstypedialog.cpp
0056     editor/addresseditor/selectaddresstypecombobox.cpp
0057     editor/personaleditor/personaleditorwidget.cpp
0058     editor/personaleditor/dateeditwidget.cpp
0059     editor/businesseditor/businesseditorwidget.cpp
0060     editor/businesseditor/freebusyeditwidget.cpp
0061     editor/contacteditorwidget.cpp
0062     editor/widgets/imagewidget.cpp
0063     editor/widgets/preferredlineeditwidget.cpp
0064     customfields.cpp
0065     customfieldmanager.cpp
0066     contactmetadatabase.cpp
0067     editor/addresseditor/addresslocationwidget.h
0068     editor/addresseditor/selectaddresstypecombobox.h
0069     editor/addresseditor/addresseslocationwidget.h
0070     editor/addresseditor/addressdelegate.h
0071     editor/addresseditor/addressmodel.h
0072     editor/addresseditor/addresstypedialog.h
0073     editor/utils/utils.h
0074     editor/generalinfoeditor/web/webwidgetlister.h
0075     editor/generalinfoeditor/web/weblistwidget.h
0076     editor/generalinfoeditor/web/webwidget.h
0077     editor/generalinfoeditor/web/webselecttypecombobox.h
0078     editor/generalinfoeditor/messageformattingwidget.h
0079     editor/generalinfoeditor/phone/phonelistwidget.h
0080     editor/generalinfoeditor/phone/phonetypedialog.h
0081     editor/generalinfoeditor/phone/phonewidget.h
0082     editor/generalinfoeditor/phone/phonewidgetlister.h
0083     editor/generalinfoeditor/phone/phonecomboboxtype.h
0084     editor/generalinfoeditor/messaging/messaginglistwidget.h
0085     editor/generalinfoeditor/messaging/messagingwidgetlister.h
0086     editor/generalinfoeditor/messaging/messagingwidget.h
0087     editor/generalinfoeditor/nicknamewidget.h
0088     editor/generalinfoeditor/mail/maillistwidget.h
0089     editor/generalinfoeditor/mail/mailwidget.h
0090     editor/generalinfoeditor/mail/mailtypecombobox.h
0091     editor/generalinfoeditor/mail/mailwidgetlister.h
0092     editor/generalinfoeditor/blogfeedwidget.h
0093     editor/generalinfoeditor/displaynameeditwidget.h
0094     editor/generalinfoeditor/namewidget.h
0095     editor/generalinfoeditor/categorieseditwidget.h
0096     editor/generalinfoeditor/nameeditdialog.h
0097     editor/generalinfoeditor/generalinfowidget.h
0098     editor/contacteditorwidget.h
0099     editor/customfieldeditor/customfieldsmodel.h
0100     editor/customfieldeditor/customfieldslistdelegate.h
0101     editor/customfieldeditor/customfieldswidget.h
0102     editor/customfieldeditor/customfieldslistwidget.h
0103     editor/customfieldeditor/customfieldeditorwidget.h
0104     editor/personaleditor/dateeditwidget.h
0105     editor/personaleditor/personaleditorwidget.h
0106     editor/widgets/imagewidget.h
0107     editor/widgets/kwidgetlister_p.h
0108     editor/widgets/preferredlineeditwidget.h
0109     editor/widgets/contacteditorcombobox.h
0110     editor/businesseditor/freebusyeditwidget.h
0111     editor/businesseditor/businesseditorwidget.h
0112     akonadi_contact_widgets_private_export.h
0113     contacteditorpageplugin.h
0114     abstractcontacteditorwidget_p.h
0115     customfieldmanager_p.h
0116     contactmetadatabase_p.h
0117     customfields_p.h
0118 
0119     contacteditordialog.cpp
0120     contacteditordialog.h
0121 
0122     contacteditor.cpp
0123     contacteditor.h
0124 
0125     standardcontactactionmanager.cpp
0126     standardcontactactionmanager.h
0127 
0128     contactviewer.cpp
0129     contactviewer.h
0130 
0131     contactviewerdialog.h
0132     contactviewerdialog.cpp
0133 
0134     contactmetadataakonadi.cpp
0135     contactmetadataakonadi_p.h
0136 
0137     contactgroupviewer.cpp
0138     contactgroupviewer.h
0139 
0140     textbrowser_p.h
0141     textbrowser.cpp
0142     grantlee/grantleecontactviewer.h
0143     grantlee/grantleecontactviewer.cpp
0144 
0145     # contact group editor
0146     contactgroupeditor_p.h
0147     contactgroupeditor.cpp
0148     contactgroupeditor.h
0149     contactgroupeditordialog.cpp
0150     contactgroupeditordialog.h
0151     contactgroupeditordelegate.cpp
0152     contactgroupeditordelegate_p.h
0153     
0154     waitingoverlay.cpp
0155     waitingoverlay_p.h
0156     
0157     abstractemailaddressselectiondialog.cpp
0158     abstractemailaddressselectiondialog.h
0159     emailaddressselectiondialog.cpp
0160     emailaddressselectiondialog.h
0161     emailaddressrequester.cpp
0162     emailaddressrequester.h
0163     emailaddressselectionwidget.cpp
0164     emailaddressselectionwidget.h
0165     ${akonadicontacts_widgets_UI_LIB_SRC}
0166 )
0167 
0168 target_sources(KPim6AkonadiContactWidgets PRIVATE
0169     job/addemailaddressjob.cpp
0170     job/addemaildisplayjob.cpp
0171     job/addemailaddressjob.h
0172     job/addemaildisplayjob.h
0173     job/addcontactjob.h
0174     job/addcontactjob.cpp
0175     job/openemailaddressjob.cpp
0176     job/openemailaddressjob.h
0177 )
0178 
0179 target_sources(KPim6AkonadiContactWidgets PRIVATE
0180     widgets/selectaddressbookdialog.cpp
0181     widgets/selectaddressbookdialog.h
0182 )
0183 
0184 target_sources(KPim6AkonadiContactWidgets PRIVATE
0185     recipientspicker/recipientseditormanager.cpp
0186     recipientspicker/recipientspickerwidget.cpp
0187     recipientspicker/recipientseditormanager.h
0188     recipientspicker/recipientspickerwidget.h
0189     )
0190 
0191 
0192 ecm_qt_declare_logging_category(KPim6AkonadiContactWidgets HEADER contacteditor_debug.h IDENTIFIER CONTACTEDITOR_LOG CATEGORY_NAME org.kde.pim.contacteditor
0193         DESCRIPTION "akonadicontact (contact editor)"
0194         EXPORT AKONADICONTACTS
0195     )
0196 
0197 if (COMPILE_WITH_UNITY_CMAKE_SUPPORT)
0198     set_target_properties(KPim6AkonadiContactWidgets PROPERTIES UNITY_BUILD ON)
0199 endif()
0200 
0201 generate_export_header(KPim6AkonadiContactWidgets BASE_NAME akonadi-contact-widgets)
0202 
0203 
0204 target_include_directories(KPim6AkonadiContactWidgets INTERFACE "$<INSTALL_INTERFACE:${KDE_INSTALL_INCLUDEDIR}/KPim6/AkonadiContactWidgets>")
0205 target_include_directories(KPim6AkonadiContactWidgets PUBLIC "$<BUILD_INTERFACE:${Akonadi-Contact_SOURCE_DIR}/src/akonadi-contacts-widgets;${Akonadi-Contact_BINARY_DIR}/src/akonadi-contacts-widgets>")
0206 
0207 target_link_libraries(KPim6AkonadiContactWidgets
0208     PUBLIC
0209     KF6::Contacts
0210     Qt::Widgets
0211     KPim6::AkonadiContactCore
0212     PRIVATE
0213     KF6::Completion
0214     KF6::ConfigCore
0215     KF6::KIOWidgets
0216     KF6::I18n
0217     KF6::TextWidgets
0218     KF6::WidgetsAddons
0219     KPim6::AkonadiWidgets
0220     KF6::Prison
0221     KF6::XmlGui
0222     KF6::Codecs
0223     KF6::I18nLocaleData
0224     )
0225 
0226 set_target_properties(KPim6AkonadiContactWidgets PROPERTIES
0227     VERSION ${AKONADICONTACT_VERSION}
0228     SOVERSION ${AKONADICONTACT_SOVERSION}
0229     EXPORT_NAME AkonadiContactWidgets
0230     )
0231 
0232 install(TARGETS
0233     KPim6AkonadiContactWidgets
0234     EXPORT KPim6AkonadiContactWidgetsTargets ${KDE_INSTALL_TARGETS_DEFAULT_ARGS}
0235     )
0236 
0237 
0238 ecm_generate_headers(AkonadiContactWidgets_CamelCase_HEADERS
0239     HEADER_NAMES
0240     ContactEditorPagePlugin
0241     ContactEditorDialog
0242     ContactEditor
0243     ContactViewer
0244     StandardContactActionManager
0245     ContactViewerDialog
0246     ContactGroupViewer
0247     ContactGroupEditor
0248     ContactGroupEditorDialog
0249     
0250     EmailAddressSelectionDialog
0251     AbstractEmailAddressSelectionDialog
0252     EmailAddressRequester
0253     EmailAddressSelectionWidget
0254 
0255     REQUIRED_HEADERS AkonadiContactWidgets_HEADERS
0256     PREFIX Akonadi
0257     )
0258 
0259 ecm_generate_headers(AkonadiContactWidgetsRecipients_CamelCase_HEADERS
0260     HEADER_NAMES
0261     RecipientsEditorManager
0262     RecipientsPickerWidget
0263     REQUIRED_HEADERS AkonadiContactWidgetsRecipients_HEADERS
0264     PREFIX Akonadi
0265     RELATIVE recipientspicker
0266     )
0267 
0268 ecm_generate_headers(AkonadiContactWidgetsGrantlee_CamelCase_HEADERS
0269     HEADER_NAMES
0270     GrantleeContactViewer
0271     REQUIRED_HEADERS AkonadiContactWidgetsGrantlee_HEADERS
0272     RELATIVE grantlee
0273     PREFIX Akonadi
0274 )
0275 
0276 ecm_generate_headers(AkonadiContactWidgetsWidgets_CamelCase_HEADERS
0277     HEADER_NAMES
0278     SelectAddressBookDialog
0279     REQUIRED_HEADERS AkonadiContactWidgetsWidgets_HEADERS
0280     PREFIX Akonadi
0281     RELATIVE widgets
0282     )
0283 
0284 ecm_generate_headers(AkonadiContactWidgetsJob_CamelCase_HEADERS
0285     HEADER_NAMES
0286     AddEmailAddressJob
0287     AddEmailDisplayJob
0288     AddContactJob
0289     OpenEmailAddressJob
0290     REQUIRED_HEADERS AkonadiContactWidgetsJob_HEADERS
0291     PREFIX Akonadi
0292     RELATIVE job
0293     )
0294 
0295 
0296 install( FILES
0297     ${AkonadiContactWidgets_CamelCase_HEADERS}
0298     ${AkonadiContactWidgetsJob_CamelCase_HEADERS}
0299     ${AkonadiContactWidgetsRecipients_CamelCase_HEADERS}
0300     ${AkonadiContactWidgetsWidgets_CamelCase_HEADERS}
0301     ${AkonadiContactWidgetsGrantlee_CamelCase_HEADERS}
0302     DESTINATION ${KDE_INSTALL_INCLUDEDIR}/KPim6/AkonadiContactWidgets/Akonadi COMPONENT Devel
0303     )
0304 
0305 install( FILES
0306     ${AkonadiContactWidgets_HEADERS}
0307     ${AkonadiContactWidgetsJob_HEADERS}
0308     ${AkonadiContactWidgetsWidgets_HEADERS}
0309     ${AkonadiContactWidgetsRecipients_HEADERS}
0310     ${AkonadiContactWidgetsGrantlee_HEADERS}
0311     ${CMAKE_CURRENT_BINARY_DIR}/akonadi-contact-widgets_export.h
0312     DESTINATION ${KDE_INSTALL_INCLUDEDIR}/KPim6/AkonadiContactWidgets/akonadi COMPONENT Devel
0313     )
0314 
0315 
0316 
0317 if (BUILD_TESTING)
0318     add_subdirectory(tests)
0319     add_subdirectory(editor/addresseditor/autotests/)
0320     add_subdirectory(editor/generalinfoeditor/autotests/)
0321     add_subdirectory(editor/generalinfoeditor/tests)
0322     add_subdirectory(editor/customfieldeditor/autotests/)
0323     add_subdirectory(editor/customfieldeditor/tests)
0324     add_subdirectory(editor/widgets/autotests/)
0325 endif()
0326 
0327 install(FILES editor/pics/world.jpg DESTINATION ${KDE_INSTALL_DATADIR_KF}/akonadi/contact/pics)
0328 install(FILES editor/data/zone.tab DESTINATION ${KDE_INSTALL_DATADIR_KF}/akonadi/contact/data)
0329 
0330 if (BUILD_QCH)
0331     ecm_add_qch(
0332         KPim6AkonadiContactWidgets_QCH
0333         NAME KPim6AkonadiContactWidgets
0334         BASE_NAME KPim6AkonadiContactWidgets
0335         VERSION ${PIM_VERSION}
0336         ORG_DOMAIN org.kde
0337         SOURCES # using only public headers, to cover only public API
0338         ${AkonadiContactWidgets_HEADERS}
0339         ${AkonadiContactWidgetsRecipients_HEADERS}
0340         ${AkonadiContactWidgetsGrantlee_HEADERS}
0341         ${AkonadiContactWidgetsJob_HEADERS}
0342         #MD_MAINPAGE "${CMAKE_SOURCE_DIR}/README.md"
0343         #IMAGE_DIRS "${CMAKE_SOURCE_DIR}/docs/pics"
0344         LINK_QCHS
0345             Qt6Core_QCH
0346             Qt6Gui_QCH
0347             Qt6Widgets_QCH
0348         INCLUDE_DIRS
0349             ${CMAKE_CURRENT_BINARY_DIR}
0350         BLANK_MACROS
0351             AKONADI_CONTACT_WIDGETS_EXPORT
0352         TAGFILE_INSTALL_DESTINATION ${KDE_INSTALL_QTQCHDIR}
0353         QCH_INSTALL_DESTINATION ${KDE_INSTALL_QTQCHDIR}
0354         COMPONENT Devel
0355     )
0356 endif()
0357 
0358 
0359 set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/KPim6AkonadiContactWidgets")
0360 if (BUILD_QCH)
0361     ecm_install_qch_export(
0362         TARGETS KPim6AkonadiContactWidgets_QCH
0363         FILE KPim6AkonadiContactWidgetsQchTargets.cmake
0364         DESTINATION "${CMAKECONFIG_INSTALL_DIR}"
0365         COMPONENT Devel
0366     )
0367     set(PACKAGE_INCLUDE_QCHTARGETS "include(\"\${CMAKE_CURRENT_LIST_DIR}/KPim6AkonadiContactWidgetsQchTargets.cmake\")")
0368 endif()
0369 configure_package_config_file(
0370     "${CMAKE_CURRENT_SOURCE_DIR}/KPimAkonadiContactWidgetsConfig.cmake.in"
0371     "${CMAKE_CURRENT_BINARY_DIR}/KPim6AkonadiContactWidgetsConfig.cmake"
0372     INSTALL_DESTINATION  ${CMAKECONFIG_INSTALL_DIR}
0373     )
0374 install(FILES
0375     "${CMAKE_CURRENT_BINARY_DIR}/KPim6AkonadiContactWidgetsConfig.cmake"
0376     "${CMAKE_CURRENT_BINARY_DIR}/KPim6AkonadiContactWidgetsConfigVersion.cmake"
0377     DESTINATION "${CMAKECONFIG_INSTALL_DIR}"
0378     COMPONENT Devel
0379     )
0380 
0381 
0382 install(EXPORT KPim6AkonadiContactWidgetsTargets DESTINATION "${CMAKECONFIG_INSTALL_DIR}" FILE KPim6AkonadiContactWidgetsTargets.cmake NAMESPACE KPim6::)
0383 
0384 install(FILES
0385    ${CMAKE_CURRENT_BINARY_DIR}/akonadi-contacts-widgets_version.h
0386   DESTINATION ${KDE_INSTALL_INCLUDEDIR}/KPim6/AkonadiContactWidgets COMPONENT Devel
0387 )