project(kdeui) include_directories( ${CMAKE_SOURCE_DIR}/interfaces ${CMAKE_SOURCE_DIR}/kdeui ${KDE4_KDECORE_INCLUDES} actions colors config dialogs findreplace fonts icons itemviews jobs kernel notifications paged shortcuts spell util widgets windowmanagement xmlgui ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_BINARY_DIR}/util ${CMAKE_CURRENT_BINARY_DIR}/widgets ${ENCHANT_INCLUDE_DIR} "${ENCHANT_INCLUDE_DIR}/.." ) 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 ) add_definitions( -DKDE_DEFAULT_DEBUG_AREA=240 ) if(ENABLE_TESTING) add_subdirectory(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/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/kcolorhelpers.cpp colors/kcolorbutton.cpp colors/kcolorcombo.cpp colors/kcolormimedata.cpp config/kconfigskeleton.cpp config/kconfiggroupgui.cpp dialogs/kaboutkdedialog_p.cpp dialogs/kconfigdialog.cpp dialogs/kconfigdialogmanager.cpp dialogs/kdialog.cpp dialogs/kedittoolbar.cpp dialogs/kinputdialog.cpp dialogs/klinkdialog.cpp dialogs/kmessagebox.cpp dialogs/kaboutapplicationdialog.cpp dialogs/kaboutapplicationpersonmodel_p.cpp dialogs/kaboutapplicationpersonlistdelegate_p.cpp dialogs/kaboutapplicationpersonlistview_p.cpp dialogs/knewpassworddialog.cpp dialogs/kpassworddialog.cpp dialogs/kprogressdialog.cpp dialogs/kshortcutseditor.cpp dialogs/kshortcutsdialog.cpp dialogs/ksplashscreen.cpp dialogs/kswitchlanguagedialog_p.cpp dialogs/ktimerdialog.cpp dialogs/ktip.cpp dialogs/kdeprintdialog.cpp findreplace/kfind.cpp findreplace/kreplace.cpp findreplace/kfinddialog.cpp findreplace/kreplacedialog.cpp fonts/fonthelpers.cpp fonts/kfontrequester.cpp icons/kiconeffect.cpp icons/kiconengine.cpp icons/kicon.cpp icons/kiconloader.cpp icons/kicontheme.cpp itemviews/klinkitemselectionmodel.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/kplasmajobtracker.cpp jobs/kdynamicjobtracker.cpp kernel/kapplication.cpp kernel/kuniqueapplication.cpp kernel/kstyle.cpp kernel/kstartupinfo.cpp kernel/kglobalsettings.cpp kernel/ksystemeventfilter.cpp kernel/ktoolinvocation.cpp kernel/ktoolinvocation_x11.cpp notifications/knotification.cpp notifications/knotificationconfigwidget.cpp paged/kpagedialog.cpp paged/kpageview.cpp paged/kpageview_p.cpp paged/kpagewidget.cpp paged/kpagewidgetmodel.cpp shortcuts/kstandardshortcut.cpp shortcuts/kglobalaccel.cpp shortcuts/kacceleratormanager.cpp spell/kspeller.cpp spell/kspellhighlighter.cpp spell/kspelldictionarycombobox.cpp spell/kspellconfigwidget.cpp util/kcompletion.cpp util/kcompletionbase.cpp util/kcrash.cpp util/kcursor.cpp util/kguiitem.cpp util/kkeyserver.cpp util/kselectionowner.cpp util/kpassivepopup.cpp util/kstandardguiitem.cpp util/kxerrorhandler.cpp util/kxmessages.cpp util/kundostack.cpp util/kpixmap.cpp util/kpixmapsequence.cpp util/kpixmapsequenceoverlaypainter.cpp util/kpixmapsequencewidget.cpp util/kimageio.cpp util/kkeyserver_x11.cpp util/kkeyboardlayout.cpp util/kdebugger.cpp widgets/kactionselector.cpp widgets/kdialogbuttonbox.cpp widgets/kbuttongroup.cpp widgets/kcapacitybar.cpp widgets/kcmodule.cpp widgets/kcombobox.cpp widgets/kcompletionbox.cpp widgets/kcalendarwidget.cpp widgets/keditlistwidget.cpp widgets/khbox.cpp widgets/khelpmenu.cpp widgets/khistorycombobox.cpp widgets/kkeysequencewidget.cpp widgets/kled.cpp widgets/klineedit.cpp widgets/kmainwindow.cpp widgets/kmenu.cpp widgets/kmessagewidget.cpp widgets/kmultitabbar.cpp widgets/knuminput.cpp widgets/kpixmapwidget.cpp widgets/kpushbutton.cpp widgets/kratingpainter.cpp widgets/kratingwidget.cpp widgets/krestrictedline.cpp widgets/kseparator.cpp widgets/ksqueezedtextlabel.cpp widgets/kstatusbar.cpp widgets/ktabbar.cpp widgets/ktabwidget.cpp widgets/ktextedit.cpp widgets/ktimeedit.cpp widgets/ktitlewidget.cpp widgets/ktoolbar.cpp widgets/kurllabel.cpp widgets/kvbox.cpp widgets/kdeuiwidgetsproxystyle.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 windowmanagement/kwindowsystem_x11.cpp windowmanagement/kwindowinfo_x11.cpp windowmanagement/netwm.cpp kernel/kapplication_adaptor.cpp # just so that it gets generated ${CMAKE_CURRENT_BINARY_DIR}/org.kde.KApplication.xml ) if (X11_Xkb_FOUND AND X11_Xkbfile_FOUND) include_directories ( ${X11_Xkb_INCLUDE_PATH} ${X11_Xlib_INCLUDE_PATH} ) set(KDEUI_EXTRA_LIBS ${KDEUI_EXTRA_LIBS} ${X11_LIBRARIES} ${X11_Xkbfile_LIB} ) endif() qt4_generate_dbus_interface(kernel/kapplication_adaptor.h org.kde.KApplication.xml) set_source_files_properties( ${CMAKE_SOURCE_DIR}/kdeui/kernel/kapplication.cpp ${CMAKE_SOURCE_DIR}/kdeui/kernel/kglobalsettings.cpp ${CMAKE_SOURCE_DIR}/kdeui/kernel/kuniqueapplication.cpp ${CMAKE_SOURCE_DIR}/kdeui/kernel/ktoolinvocation.cpp ${CMAKE_SOURCE_DIR}/kdeui/kernel/ktoolinvocation_x11.cpp ${CMAKE_SOURCE_DIR}/kdeui/util/kcrash.cpp ${CMAKE_SOURCE_DIR}/kdeui/util/kcursor.cpp ${CMAKE_SOURCE_DIR}/kdeui/util/kkeyserver_x11.cpp ${CMAKE_SOURCE_DIR}/kdeui/util/kpixmap.cpp ${CMAKE_SOURCE_DIR}/kdeui/util/kselectionowner.cpp ${CMAKE_SOURCE_DIR}/kdeui/util/kxerrorhandler.cpp ${CMAKE_SOURCE_DIR}/kdeui/util/kxmessages.cpp ${CMAKE_SOURCE_DIR}/kdeui/windowmanagement/kwindowinfo_x11.cpp ${CMAKE_SOURCE_DIR}/kdeui/windowmanagement/kwindowsystem_x11.cpp ${CMAKE_SOURCE_DIR}/kdeui/windowmanagement/netwm.cpp PROPERTIES SKIP_UNITY_BUILD_INCLUSION TRUE ) add_library(kdeui SHARED ${kdeui_LIB_SRCS}) target_link_libraries(kdeui PRIVATE ${X11_LIBRARIES} ${ENCHANT_LIBRARIES} ${KDEUI_EXTRA_LIBS} ) target_link_libraries(kdeui PUBLIC ${QT_QTGUI_LIBRARY} ${QT_QTXML_LIBRARY} ${QT_QTNETWORK_LIBRARY} kdecore ) 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 kdelibsTargets DESTINATION ${KDE4_LIB_INSTALL_DIR} ) install( FILES dialogs/aboutkde.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/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/kcolorbutton.h colors/kcolorcombo.h colors/kcolormimedata.h config/kconfigskeleton.h dialogs/kaboutapplicationdialog.h dialogs/kconfigdialog.h dialogs/kconfigdialogmanager.h dialogs/kdeprintdialog.h dialogs/kdialog.h dialogs/kedittoolbar.h dialogs/kinputdialog.h dialogs/kmessagebox.h dialogs/knewpassworddialog.h dialogs/kpassworddialog.h dialogs/kprogressdialog.h dialogs/ksplashscreen.h dialogs/kshortcutsdialog.h dialogs/kshortcutseditor.h dialogs/ktimerdialog.h dialogs/ktip.h findreplace/kfind.h findreplace/kreplace.h findreplace/kfinddialog.h findreplace/kreplacedialog.h fonts/kfontrequester.h icons/kiconeffect.h icons/kicon.h icons/kiconloader.h icons/kicontheme.h itemviews/klinkitemselectionmodel.h itemviews/krecursivefilterproxymodel.h itemviews/klistwidget.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/kplasmajobtracker.h jobs/kdynamicjobtracker.h kernel/kapplication.h kernel/kuniqueapplication.h kernel/kstyle.h kernel/kstartupinfo.h kernel/kglobalsettings.h kernel/ksystemeventfilter.h kernel/ktoolinvocation.h notifications/knotification.h notifications/knotificationconfigwidget.h paged/kpagedialog.h paged/kpageview.h paged/kpagewidget.h paged/kpagewidgetmodel.h shortcuts/kstandardshortcut.h shortcuts/kglobalaccel.h shortcuts/kacceleratormanager.h spell/kspeller.h spell/kspellhighlighter.h spell/kspelldictionarycombobox.h spell/kspellconfigwidget.h util/kcompletion.h util/kcrash.h util/kcursor.h util/kguiitem.h util/kkeyserver.h util/kkeyboardlayout.h util/kdebugger.h util/kselectionowner.h util/kpassivepopup.h util/kstandardguiitem.h util/kxerrorhandler.h util/kxmessages.h util/kundostack.h util/kpixmap.h util/kpixmapsequence.h util/kpixmapsequenceoverlaypainter.h util/kpixmapsequencewidget.h util/kimageio.h widgets/kactionselector.h widgets/kcalendarwidget.h widgets/kcapacitybar.h widgets/kcmodule.h widgets/kcombobox.h widgets/kcompletionbox.h widgets/kbuttongroup.h widgets/kdialogbuttonbox.h widgets/keditlistwidget.h widgets/khbox.h widgets/khelpmenu.h widgets/khistorycombobox.h widgets/kkeysequencewidget.h widgets/kled.h widgets/klineedit.h widgets/kmainwindow.h widgets/kmenu.h widgets/kmessagewidget.h widgets/kmultitabbar.h widgets/knuminput.h widgets/kpixmapwidget.h widgets/kpushbutton.h widgets/kratingpainter.h widgets/kratingwidget.h widgets/krestrictedline.h widgets/kseparator.h widgets/ksqueezedtextlabel.h widgets/ktextedit.h widgets/ktimeedit.h widgets/ktitlewidget.h widgets/ktabbar.h widgets/ktabwidget.h widgets/kstatusbar.h widgets/ktoolbar.h widgets/kurllabel.h widgets/kvbox.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} ) install( FILES widgets/kratingpainter.h widgets/kratingwidget.h DESTINATION ${KDE4_INCLUDE_INSTALL_DIR}/nepomuk ) install( PROGRAMS preparetips DESTINATION ${KDE4_BIN_INSTALL_DIR} ) install( FILES ${CMAKE_CURRENT_BINARY_DIR}/org.kde.KApplication.xml DESTINATION ${KDE4_DBUS_INTERFACES_INSTALL_DIR} )