kdelibs/kdeui/CMakeLists.txt
Ivailo Monev 0e0db0b815 kdeui: move session management to KApplicaiton
every comment about X11 and session management in general claims it was
broken, not going to claim otherwise. everything that does not use
KApplication shall not be involved into session management now and gets
the middle finger (SIGTERM or SIGKILL) after 5 sec by klauncher when the
session is done

also session management has to be explicitly enabled by applications
now, disabled by default

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2024-05-09 08:29:51 +03:00

481 lines
13 KiB
CMake

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/knumvalidator.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/knumvalidator.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}
)