Warning, /pim/messagelib/messagelist/src/CMakeLists.txt is written in an unsupported language. File is not indexed.

0001 # SPDX-License-Identifier: CC0-1.0
0002 # SPDX-FileCopyrightText: none
0003 
0004 ecm_setup_version(PROJECT VARIABLE_PREFIX MESSAGELIST
0005     VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/messagelist_version.h"
0006     PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/KPim6MessageListConfigVersion.cmake"
0007     SOVERSION 6
0008 )
0009 
0010 option(KDEPIM_FOLDEROPEN_PROFILE "Enable debug output for timing folder loading" FALSE)
0011 configure_file(config-messagelist.h.in ${CMAKE_CURRENT_BINARY_DIR}/config-messagelist.h)
0012 add_library(KPim6MessageList)
0013 add_library(KPim6::MessageList ALIAS KPim6MessageList)
0014 
0015 add_definitions(-DTRANSLATION_DOMAIN=\"libmessagelist6\")
0016 
0017 add_subdirectory(pics)
0018 if(BUILD_TESTING)
0019     add_subdirectory(core/widgets/autotests)
0020 endif()
0021 target_sources(KPim6MessageList PRIVATE
0022     core/aggregation.cpp
0023     core/delegate.cpp
0024     core/filter.cpp
0025     core/item.cpp
0026     core/groupheaderitem.cpp
0027     core/manager.cpp
0028     core/messageitem.cpp
0029     core/messageitemsetmanager.cpp
0030     core/model.cpp
0031     core/modelinvariantindex.cpp
0032     core/modelinvariantrowmapper.cpp
0033     core/optionset.cpp
0034     core/theme.cpp
0035     core/themedelegate.cpp
0036     core/threadingcache.cpp
0037     core/storagemodelbase.cpp
0038     core/sortorder.cpp
0039     core/view.cpp
0040     core/widgetbase.cpp
0041     core/filtersavedmanager.cpp
0042     core/widgets/quicksearchline.cpp
0043     core/widgets/quicksearchwarning.cpp
0044     core/widgets/searchlinestatus.cpp
0045     core/widgets/searchcollectionindexingwarning.cpp
0046     core/widgets/tablockedwarning.cpp
0047     core/widgets/filtersavedmenu.cpp
0048     core/widgets/configurefiltersdialog.cpp
0049     core/widgets/configurefilterswidget.cpp
0050     core/widgets/filternamedialog.cpp
0051     core/widgets/filternamewidget.cpp
0052 
0053     utils/aggregationcombobox.cpp
0054     utils/aggregationconfigbutton.cpp
0055     utils/aggregationeditor.cpp
0056     utils/comboboxutils.cpp
0057     utils/configureaggregationsdialog.cpp
0058     utils/configurethemesdialog.cpp
0059     utils/optionseteditor.cpp
0060     utils/themecombobox.cpp
0061     utils/themeconfigbutton.cpp
0062     utils/themeeditor.cpp
0063 
0064     pane.cpp
0065     storagemodel.cpp
0066     widget.cpp
0067     messagelistutil.cpp
0068     utils/aggregationconfigbutton.h
0069     utils/themecombobox_p.h
0070     utils/themeconfigbutton.h
0071     utils/configureaggregationsdialog_p.h
0072     utils/aggregationcombobox_p.h
0073     utils/themecombobox.h
0074     utils/configureaggregationsdialog.h
0075     utils/optionseteditor.h
0076     utils/configurethemesdialog.h
0077     utils/aggregationeditor.h
0078     utils/aggregationcombobox.h
0079     utils/comboboxutils.h
0080     utils/configurethemesdialog_p.h
0081     utils/themeeditor.h
0082     messagelist_private_export.h
0083     pane.h
0084     storagemodel.h
0085     widget.h
0086     messagelistutil.h
0087     messagelistutil_p.h
0088     core/groupheaderitem.h
0089     core/optionset.h
0090     core/item_p.h
0091     core/filtersavedmanager.h
0092     core/manager.h
0093     core/model.h
0094     core/messageitem_p.h
0095     core/storagemodelbase.h
0096     core/aggregation.h
0097     core/enums.h
0098     core/messageitemsetmanager.h
0099     core/modelinvariantrowmapper_p.h
0100     core/sortorder.h
0101     core/themedelegate.h
0102     core/widgetbase.h
0103     core/modelinvariantindex.h
0104     core/model_p.h
0105     core/view.h
0106     core/filter.h
0107     core/threadingcache.h
0108     core/theme.h
0109     core/widgets/tablockedwarning.h
0110     core/widgets/filtersavedmenu.h
0111     core/widgets/quicksearchwarning.h
0112     core/widgets/filternamewidget.h
0113     core/widgets/filternamedialog.h
0114     core/widgets/configurefiltersdialog.h
0115     core/widgets/quicksearchline.h
0116     core/widgets/searchlinestatus.h
0117     core/widgets/searchcollectionindexingwarning.h
0118     core/widgets/configurefilterswidget.h
0119     core/modelinvariantrowmapper.h
0120     core/messageitem.h
0121     core/modelinvariantindex_p.h
0122     core/delegate.h
0123     core/item.h
0124 
0125 )
0126 ecm_qt_declare_logging_category(KPim6MessageList HEADER messagelist_debug.h IDENTIFIER MESSAGELIST_LOG CATEGORY_NAME org.kde.pim.messagelist
0127     DESCRIPTION "messagelib (messagelist)"
0128     OLD_CATEGORY_NAMES log_messagelist
0129     EXPORT MESSAGELIB
0130 )
0131 
0132 kconfig_add_kcfg_files(KPim6MessageList
0133     core/messagelistsettings.kcfgc
0134 )
0135 
0136 if (COMPILE_WITH_UNITY_CMAKE_SUPPORT)
0137     set_target_properties(KPim6MessageList PROPERTIES UNITY_BUILD ON)
0138 endif()
0139 
0140 ecm_generate_export_header(KPim6MessageList
0141     BASE_NAME messagelist
0142     VERSION ${MESSAGELIST_VERSION}
0143     DEPRECATED_BASE_VERSION 0
0144     USE_VERSION_HEADER
0145 )
0146 
0147 
0148 target_include_directories(KPim6MessageList INTERFACE "$<INSTALL_INTERFACE:${KDE_INSTALL_INCLUDEDIR}/KPim6/MessageList/>")
0149 
0150 target_link_libraries(KPim6MessageList
0151     PUBLIC
0152     KPim6::AkonadiCore
0153     KPim6::AkonadiMime
0154     KPim6::Mime
0155     PRIVATE
0156     KF6::KIOCore
0157     KPim6::MessageCore
0158     KPim6::PimCommonAkonadi
0159     KPim6::AkonadiSearchPIM
0160     KF6::XmlGui
0161     KF6::IconThemes
0162     KF6::IconWidgets
0163     KF6::Completion
0164     KF6::I18n
0165     KF6::TextWidgets
0166     KF6::TextUtils
0167 )
0168 
0169 set_target_properties(KPim6MessageList PROPERTIES
0170     VERSION ${MESSAGELIST_VERSION}
0171     SOVERSION ${MESSAGELIST_SOVERSION}
0172     EXPORT_NAME MessageList
0173 )
0174 
0175 install(TARGETS
0176     KPim6MessageList
0177     EXPORT KPim6MessageListTargets ${KDE_INSTALL_TARGETS_DEFAULT_ARGS}
0178 )
0179 
0180 ecm_generate_headers(MessageList_Camelcasecore_HEADERS
0181     HEADER_NAMES
0182     View
0183     Enums
0184     StorageModelBase
0185     WidgetBase
0186     REQUIRED_HEADERS MessageList_core_HEADERS
0187     RELATIVE core
0188     PREFIX MessageList
0189 
0190 )
0191 
0192 ecm_generate_headers(MessageList_Camelcaseutil_HEADERS
0193     HEADER_NAMES
0194     AggregationComboBox
0195     ThemeComboBox
0196     AggregationConfigButton
0197     ThemeConfigButton
0198     REQUIRED_HEADERS MessageList_util_HEADERS
0199     RELATIVE utils
0200     PREFIX MessageList
0201 
0202 )
0203 
0204 ecm_generate_headers(MessageList_Camelcasewidgets_HEADERS
0205     HEADER_NAMES
0206     QuickSearchLine
0207     REQUIRED_HEADERS MessageList_widgets_HEADERS
0208     RELATIVE core/widgets
0209     PREFIX MessageList
0210 
0211 )
0212 
0213 
0214 ecm_generate_headers(MessageList_CamelCase_HEADERS
0215     HEADER_NAMES
0216     Pane
0217     StorageModel
0218     MessageListUtil
0219     REQUIRED_HEADERS MessageList_HEADERS
0220     PREFIX MessageList
0221 )
0222 
0223 
0224 install(FILES
0225     ${MessageList_Camelcasewidgets_HEADERS}
0226     ${MessageList_CamelCase_HEADERS}
0227     ${MessageList_Camelcasecore_HEADERS}
0228     ${MessageList_Camelcaseutil_HEADERS}
0229     DESTINATION ${KDE_INSTALL_INCLUDEDIR}/KPim6/MessageList/MessageList
0230     COMPONENT Devel
0231 )
0232 
0233 install(FILES
0234     ${MessageList_HEADERS}
0235     ${MessageList_widgets_HEADERS}
0236     ${CMAKE_CURRENT_BINARY_DIR}/messagelist_export.h
0237     ${CMAKE_CURRENT_BINARY_DIR}/messagelistsettings.h
0238     ${MessageList_core_HEADERS}
0239     ${MessageList_util_HEADERS}
0240     DESTINATION ${KDE_INSTALL_INCLUDEDIR}/KPim6/MessageList/messagelist
0241     COMPONENT Devel
0242 )
0243 set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/KPim6MessageList")
0244 
0245 
0246 if (BUILD_QCH)
0247     ecm_add_qch(
0248         KPim6MessageList_QCH
0249         NAME KPim6MessageList
0250         BASE_NAME KPim6MessageList
0251         VERSION ${PIM_VERSION}
0252         ORG_DOMAIN org.kde
0253         SOURCES # using only public headers, to cover only public API
0254         ${MessageList_HEADERS}
0255         ${MessageList_widgets_HEADERS}
0256         ${MessageList_core_HEADERS}
0257         ${MessageList_util_HEADERS}
0258         LINK_QCHS
0259         Qt6Core_QCH
0260         Qt6Gui_QCH
0261         Qt6Widgets_QCH
0262         INCLUDE_DIRS
0263         ${CMAKE_CURRENT_BINARY_DIR}
0264         BLANK_MACROS
0265         MESSAGELIST_EXPORT
0266         TAGFILE_INSTALL_DESTINATION ${KDE_INSTALL_QTQCHDIR}
0267         QCH_INSTALL_DESTINATION ${KDE_INSTALL_QTQCHDIR}
0268         COMPONENT Devel
0269     )
0270 
0271 ecm_install_qch_export(
0272     TARGETS KPim6MessageList_QCH
0273     FILE KPim6MessageListQchTargets.cmake
0274     DESTINATION "${CMAKECONFIG_INSTALL_DIR}"
0275     COMPONENT Devel
0276 )
0277 set(PACKAGE_INCLUDE_QCHTARGETS "include(\"\${CMAKE_CURRENT_LIST_DIR}/KPim6MessageListQchTargets.cmake\")")
0278 endif()
0279 
0280 
0281 configure_package_config_file(
0282     "${CMAKE_CURRENT_SOURCE_DIR}/KPimMessageListConfig.cmake.in"
0283     "${CMAKE_CURRENT_BINARY_DIR}/KPim6MessageListConfig.cmake"
0284     INSTALL_DESTINATION  ${CMAKECONFIG_INSTALL_DIR}
0285 )
0286 
0287 install(FILES
0288     "${CMAKE_CURRENT_BINARY_DIR}/KPim6MessageListConfig.cmake"
0289     "${CMAKE_CURRENT_BINARY_DIR}/KPim6MessageListConfigVersion.cmake"
0290     DESTINATION "${CMAKECONFIG_INSTALL_DIR}"
0291     COMPONENT Devel
0292 )
0293 
0294 install(EXPORT KPim6MessageListTargets DESTINATION "${CMAKECONFIG_INSTALL_DIR}" FILE KPim6MessageListTargets.cmake NAMESPACE KPim6::)
0295 
0296 install(FILES
0297     ${CMAKE_CURRENT_BINARY_DIR}/messagelist_version.h
0298     DESTINATION ${KDE_INSTALL_INCLUDEDIR}/KPim6/MessageList COMPONENT Devel
0299 )