Warning, /frameworks/kxmlgui/src/CMakeLists.txt is written in an unsupported language. File is not indexed.

0001 add_subdirectory(ksendbugmail)
0002 
0003 add_library(KF5XmlGui)
0004 add_library(KF5::XmlGui ALIAS KF5XmlGui)
0005 
0006 if (HAVE_GLOBALACCEL)
0007     target_link_libraries(KF5XmlGui PRIVATE KF5::GlobalAccel)
0008 endif ()
0009 if(WIN32)
0010     target_link_libraries(KF5XmlGui PRIVATE secur32) # GetUserNameEx()
0011 endif()
0012 
0013 configure_file(config-xmlgui.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-xmlgui.h )
0014 
0015 target_sources(KF5XmlGui PRIVATE
0016   kaboutapplicationdialog.cpp
0017   kaboutapplicationcomponentlistdelegate_p.cpp
0018   kaboutapplicationcomponentmodel_p.cpp
0019   kaboutapplicationlistview_p.cpp
0020   kaboutapplicationpersonlistdelegate_p.cpp
0021   kaboutapplicationpersonmodel_p.cpp
0022   kaboutkdedialog_p.cpp
0023   kaboutplugindialog.cpp
0024   kabstractaboutdialog_p.cpp
0025   kactioncategory.cpp
0026   kactioncollection.cpp
0027   kactionconflictdetector.cpp
0028   kbugreport.cpp
0029   kedittoolbar.cpp
0030   khelpmenu.cpp
0031   kkeysequencewidget.cpp
0032   klicensedialog_p.cpp
0033   kmainwindow.cpp
0034   kmenumenuhandler_p.cpp
0035   kshortcuteditwidget.cpp
0036   kshortcutschemeseditor.cpp
0037   kshortcutschemeshelper.cpp
0038   kshortcutsdialog.cpp
0039   kshortcutseditor.cpp
0040   kshortcutseditordelegate.cpp
0041   kshortcutseditoritem.cpp
0042   kshortcutwidget.cpp
0043   kswitchlanguagedialog_p.cpp
0044   ktoggletoolbaraction.cpp
0045   ktoolbar.cpp
0046   ktoolbarhandler.cpp
0047   ktoolbarhelper.cpp
0048   ktooltiphelper.cpp
0049   kxmlguibuilder.cpp
0050   kxmlguiclient.cpp
0051   kxmlguifactory.cpp
0052   kxmlguifactory_p.cpp
0053   kxmlguiversionhandler.cpp
0054   kxmlguiwindow.cpp
0055   kundoactions.cpp
0056   kcheckaccelerators.cpp
0057 )
0058 if (TARGET Qt${QT_MAJOR_VERSION}::DBus)
0059     target_sources(KF5XmlGui PRIVATE
0060         kmainwindowiface.cpp
0061     )
0062 endif()
0063 
0064 # add the resource file
0065 target_sources(KF5XmlGui PRIVATE
0066     kxmlgui.qrc
0067 )
0068 
0069 ecm_qt_declare_logging_category(KF5XmlGui
0070     HEADER debug.h
0071     IDENTIFIER DEBUG_KXMLGUI
0072     CATEGORY_NAME kf.xmlgui
0073     OLD_CATEGORY_NAMES kf5.kxmlgui
0074     DESCRIPTION "KXmlGui"
0075     EXPORT KXMLGUI
0076 )
0077 
0078 ki18n_wrap_ui(KF5XmlGui
0079     kshortcutsdialog.ui
0080     kshortcutwidget.ui
0081 )
0082 
0083 ecm_generate_export_header(KF5XmlGui
0084     BASE_NAME KXmlGui
0085     GROUP_BASE_NAME KF
0086     VERSION ${KF_VERSION}
0087     DEPRECATED_BASE_VERSION 0
0088     DEPRECATION_VERSIONS 4.0 4.1 5.0 5.75 5.83 5.84
0089     EXCLUDE_DEPRECATED_BEFORE_AND_AT ${EXCLUDE_DEPRECATED_BEFORE_AND_AT}
0090 )
0091 
0092 target_include_directories(KF5XmlGui INTERFACE "$<INSTALL_INTERFACE:${KDE_INSTALL_INCLUDEDIR_KF}/KXmlGui>")
0093 
0094 target_link_libraries(KF5XmlGui
0095 PUBLIC
0096     Qt${QT_MAJOR_VERSION}::Xml      #To parse the configuration (QDomDocument etc)
0097     Qt${QT_MAJOR_VERSION}::Widgets  #QWidget is used everywhere
0098     KF5::ConfigCore     #Reading config for ToolbarIcons, Shortcut Schemes...
0099     KF5::ConfigWidgets  #KStandardAction, KToggleAction...
0100 PRIVATE
0101     Qt${QT_MAJOR_VERSION}::Network        #QNetworkAccessManager in kaboutapplicationpersonmodel_p
0102     Qt${QT_MAJOR_VERSION}::PrintSupport   #QPrinter in kshortcutseditor
0103     Qt${QT_MAJOR_VERSION}::CorePrivate    #QSystemLocale in initializeLanguages
0104     KF5::CoreAddons     #KAboutData
0105     KF5::GuiAddons
0106     KF5::WidgetsAddons
0107     KF5::ItemViews           #KWidgetItemDelegate in KAboutApplicationPersonListDelegate
0108     KF5::I18n                #i18n and i18nc in many places
0109     KF5::IconThemes         #KIconLoader and KIconThemes in KToolBar
0110 )
0111 if (TARGET Qt${QT_MAJOR_VERSION}::DBus)
0112   target_link_libraries(KF5XmlGui PUBLIC Qt${QT_MAJOR_VERSION}::DBus) #QDBus connect to signal in KToolBar
0113 endif()
0114 
0115 set_target_properties(KF5XmlGui PROPERTIES VERSION   ${KXMLGUI_VERSION}
0116                                            SOVERSION ${KXMLGUI_SOVERSION}
0117                                            EXPORT_NAME XmlGui
0118 )
0119 
0120 ecm_generate_headers(KXmlGui_HEADERS
0121   HEADER_NAMES
0122   KAboutApplicationDialog
0123   KAboutPluginDialog
0124   KActionCategory
0125   KActionCollection
0126   KBugReport
0127   KEditToolBar
0128   KHelpMenu
0129   KKeySequenceWidget
0130   KMainWindow
0131   KShortcutsDialog
0132   KShortcutsEditor
0133   KShortcutWidget
0134   KToggleToolBarAction
0135   KToolBar
0136   KToolTipHelper
0137   KXMLGUIBuilder
0138   KXMLGUIClient
0139   KXMLGUIFactory
0140   KXmlGuiWindow
0141   KUndoActions
0142 
0143   REQUIRED_HEADERS KXmlGui_HEADERS
0144 )
0145 
0146 install(TARGETS KF5XmlGui EXPORT KF5XmlGuiTargets ${KF_INSTALL_TARGETS_DEFAULT_ARGS})
0147 
0148 install(FILES
0149   ${CMAKE_CURRENT_BINARY_DIR}/kxmlgui_export.h
0150   ${KXmlGui_HEADERS}
0151   DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF}/KXmlGui COMPONENT Devel
0152 )
0153 
0154 # install this file to be compatible, it is bundled in the resource file, too
0155 install( FILES ui_standards.rc  DESTINATION  ${KDE_INSTALL_CONFDIR}/ui )
0156 
0157 if(BUILD_DESIGNERPLUGIN)
0158     add_subdirectory(designer)
0159 endif()
0160 
0161 ecm_qt_install_logging_categories(
0162     EXPORT KXMLGUI
0163     FILE kxmlgui.categories
0164     DESTINATION ${KDE_INSTALL_LOGGINGCATEGORIESDIR}
0165 )
0166 
0167 if (BUILD_QCH)
0168     ecm_add_qch(
0169         KF5XmlGui_QCH
0170         NAME KXmlGui
0171         BASE_NAME KF5XmlGui
0172         VERSION ${KF_VERSION}
0173         ORG_DOMAIN org.kde
0174         SOURCES # using only public headers, to cover only public API
0175             ${KXmlGui_HEADERS}
0176         MD_MAINPAGE "${CMAKE_SOURCE_DIR}/README.md"
0177         IMAGE_DIRS "${CMAKE_SOURCE_DIR}/docs/pics"
0178         LINK_QCHS
0179             Qt5Xml_QCH
0180             Qt5DBus_QCH
0181             Qt5Widgets_QCH
0182             KF5Config_QCH
0183             KF5ConfigWidgets_QCH
0184         INCLUDE_DIRS
0185             ${CMAKE_CURRENT_BINARY_DIR}
0186         BLANK_MACROS
0187             KXMLGUI_EXPORT
0188             KXMLGUI_DEPRECATED_EXPORT
0189             KXMLGUI_DEPRECATED
0190             "KXMLGUI_DEPRECATED_VERSION(x, y, t)"
0191             "KXMLGUI_DEPRECATED_VERSION_BELATED(x, y, xt, yt, t)"
0192             "KXMLGUI_ENUMERATOR_DEPRECATED_VERSION(x, y, t)"
0193             "KXMLGUI_ENUMERATOR_DEPRECATED_VERSION_BELATED(x, y, xt, yt, t)"
0194         TAGFILE_INSTALL_DESTINATION ${KDE_INSTALL_QTQCHDIR}
0195         QCH_INSTALL_DESTINATION ${KDE_INSTALL_QTQCHDIR}
0196         COMPONENT Devel
0197     )
0198 endif()
0199 
0200 include(ECMGeneratePriFile)
0201 ecm_generate_pri_file(BASE_NAME KXmlGui LIB_NAME KF5XmlGui DEPS "dbus xml widgets KConfigCore KConfigWidgets" FILENAME_VAR PRI_FILENAME INCLUDE_INSTALL_DIR ${KDE_INSTALL_INCLUDEDIR_KF}/KXmlGui)
0202 install(FILES ${PRI_FILENAME} DESTINATION ${ECM_MKSPECS_INSTALL_DIR})