project(kdeui) include_directories( ${CMAKE_SOURCE_DIR}/interfaces ${CMAKE_SOURCE_DIR}/interfaces/kregexpeditor ${CMAKE_SOURCE_DIR}/kdecore/sonnet ${CMAKE_SOURCE_DIR}/kdeui ${CMAKE_SOURCE_DIR}/kutils/kspeech ${CMAKE_BINARY_DIR}/kutils/kspeech ${KDE4_KDECORE_INCLUDES} actions colors config dialogs findreplace fonts icons itemviews jobs kernel notifications paged plotting shortcuts sonnet util widgets windowmanagement xmlgui ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_BINARY_DIR}/util ) include_directories(${CMAKE_CURRENT_BINARY_DIR}/widgets) if (X11_Xkb_FOUND AND X11_Xkbfile_FOUND) set(HAVE_XKB TRUE) endif() configure_file( util/config-kkeyserver.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/util/config-kkeyserver.h ) if(ENABLE_TESTING) add_subdirectory( tests ) add_subdirectory( sonnet/tests ) endif() ########### next target ############### set(kdeui_LIB_SRCS actions/kactioncollection.cpp actions/kactioncategory.cpp actions/kaction.cpp actions/kactionmenu.cpp actions/kcodecaction.cpp actions/kdualaction.cpp actions/kfontaction.cpp actions/kfontsizeaction.cpp actions/kpastetextaction.cpp actions/krecentfilesaction.cpp actions/kselectaction.cpp actions/kstandardaction.cpp actions/ktoggleaction.cpp actions/ktoggletoolbaraction.cpp actions/ktogglefullscreenaction.cpp actions/ktoolbarlabelaction.cpp actions/ktoolbarpopupaction.cpp actions/ktoolbarspaceraction.cpp colors/kcolorspaces.cpp colors/kcolorutils.cpp colors/kcolorscheme.cpp colors/kcolorcollection.cpp colors/kcolorhelpers.cpp colors/kcolorbutton.cpp colors/kcolorcombo.cpp colors/kcolorchoosermode.cpp colors/kcolordialog.cpp colors/kcolormimedata.cpp colors/kcolorvalueselector.cpp colors/khuesaturationselect.cpp config/kconfigskeleton.cpp config/kconfiggroupgui.cpp dialogs/kaboutkdedialog_p.cpp dialogs/kassistantdialog.cpp dialogs/kconfigdialog.cpp dialogs/kconfigdialogmanager.cpp dialogs/kdialog.cpp dialogs/kedittoolbar.cpp dialogs/kinputdialog.cpp dialogs/klinkdialog.cpp dialogs/kmessagebox.cpp dialogs/kmessageboxmessagehandler.cpp dialogs/kaboutapplicationdialog.cpp dialogs/kaboutapplicationpersonmodel_p.cpp dialogs/kaboutapplicationpersonlistdelegate_p.cpp dialogs/kaboutapplicationpersonlistview_p.cpp dialogs/knewpassworddialog.cpp dialogs/kpassworddialog.cpp dialogs/kpixmapregionselectordialog.cpp dialogs/kprogressdialog.cpp dialogs/kshortcuteditwidget.cpp dialogs/kshortcutseditordelegate.cpp dialogs/kshortcutseditoritem.cpp dialogs/kshortcutseditor.cpp dialogs/kshortcutschemeseditor.cpp dialogs/kshortcutsdialog.cpp dialogs/ksplashscreen.cpp dialogs/kswitchlanguagedialog_p.cpp dialogs/ktip.cpp findreplace/kfind.cpp findreplace/kreplace.cpp findreplace/kfinddialog.cpp findreplace/kreplacedialog.cpp fonts/fonthelpers.cpp fonts/kfontchooser.cpp fonts/kfontcombobox.cpp fonts/kfontdialog.cpp fonts/kfontrequester.cpp fonts/kfontutils.cpp icons/kiconeffect.cpp icons/kiconengine.cpp icons/kicon.cpp icons/kiconloader.cpp icons/kicontheme.cpp itemviews/kbreadcrumbselectionmodel.cpp itemviews/kcheckableproxymodel.cpp itemviews/klinkitemselectionmodel.cpp itemviews/kidentityproxymodel.cpp itemviews/krecursivefilterproxymodel.cpp itemviews/klistwidget.cpp itemviews/klistwidgetsearchline.cpp itemviews/ktreewidgetsearchline.cpp itemviews/kfilterproxysearchline.cpp itemviews/kextendableitemdelegate.cpp itemviews/kcategorizedsortfilterproxymodel.cpp itemviews/kcategorizedview.cpp itemviews/kcategorydrawer.cpp itemviews/kmodelindexproxymapper.cpp itemviews/kwidgetitemdelegate.cpp itemviews/kwidgetitemdelegatepool.cpp # This requires patches which are not yet in Qt. Disabled for now. # itemviews/kreparentingproxymodel.cpp jobs/kdialogjobuidelegate.cpp jobs/kabstractwidgetjobtracker.cpp jobs/kwidgetjobtracker.cpp jobs/kstatusbarjobtracker.cpp jobs/kuiserverjobtracker.cpp kernel/kapplication.cpp kernel/kclipboard.cpp kernel/kuniqueapplication.cpp kernel/ksessionmanager.cpp kernel/kstyle.cpp kernel/kstartupinfo.cpp kernel/kglobalsettings.cpp kernel/ksystemeventfilter.cpp notifications/knotification.cpp notifications/knotificationmanager.cpp notifications/knotificationrestrictions.cpp paged/kpagedialog.cpp paged/kpagemodel.cpp paged/kpageview.cpp paged/kpageview_p.cpp paged/kpagewidget.cpp paged/kpagewidgetmodel.cpp shortcuts/kshortcut.cpp shortcuts/kshortcutschemeshelper.cpp shortcuts/kstandardshortcut.cpp shortcuts/kglobalaccel.cpp shortcuts/kglobalshortcutinfo.cpp shortcuts/kglobalshortcutinfo_dbus.cpp shortcuts/kacceleratormanager.cpp shortcuts/kcheckaccelerators.cpp sonnet/dialog.cpp sonnet/configwidget.cpp sonnet/highlighter.cpp sonnet/configdialog.cpp sonnet/dictionarycombobox.cpp util/kcompletion.cpp util/kcompletionbase.cpp util/kcrash.cpp util/kcursor.cpp util/kguiitem.cpp util/kkeyserver.cpp util/kmanagerselection.cpp util/knumvalidator.cpp util/kpassivepopup.cpp util/kpassivepopupmessagehandler.cpp util/kstandardguiitem.cpp util/kxerrorhandler.cpp util/kxmessages.cpp util/kundostack.cpp util/kpixmapsequence.cpp util/kpixmapsequenceoverlaypainter.cpp util/kpixmapsequencewidget.cpp util/kimageio.cpp widgets/kactionselector.cpp widgets/kdialogbuttonbox.cpp widgets/kbuttongroup.cpp widgets/kcapacitybar.cpp widgets/kcmodule.cpp widgets/kcombobox.cpp widgets/kcompletionbox.cpp widgets/kdatecombobox.cpp widgets/kdatepicker.cpp widgets/kdatetable.cpp widgets/kdatetimeedit.cpp widgets/kdatetimewidget.cpp widgets/kdatewidget.cpp widgets/keditlistwidget.cpp widgets/kfadewidgeteffect.cpp widgets/khbox.cpp widgets/khelpmenu.cpp widgets/khistorycombobox.cpp widgets/kkeysequencewidget.cpp widgets/klanguagebutton.cpp widgets/kled.cpp widgets/klineedit.cpp widgets/kmainwindow.cpp widgets/kmenu.cpp widgets/kmessagewidget.cpp widgets/kmultitabbar.cpp widgets/knuminput.cpp widgets/kpixmapregionselectorwidget.cpp widgets/kpushbutton.cpp widgets/kratingpainter.cpp widgets/kratingwidget.cpp widgets/krestrictedline.cpp widgets/krichtextedit.cpp widgets/krichtextwidget.cpp widgets/kruler.cpp widgets/kselector.cpp widgets/kseparator.cpp widgets/kshortcutwidget.cpp widgets/ksqueezedtextlabel.cpp widgets/kstatusbar.cpp widgets/ktabbar.cpp widgets/ktabwidget.cpp widgets/ktextedit.cpp widgets/ktimecombobox.cpp widgets/ktimezonewidget.cpp widgets/ktitlewidget.cpp widgets/ktoolbar.cpp widgets/kurllabel.cpp widgets/kvbox.cpp widgets/kxyselector.cpp widgets/kdeuiwidgetsproxystyle.cpp widgets/nestedlisthelper.cpp xmlgui/kxmlguibuilder.cpp xmlgui/kxmlguiwindow.cpp xmlgui/kmainwindowiface.cpp xmlgui/kmenumenuhandler_p.cpp xmlgui/ktoolbarhandler.cpp xmlgui/kxmlguiclient.cpp xmlgui/kxmlguifactory.cpp xmlgui/kxmlguifactory_p.cpp xmlgui/kxmlguiversionhandler.cpp dialogs/kdeprintdialog.cpp notifications/ksystemtrayicon.cpp notifications/kstatusnotifieritem.cpp notifications/kstatusnotifieritemdbus_p.cpp ) if(DBUSMENUQT_FOUND) include_directories(${DBUSMENUQT_INCLUDE_DIR}) set(KDEUI_EXTRA_LIBS ${KDEUI_EXTRA_LIBS} ${DBUSMENUQT_LIBRARIES} ) endif() qt4_add_dbus_interface(kdeui_LIB_SRCS notifications/org.kde.StatusNotifierWatcher.xml statusnotifierwatcher_interface ) qt4_add_dbus_adaptor(kdeui_LIB_SRCS notifications/org.kde.StatusNotifierItem.xml notifications/kstatusnotifieritemdbus_p.h KStatusNotifierItemDBus ) if(Q_WS_X11) set(kdeui_LIB_SRCS ${kdeui_LIB_SRCS} util/kkeyserver_x11.cpp dialogs/kcupsoptionswidget_p.cpp dialogs/kcupsoptionsjobwidget_p.cpp dialogs/kcupsoptionspageswidget_p.cpp dialogs/kcupsoptionssettingswidget_p.cpp windowmanagement/kwindowsystem_x11.cpp windowmanagement/kwindowinfo_x11.cpp windowmanagement/netwm.cpp ) endif() if (Q_WS_X11 AND X11_Xkb_FOUND AND X11_Xkbfile_FOUND) include_directories ( ${X11_Xkb_INCLUDE_PATH} ${X11_Xlib_INCLUDE_PATH} ) endif() qt4_add_dbus_interfaces(kdeui_LIB_SRCS jobs/org.kde.JobViewServer.xml ) qt4_add_dbus_interface(kdeui_LIB_SRCS jobs/org.kde.JobView.xml jobviewiface ) qt4_add_dbus_interface(kdeui_LIB_SRCS notifications/org.freedesktop.Notifications.xml notifications_interface ) set(kglobalaccel_xml shortcuts/org.kde.KGlobalAccel.xml) set_source_files_properties(${kglobalaccel_xml} PROPERTIES INCLUDE "kglobalshortcutinfo_p.h") qt4_add_dbus_interface(kdeui_LIB_SRCS ${kglobalaccel_xml} kglobalaccel_interface ) install(FILES ${kglobalaccel_xml} DESTINATION ${KDE4_DBUS_INTERFACES_INSTALL_DIR}) set(kglobalaccel_component_xml shortcuts/org.kde.kglobalaccel.Component.xml) set_source_files_properties(${kglobalaccel_component_xml} PROPERTIES INCLUDE "kglobalshortcutinfo_p.h") qt4_add_dbus_interface(kdeui_LIB_SRCS ${kglobalaccel_component_xml} kglobalaccel_component_interface ) install(FILES ${kglobalaccel_component_xml} DESTINATION ${KDE4_DBUS_INTERFACES_INSTALL_DIR}) set(knotify_xml notifications/org.kde.KNotify.xml) qt4_add_dbus_interface(kdeui_LIB_SRCS ${knotify_xml} knotify_interface) add_library(kdeui ${LIBRARY_TYPE} ${kdeui_LIB_SRCS}) target_link_libraries(kdeui PRIVATE ${X11_LIBRARIES} ${KDEUI_EXTRA_LIBS} ) target_link_libraries(kdeui PUBLIC ${KDE4_KDECORE_LIBS} ${KDE4_KSPEECH_LIBS} ${QT_QTGUI_LIBRARY} ${QT_QTXML_LIBRARY} ${QT_QTNETWORK_LIBRARY} ) if(X11_XTest_FOUND) target_link_libraries(kdeui PRIVATE ${X11_XTest_LIB}) endif() if(X11_Xcursor_FOUND) target_link_libraries(kdeui PRIVATE ${X11_Xcursor_LIB}) endif() if(X11_Xfixes_FOUND) target_link_libraries(kdeui PRIVATE ${X11_Xfixes_LIB}) endif() set_target_properties(kdeui PROPERTIES VERSION ${GENERIC_LIB_VERSION} SOVERSION ${GENERIC_LIB_SOVERSION} ) ########### install files ############### generate_export_header(kdeui) install( TARGETS kdeui EXPORT kdelibsLibraryTargets ${INSTALL_TARGETS_DEFAULT_ARGS} ) install( FILES dialogs/aboutkde.png dialogs/kdeprint_nup1.png dialogs/kdeprint_nup2.png dialogs/kdeprint_nup4.png dialogs/kdeprint_nupother.png dialogs/ktip-bulb.png DESTINATION ${KDE4_DATA_INSTALL_DIR}/kdeui/pics ) install( FILES xmlgui/ui_standards.rc DESTINATION ${KDE4_CONFIG_INSTALL_DIR}/ui ) install( FILES ${CMAKE_CURRENT_BINARY_DIR}/kdeui_export.h actions/kactioncollection.h actions/kactioncategory.h actions/kaction.h actions/kactionmenu.h actions/kdualaction.h actions/kcodecaction.h actions/kfontaction.h actions/kfontsizeaction.h actions/kpastetextaction.h actions/krecentfilesaction.h actions/kselectaction.h actions/kstandardaction.h actions/ktoggleaction.h actions/ktoggletoolbaraction.h actions/ktogglefullscreenaction.h actions/ktoolbarlabelaction.h actions/ktoolbarpopupaction.h actions/ktoolbarspaceraction.h colors/kcolorutils.h colors/kcolorscheme.h colors/kcolorcollection.h colors/kcolorbutton.h colors/kcolorchoosermode.h colors/kcolorcombo.h colors/kcolordialog.h colors/kcolormimedata.h colors/kcolorvalueselector.h colors/khuesaturationselect.h config/kconfigskeleton.h dialogs/kaboutapplicationdialog.h dialogs/kassistantdialog.h dialogs/kconfigdialog.h dialogs/kconfigdialogmanager.h dialogs/kdeprintdialog.h dialogs/kdialog.h dialogs/kedittoolbar.h dialogs/kinputdialog.h dialogs/kmessagebox.h dialogs/kmessageboxmessagehandler.h dialogs/knewpassworddialog.h dialogs/kpassworddialog.h dialogs/kpixmapregionselectordialog.h dialogs/kprogressdialog.h dialogs/ksplashscreen.h dialogs/kshortcutsdialog.h dialogs/kshortcutseditor.h dialogs/ktip.h findreplace/kfind.h findreplace/kreplace.h findreplace/kfinddialog.h findreplace/kreplacedialog.h fonts/kfontchooser.h fonts/kfontcombobox.h fonts/kfontdialog.h fonts/kfontrequester.h fonts/kfontutils.h icons/kiconeffect.h icons/kicon.h # we install the private header as it is needed by kcm (tokoe) icons/k3icon_p.h icons/kiconloader.h icons/kicontheme.h itemviews/kbreadcrumbselectionmodel.h itemviews/kcheckableproxymodel.h itemviews/klinkitemselectionmodel.h itemviews/krecursivefilterproxymodel.h itemviews/klistwidget.h itemviews/kidentityproxymodel.h itemviews/klistwidgetsearchline.h itemviews/ktreewidgetsearchline.h itemviews/kfilterproxysearchline.h itemviews/kextendableitemdelegate.h itemviews/kcategorizedsortfilterproxymodel.h itemviews/kcategorizedview.h itemviews/kcategorydrawer.h itemviews/kmodelindexproxymapper.h itemviews/kwidgetitemdelegate.h # itemviews/kreparentingproxymodel.h jobs/kdialogjobuidelegate.h jobs/kabstractwidgetjobtracker.h jobs/kwidgetjobtracker.h jobs/kstatusbarjobtracker.h jobs/kuiserverjobtracker.h kernel/kapplication.h kernel/kuniqueapplication.h kernel/ksessionmanager.h kernel/kstyle.h kernel/kstartupinfo.h kernel/kglobalsettings.h kernel/ksystemeventfilter.h notifications/kstatusnotifieritem.h notifications/ksystemtrayicon.h notifications/knotification.h notifications/knotificationrestrictions.h paged/kpagedialog.h paged/kpagemodel.h paged/kpageview.h paged/kpagewidget.h paged/kpagewidgetmodel.h shortcuts/kshortcut.h shortcuts/kstandardshortcut.h shortcuts/kglobalaccel.h shortcuts/kglobalshortcutinfo.h shortcuts/kglobalshortcutinfo_p.h shortcuts/kacceleratormanager.h util/kaccelgen.h util/kcompletion.h util/kcrash.h util/kcursor.h util/kguiitem.h util/kkeyserver.h util/kmanagerselection.h util/knumvalidator.h util/kpassivepopup.h util/kpassivepopupmessagehandler.h util/kstandardguiitem.h util/kxerrorhandler.h util/kxmessages.h util/kundostack.h util/kpixmapsequence.h util/kpixmapsequenceoverlaypainter.h util/kpixmapsequencewidget.h util/kimageio.h widgets/kactionselector.h widgets/kdatecombobox.h widgets/kdatepicker.h widgets/kcapacitybar.h widgets/kcmodule.h widgets/kcombobox.h widgets/kcompletionbox.h widgets/kbuttongroup.h widgets/kdatetable.h widgets/kdatetimeedit.h widgets/kdatetimewidget.h widgets/kdatewidget.h widgets/kdialogbuttonbox.h widgets/keditlistwidget.h widgets/kfadewidgeteffect.h widgets/khbox.h widgets/khelpmenu.h widgets/khistorycombobox.h widgets/kkeysequencewidget.h widgets/klanguagebutton.h widgets/kled.h widgets/klineedit.h widgets/kmainwindow.h widgets/kmenu.h widgets/kmessagewidget.h widgets/kmultitabbar.h widgets/knuminput.h widgets/kpixmapregionselectorwidget.h widgets/kpushbutton.h widgets/kratingpainter.h widgets/kratingwidget.h widgets/krestrictedline.h widgets/krichtextedit.h widgets/krichtextwidget.h widgets/kseparator.h widgets/ksqueezedtextlabel.h widgets/ktextedit.h widgets/ktimecombobox.h widgets/ktimezonewidget.h widgets/ktitlewidget.h widgets/ktabbar.h widgets/ktabwidget.h widgets/kruler.h widgets/kselector.h widgets/kshortcutwidget.h widgets/kstatusbar.h widgets/ktoolbar.h widgets/kurllabel.h widgets/kvbox.h widgets/kxyselector.h windowmanagement/kwindowsystem.h windowmanagement/kwindowinfo.h windowmanagement/netwm_def.h windowmanagement/netwm.h xmlgui/kxmlguiwindow.h xmlgui/kxmlguiclient.h xmlgui/kxmlguibuilder.h xmlgui/kxmlguifactory.h util/fixx11h.h util/kkeyserver_x11.h DESTINATION ${KDE4_INCLUDE_INSTALL_DIR} COMPONENT Devel ) # KDE 5 remove this install( FILES widgets/kratingpainter.h widgets/kratingwidget.h DESTINATION ${KDE4_INCLUDE_INSTALL_DIR}/nepomuk COMPONENT Devel ) install( FILES sonnet/dialog.h sonnet/highlighter.h sonnet/configdialog.h sonnet/configwidget.h sonnet/dictionarycombobox.h DESTINATION ${KDE4_INCLUDE_INSTALL_DIR}/sonnet COMPONENT Devel ) install( PROGRAMS preparetips DESTINATION ${KDE4_BIN_INSTALL_DIR} ) install( FILES colors/40.colors colors/Oxygen.colors colors/Web.colors colors/Royal.colors colors/Rainbow.colors DESTINATION ${KDE4_CONFIG_INSTALL_DIR}/colors ) install( FILES jobs/org.kde.JobViewServer.xml jobs/org.kde.JobView.xml notifications/org.kde.StatusNotifierItem.xml notifications/org.kde.StatusNotifierWatcher.xml DESTINATION ${KDE4_DBUS_INTERFACES_INSTALL_DIR} ) if(NOT Q_WS_X11) # install our copy of the rgb.txt named colors list on systems without X11 install( FILES colors/rgb.txt DESTINATION ${KDE4_DATA_INSTALL_DIR}/kdeui ) endif()