Warning, /pim/pimcommon/src/pimcommon/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 install(FILES
0005     ${CMAKE_CURRENT_BINARY_DIR}/pimcommon_version.h
0006     DESTINATION ${KDE_INSTALL_INCLUDEDIR}/KPim6/PimCommon/ COMPONENT Devel
0007     )
0008 
0009 ecm_setup_version(PROJECT VARIABLE_PREFIX PIMCOMMON
0010     VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/pimcommon_version.h"
0011     PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/KPim6PimCommonConfigVersion.cmake"
0012     SOVERSION 6
0013     )
0014 
0015 
0016 macro(add_resource_iface _kcfgFile _ifaceName _className)
0017     kcfg_generate_dbus_interface(${CMAKE_CURRENT_SOURCE_DIR}/${_kcfgFile} ${_ifaceName})
0018     qt_add_dbus_interface(libpimcommon_SRCS
0019         ${CMAKE_CURRENT_BINARY_DIR}/${_ifaceName}.xml ${_fileName} ${_className}
0020         )
0021 endmacro()
0022 
0023 add_resource_iface(util/imapresource.kcfg org.kde.Akonadi.Imap.Settings imapresourcesettings)
0024 
0025 add_library(KPim6PimCommon)
0026 add_library(KPim6::PimCommon ALIAS KPim6PimCommon)
0027 ecm_qt_declare_logging_category(KPim6PimCommon HEADER pimcommon_debug.h IDENTIFIER PIMCOMMON_LOG CATEGORY_NAME org.kde.pim.pimcommon
0028         DESCRIPTION "kdepim (pimcommon)"
0029         OLD_CATEGORY_NAMES log_pimcommon
0030         EXPORT PIMCOMMON
0031     )
0032 
0033 target_sources(KPim6PimCommon PRIVATE
0034     ${libpimcommon_SRCS}
0035     genericplugins/pluginutil.cpp
0036     genericplugins/genericpluginmanager.cpp
0037     genericplugins/genericplugin.cpp
0038     genericplugins/abstractgenericplugin.cpp
0039     genericplugins/abstractgenericplugininterface.cpp
0040     configureplugins/configurepluginslistwidget.cpp
0041     configureplugins/configurepluginswidget.cpp
0042     configureplugins/configureplugindialog.cpp
0043 
0044     templatewidgets/templatelistwidget.cpp
0045     templatewidgets/templateeditdialog.cpp
0046     templatewidgets/templatemanager.cpp
0047     widgets/renamefiledialog.cpp
0048     widgets/simplestringlisteditor.cpp
0049     widgets/customtreeview.cpp
0050     widgets/configureimmutablewidgetutils.cpp
0051     widgets/kactionmenuchangecase.cpp
0052     widgets/spellchecklineedit.cpp
0053     widgets/lineeditwithcompleterng.cpp
0054     widgets/customlogwidget.cpp
0055     customtools/customtoolsplugin.cpp
0056     customtools/customtoolspluginmanager.cpp
0057     customtools/customtoolswidgetng.cpp
0058     customtools/customtoolsviewinterface.cpp
0059     util/pimutil.cpp
0060     util/broadcaststatus.cpp
0061 
0062     shareserviceurl/shareserviceurlmanager.cpp
0063     network/networkmanager.cpp
0064     widgets/icons.qrc
0065 
0066     customtools/customtoolswidgetng.h
0067     customtools/customtoolsplugin.h
0068     customtools/customtoolspluginmanager.h
0069     customtools/customtoolsviewinterface.h
0070     configureplugins/configureplugindialog.h
0071     configureplugins/configurepluginswidget.h
0072     configureplugins/configurepluginslistwidget.h
0073     shareserviceurl/shareserviceurlmanager.h
0074     pimcommon_private_export.h
0075     network/networkmanager.h
0076     widgets/renamefiledialog.h
0077     widgets/spellchecklineedit.h
0078     widgets/customtreeview.h
0079     widgets/lineeditwithcompleterng.h
0080     widgets/simplestringlisteditor.h
0081     widgets/customlogwidget.h
0082     widgets/configureimmutablewidgetutils.h
0083     widgets/kactionmenuchangecase.h
0084     templatewidgets/templatemanager.h
0085     templatewidgets/templatelistwidget.h
0086     templatewidgets/templateeditdialog.h
0087     util/broadcaststatus.h
0088     util/pimutil.h
0089     genericplugins/genericplugin.h
0090     genericplugins/genericpluginmanager.h
0091     genericplugins/pluginutil.h
0092     genericplugins/abstractgenericplugininterface.h
0093     genericplugins/abstractgenericplugin.h
0094 
0095     autocorrection/widgets/lineeditwithautocorrection.h
0096     autocorrection/widgets/lineeditwithautocorrection.cpp
0097 
0098     widgets/purposemenumessagewidget.h
0099     widgets/purposemenumessagewidget.cpp
0100 
0101 
0102     needupdateversion/needupdateversionwidget.h
0103     needupdateversion/needupdateversionwidget.cpp
0104 
0105     needupdateversion/needupdateversionutils.h
0106     needupdateversion/needupdateversionutils.cpp
0107     )
0108 target_sources(KPim6PimCommon PRIVATE
0109     widgets/purposemenuwidget.h
0110     widgets/purposemenuwidget.cpp
0111 )
0112 if (ENABLE_WARN_OUTDATED)
0113     target_compile_definitions(KPim6PimCommon PRIVATE ENABLE_WARN_OUTDATED=1)
0114 else()
0115     target_compile_definitions(KPim6PimCommon PRIVATE ENABLE_WARN_OUTDATED=0)
0116 endif()
0117 
0118 if (COMPILE_WITH_UNITY_CMAKE_SUPPORT)
0119     set_target_properties(KPim6PimCommon PROPERTIES UNITY_BUILD ON)
0120 endif()
0121 ecm_generate_export_header(KPim6PimCommon
0122     BASE_NAME pimcommon
0123     VERSION ${PIMCOMMON_VERSION}
0124     DEPRECATED_BASE_VERSION 0
0125     USE_VERSION_HEADER
0126 )
0127 
0128 
0129 target_link_libraries(KPim6PimCommon
0130     PUBLIC
0131     Qt::Gui
0132     Qt::Widgets
0133     Qt::DBus
0134     KF6::KIOCore
0135     KF6::WidgetsAddons
0136     KF6::TextCustomEditor
0137     PRIVATE
0138     Qt::Network
0139     KF6::I18n
0140     KF6::XmlGui
0141     KF6::KIOWidgets
0142     KF6::ItemViews
0143     KF6::NewStuffCore
0144     KF6::NewStuffWidgets
0145     KF6::Purpose
0146     KF6::PurposeWidgets
0147     KF6::Codecs
0148 )
0149 if (TARGET KF6::TextAutoCorrectionWidgets)
0150     target_link_libraries(KPim6PimCommon
0151         PUBLIC
0152         KF6::TextAutoCorrectionWidgets
0153     )
0154 else()
0155     target_link_libraries(KPim6PimCommon
0156         PUBLIC
0157         KF6::TextAutoCorrection
0158     )
0159 endif()
0160 
0161 target_include_directories(KPim6PimCommon INTERFACE "$<INSTALL_INTERFACE:${KDE_INSTALL_INCLUDEDIR}/KPim6/PimCommon/>")
0162 
0163 target_include_directories(KPim6PimCommon PUBLIC "$<BUILD_INTERFACE:${pimcommon_SOURCE_DIR}/src;${pimcommon_BINARY_DIR}/src>")
0164 
0165 set_target_properties(KPim6PimCommon PROPERTIES
0166     VERSION ${PIMCOMMON_VERSION}
0167     SOVERSION ${PIMCOMMON_SOVERSION}
0168     EXPORT_NAME PimCommon
0169     )
0170 
0171 install(TARGETS
0172     KPim6PimCommon
0173     EXPORT KPim6PimCommonTargets ${KDE_INSTALL_TARGETS_DEFAULT_ARGS}
0174     )
0175 
0176 if (BUILD_TESTING)
0177     add_subdirectory(widgets/autotests)
0178     add_subdirectory(shareserviceurl/autotests)
0179     add_subdirectory(widgets/tests)
0180     add_subdirectory(customtools/autotests)
0181     add_subdirectory(autotests)
0182     add_subdirectory(configureplugins/autotests)
0183     add_subdirectory(genericplugins/autotests)
0184     add_subdirectory(autocorrection/autotests)
0185     add_subdirectory(autocorrection/tests)
0186     add_subdirectory(needupdateversion/tests)
0187     add_subdirectory(needupdateversion/autotests)
0188 endif()
0189 
0190 ecm_generate_headers(PimCommon_CamelCasegenericplugins_HEADERS
0191     HEADER_NAMES
0192     PluginUtil
0193     GenericPluginManager
0194     GenericPlugin
0195     AbstractGenericPlugin
0196     AbstractGenericPluginInterface
0197     REQUIRED_HEADERS PimCommon_genericplugins_HEADERS
0198     PREFIX PimCommon
0199     RELATIVE genericplugins
0200     )
0201 
0202 ecm_generate_headers(PimCommon_Camelcaseautocorrectionwidgets_HEADERS
0203     HEADER_NAMES
0204     LineEditWithAutoCorrection
0205     REQUIRED_HEADERS PimCommon_autocorrectionwidgets_HEADERS
0206     PREFIX PimCommon
0207     RELATIVE autocorrection/widgets/
0208     )
0209 
0210 ecm_generate_headers(PimCommon_Camelcaseneedupdateversionwidgets_HEADERS
0211     HEADER_NAMES
0212     NeedUpdateVersionUtils
0213     NeedUpdateVersionWidget
0214     REQUIRED_HEADERS PimCommon_needupdateversionwidgets_HEADERS
0215     PREFIX PimCommon
0216     RELATIVE needupdateversion
0217     )
0218 
0219 
0220 ecm_generate_headers(PimCommon_CamelCasenetworkmanager_HEADERS
0221     HEADER_NAMES
0222     NetworkManager
0223     REQUIRED_HEADERS PimCommon_networkmanager_HEADERS
0224     PREFIX PimCommon
0225     RELATIVE network
0226     )
0227 
0228 ecm_generate_headers(PimCommon_CamelCase_HEADERS
0229     HEADER_NAMES
0230     PimUtil
0231     BroadcastStatus
0232     REQUIRED_HEADERS PimCommon_HEADERS
0233     PREFIX PimCommon
0234     RELATIVE util
0235     )
0236 
0237 ecm_generate_headers(PimCommon_Camelcaseshareserviceurl_HEADERS
0238     HEADER_NAMES
0239     ShareServiceUrlManager
0240     REQUIRED_HEADERS PimCommon_shareserviceurl_HEADERS
0241     PREFIX PimCommon
0242     RELATIVE shareserviceurl
0243     )
0244 
0245 ecm_generate_headers(PimCommon_Camelcasecustomtools_HEADERS
0246     HEADER_NAMES
0247     CustomToolsWidgetng
0248     CustomToolsPlugin
0249     CustomToolsViewInterface
0250     CustomToolsPluginManager
0251     REQUIRED_HEADERS PimCommon_customtools_HEADERS
0252     PREFIX PimCommon
0253     RELATIVE customtools
0254     )
0255 
0256 ecm_generate_headers(PimCommon_Camelcasetemplatelist_HEADERS
0257     HEADER_NAMES
0258     TemplateListWidget
0259     TemplateManager
0260     REQUIRED_HEADERS PimCommon_templatelist_HEADERS
0261     PREFIX PimCommon
0262     RELATIVE templatewidgets
0263     )
0264 
0265 
0266 ecm_generate_headers(PimCommon_Camelcasewidgets_HEADERS
0267     HEADER_NAMES
0268     CustomTreeView
0269     SpellCheckLineEdit
0270     ConfigureImmutableWidgetUtils
0271     RenameFileDialog
0272     SimpleStringListEditor
0273     KActionMenuChangeCase
0274     LineEditWithCompleterNg
0275     CustomLogWidget
0276     PurposeMenuWidget
0277     PurposeMenuMessageWidget
0278     REQUIRED_HEADERS PimCommon_widgets_HEADERS
0279     PREFIX PimCommon
0280     RELATIVE widgets
0281     )
0282 
0283 ecm_generate_headers(PimCommon_Camelcaseconfigureplugins_HEADERS
0284     HEADER_NAMES
0285     ConfigurePluginsListWidget
0286     ConfigurePluginsWidget
0287     ConfigurePluginDialog
0288     REQUIRED_HEADERS PimCommon_configureplugins_HEADERS
0289     PREFIX PimCommon
0290     RELATIVE configureplugins
0291     )
0292 
0293 
0294 install(FILES
0295     ${PimCommon_Camelcaseconfigureplugins_HEADERS}
0296     ${PimCommon_CamelCasegenericplugins_HEADERS}
0297     ${PimCommon_Camelcaseautocorrectionwidgets_HEADERS}
0298     ${PimCommon_CamelCasenetworkmanager_HEADERS}
0299     ${PimCommon_Camelcaseneedupdateversionwidgets_HEADERS}
0300     ${PimCommon_CamelCase_HEADERS}
0301     ${PimCommon_CamelCasejob_HEADERS}
0302     ${PimCommon_Camelcasecustomtools_HEADERS}
0303     ${PimCommon_Camelcasemanagerserversidesubscription_HEADERS}
0304     ${PimCommon_Camelcasemigrate_HEADERS}
0305     ${PimCommon_Camelcaseplaintexteditor_HEADERS}
0306     ${PimCommon_Camelcaserichtexteditor_HEADERS}
0307     ${PimCommon_Camelcasescript_HEADERS}
0308     ${PimCommon_Camelcaseshareserviceurl_HEADERS}
0309     ${PimCommon_Camelcasetemplatelist_HEADERS}
0310     ${PimCommon_Camelcasetexteditor_commonwidget_HEADERS}
0311     ${PimCommon_Camelcasewidgets_HEADERS}
0312     DESTINATION ${KDE_INSTALL_INCLUDEDIR}/KPim6/PimCommon/PimCommon
0313     COMPONENT Devel
0314     )
0315 
0316 install(FILES
0317     ${CMAKE_CURRENT_BINARY_DIR}/imapresourcesettings.h
0318     ${CMAKE_CURRENT_BINARY_DIR}/pimcommon_export.h
0319     ${PimCommon_HEADERS}
0320     ${PimCommon_autocorrectionwidgets_HEADERS}
0321     ${PimCommon_genericplugins_HEADERS}
0322     ${PimCommon_configureplugins_HEADERS}
0323     ${PimCommon_networkmanager_HEADERS}
0324     ${PimCommon_needupdateversionwidgets_HEADERS}
0325     ${PimCommon_customtools_HEADERS}
0326     ${PimCommon_job_HEADERS}
0327     ${PimCommon_managerserversidesubscription_HEADERS}
0328     ${PimCommon_plaintexteditor_HEADERS}
0329     ${PimCommon_richtexteditor_HEADERS}
0330     ${PimCommon_shareserviceurl_HEADERS}
0331     ${PimCommon_templatelist_HEADERS}
0332     ${PimCommon_texteditor_commonwidget_HEADERS}
0333     ${PimCommon_widgets_HEADERS}
0334 
0335     DESTINATION ${KDE_INSTALL_INCLUDEDIR}/KPim6/PimCommon/pimcommon
0336     COMPONENT Devel
0337     )
0338 
0339 if(BUILD_DESIGNERPLUGIN)
0340     add_subdirectory(designer)
0341 endif()
0342 
0343 if (BUILD_QCH)
0344     ecm_add_qch(
0345         KPim6PimCommon_QCH
0346         NAME KPim6PimCommon
0347         BASE_NAME KPim6PimCommon
0348         VERSION ${PIM_VERSION}
0349         ORG_DOMAIN org.kde
0350         SOURCES # using only public headers, to cover only public API
0351         ${PimCommon_HEADERS}
0352         ${PimCommon_genericplugins_HEADERS}
0353         ${PimCommon_configureplugins_HEADERS}
0354         ${PimCommon_networkmanager_HEADERS}
0355         ${PimCommon_needupdateversionwidgets_HEADERS}
0356         ${PimCommon_customtools_HEADERS}
0357         ${PimCommon_job_HEADERS}
0358         ${PimCommon_managerserversidesubscription_HEADERS}
0359         ${PimCommon_plaintexteditor_HEADERS}
0360         ${PimCommon_richtexteditor_HEADERS}
0361         ${PimCommon_settings_HEADERS}
0362         ${PimCommon_shareserviceurl_HEADERS}
0363         ${PimCommon_storageservice_HEADERS}
0364         ${PimCommon_storageservicedialog_HEADERS}
0365         ${PimCommon_storageserviceinterface_HEADERS}
0366         ${PimCommon_storageservicesettings_HEADERS}
0367         ${PimCommon_storageservicewidgets_HEADERS}
0368         ${PimCommon_templatelist_HEADERS}
0369         ${PimCommon_texteditor_commonwidget_HEADERS}
0370         ${PimCommon_translator_HEADERS}
0371         ${PimCommon_widgets_HEADERS}
0372         #MD_MAINPAGE "${CMAKE_SOURCE_DIR}/README.md"
0373         #IMAGE_DIRS "${CMAKE_SOURCE_DIR}/docs/pics"
0374         LINK_QCHS
0375             Qt6Core_QCH
0376             Qt6Gui_QCH
0377             Qt6Widgets_QCH
0378         INCLUDE_DIRS
0379             ${CMAKE_CURRENT_BINARY_DIR}
0380         BLANK_MACROS
0381             PIMCOMMON_EXPORT
0382         TAGFILE_INSTALL_DESTINATION ${KDE_INSTALL_QTQCHDIR}
0383         QCH_INSTALL_DESTINATION ${KDE_INSTALL_QTQCHDIR}
0384         COMPONENT Devel
0385     )
0386 endif()
0387 
0388 set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/KPim6PimCommon")
0389 if (BUILD_QCH)
0390 ecm_install_qch_export(
0391     TARGETS KPim6PimCommon_QCH
0392     FILE KPim6PimCommonQchTargets.cmake
0393     DESTINATION "${CMAKECONFIG_INSTALL_DIR}"
0394     COMPONENT Devel
0395 )
0396 set(PACKAGE_INCLUDE_QCHTARGETS "include(\"\${CMAKE_CURRENT_LIST_DIR}/KPim6PimCommonQchTargets.cmake\")")
0397 endif()
0398 configure_package_config_file(
0399     "${CMAKE_CURRENT_SOURCE_DIR}/KPimCommonConfig.cmake.in"
0400     "${CMAKE_CURRENT_BINARY_DIR}/KPim6PimCommonConfig.cmake"
0401     INSTALL_DESTINATION  ${CMAKECONFIG_INSTALL_DIR}
0402     )
0403 
0404 install(FILES
0405     "${CMAKE_CURRENT_BINARY_DIR}/KPim6PimCommonConfig.cmake"
0406     "${CMAKE_CURRENT_BINARY_DIR}/KPim6PimCommonConfigVersion.cmake"
0407     DESTINATION "${CMAKECONFIG_INSTALL_DIR}"
0408     COMPONENT Devel
0409     )
0410 
0411 install(EXPORT KPim6PimCommonTargets DESTINATION "${CMAKECONFIG_INSTALL_DIR}" FILE KPim6PimCommonTargets.cmake NAMESPACE KPim6::)