Warning, /plasma/kwin/src/wayland/CMakeLists.txt is written in an unsupported language. File is not indexed.

0001 add_subdirectory(tools)
0002 
0003 # CMake has a known bug where target_source() doesn't work as expected with files generated
0004 # in a directory other than the one where the target is defined. It should be fixed in 3.20.
0005 add_library(WaylandProtocols_xml OBJECT)
0006 set_property(TARGET WaylandProtocols_xml PROPERTY POSITION_INDEPENDENT_CODE ON)
0007 target_link_libraries(WaylandProtocols_xml Qt::Core Wayland::Server)
0008 target_link_libraries(kwin PRIVATE WaylandProtocols_xml)
0009 
0010 ecm_add_qtwayland_server_protocol_kde(WaylandProtocols_xml
0011     PROTOCOL ${Wayland_DATADIR}/wayland.xml
0012     BASENAME wayland
0013 )
0014 ecm_add_qtwayland_server_protocol_kde(WaylandProtocols_xml
0015     PROTOCOL ${PLASMA_WAYLAND_PROTOCOLS_DIR}/kde-output-device-v2.xml
0016     BASENAME kde-output-device-v2
0017 )
0018 ecm_add_qtwayland_server_protocol_kde(WaylandProtocols_xml
0019     PROTOCOL ${PLASMA_WAYLAND_PROTOCOLS_DIR}/kde-output-management-v2.xml
0020     BASENAME kde-output-management-v2
0021 )
0022 ecm_add_qtwayland_server_protocol_kde(WaylandProtocols_xml
0023     PROTOCOL ${PLASMA_WAYLAND_PROTOCOLS_DIR}/plasma-shell.xml
0024     BASENAME plasma-shell
0025 )
0026 ecm_add_qtwayland_server_protocol_kde(WaylandProtocols_xml
0027     PROTOCOL ${PLASMA_WAYLAND_PROTOCOLS_DIR}/plasma-virtual-desktop.xml
0028     BASENAME org-kde-plasma-virtual-desktop
0029 )
0030 ecm_add_qtwayland_server_protocol_kde(WaylandProtocols_xml
0031     PROTOCOL ${PLASMA_WAYLAND_PROTOCOLS_DIR}/plasma-window-management.xml
0032     BASENAME plasma-window-management
0033 )
0034 ecm_add_wayland_server_protocol(WaylandProtocols_xml
0035     PROTOCOL ${PLASMA_WAYLAND_PROTOCOLS_DIR}/surface-extension.xml
0036     BASENAME qt-surface-extension
0037 )
0038 ecm_add_qtwayland_server_protocol_kde(WaylandProtocols_xml
0039     PROTOCOL ${PLASMA_WAYLAND_PROTOCOLS_DIR}/idle.xml
0040     BASENAME idle
0041 )
0042 ecm_add_qtwayland_server_protocol_kde(WaylandProtocols_xml
0043     PROTOCOL ${PLASMA_WAYLAND_PROTOCOLS_DIR}/fake-input.xml
0044     BASENAME fake-input
0045 )
0046 ecm_add_qtwayland_server_protocol_kde(WaylandProtocols_xml
0047     PROTOCOL ${PLASMA_WAYLAND_PROTOCOLS_DIR}/shadow.xml
0048     BASENAME shadow
0049 )
0050 ecm_add_qtwayland_server_protocol_kde(WaylandProtocols_xml
0051     PROTOCOL ${PLASMA_WAYLAND_PROTOCOLS_DIR}/dpms.xml
0052     BASENAME dpms
0053 )
0054 ecm_add_qtwayland_server_protocol_kde(WaylandProtocols_xml
0055     PROTOCOL ${PLASMA_WAYLAND_PROTOCOLS_DIR}/blur.xml
0056     BASENAME blur
0057 )
0058 ecm_add_qtwayland_server_protocol_kde(WaylandProtocols_xml
0059     PROTOCOL ${PLASMA_WAYLAND_PROTOCOLS_DIR}/contrast.xml
0060     BASENAME contrast
0061 )
0062 ecm_add_qtwayland_server_protocol_kde(WaylandProtocols_xml
0063     PROTOCOL ${WaylandProtocols_DATADIR}/unstable/relative-pointer/relative-pointer-unstable-v1.xml
0064     BASENAME relative-pointer-unstable-v1
0065 )
0066 ecm_add_qtwayland_server_protocol_kde(WaylandProtocols_xml
0067     PROTOCOL ${PLASMA_WAYLAND_PROTOCOLS_DIR}/slide.xml
0068     BASENAME slide
0069 )
0070 ecm_add_qtwayland_server_protocol_kde(WaylandProtocols_xml
0071     PROTOCOL ${PLASMA_WAYLAND_PROTOCOLS_DIR}/server-decoration.xml
0072     BASENAME server-decoration
0073 )
0074 ecm_add_qtwayland_server_protocol_kde(WaylandProtocols_xml
0075     PROTOCOL ${WaylandProtocols_DATADIR}/unstable/text-input/text-input-unstable-v1.xml
0076     BASENAME text-input-unstable-v1
0077 )
0078 ecm_add_qtwayland_server_protocol_kde(WaylandProtocols_xml
0079     PROTOCOL ${PLASMA_WAYLAND_PROTOCOLS_DIR}/text-input-unstable-v2.xml
0080     BASENAME text-input-unstable-v2
0081 )
0082 ecm_add_qtwayland_server_protocol_kde(WaylandProtocols_xml
0083     PROTOCOL ${WaylandProtocols_DATADIR}/unstable/text-input/text-input-unstable-v3.xml
0084     BASENAME text-input-unstable-v3
0085 )
0086 ecm_add_qtwayland_server_protocol_kde(WaylandProtocols_xml
0087     PROTOCOL ${WaylandProtocols_DATADIR}/unstable/pointer-gestures/pointer-gestures-unstable-v1.xml
0088     BASENAME pointer-gestures-unstable-v1
0089 )
0090 ecm_add_qtwayland_server_protocol_kde(WaylandProtocols_xml
0091     PROTOCOL ${WaylandProtocols_DATADIR}/unstable/pointer-constraints/pointer-constraints-unstable-v1.xml
0092     BASENAME pointer-constraints-unstable-v1
0093 )
0094 ecm_add_qtwayland_server_protocol_kde(WaylandProtocols_xml
0095     PROTOCOL ${WaylandProtocols_DATADIR}/unstable/xdg-foreign/xdg-foreign-unstable-v2.xml
0096     BASENAME xdg-foreign-unstable-v2
0097 )
0098 ecm_add_qtwayland_server_protocol_kde(WaylandProtocols_xml
0099     PROTOCOL ${WaylandProtocols_DATADIR}/unstable/idle-inhibit/idle-inhibit-unstable-v1.xml
0100     BASENAME idle-inhibit-unstable-v1
0101 )
0102 ecm_add_qtwayland_server_protocol_kde(WaylandProtocols_xml
0103     PROTOCOL ${PLASMA_WAYLAND_PROTOCOLS_DIR}/appmenu.xml
0104     BASENAME appmenu
0105 )
0106 ecm_add_qtwayland_server_protocol_kde(WaylandProtocols_xml
0107     PROTOCOL ${PLASMA_WAYLAND_PROTOCOLS_DIR}/server-decoration-palette.xml
0108     BASENAME server-decoration-palette
0109 )
0110 ecm_add_qtwayland_server_protocol_kde(WaylandProtocols_xml
0111     PROTOCOL ${WaylandProtocols_DATADIR}/unstable/xdg-output/xdg-output-unstable-v1.xml
0112     BASENAME xdg-output-unstable-v1
0113 )
0114 ecm_add_qtwayland_server_protocol_kde(WaylandProtocols_xml
0115     PROTOCOL ${WaylandProtocols_DATADIR}/stable/xdg-shell/xdg-shell.xml
0116     BASENAME xdg-shell
0117 )
0118 ecm_add_qtwayland_server_protocol_kde(WaylandProtocols_xml
0119     PROTOCOL ${WaylandProtocols_DATADIR}/unstable/xdg-decoration/xdg-decoration-unstable-v1.xml
0120     BASENAME xdg-decoration-unstable-v1
0121 )
0122 ecm_add_qtwayland_server_protocol_kde(WaylandProtocols_xml
0123     PROTOCOL ${PLASMA_WAYLAND_PROTOCOLS_DIR}/keystate.xml
0124     BASENAME keystate
0125 )
0126 ecm_add_qtwayland_server_protocol_kde(WaylandProtocols_xml
0127     PROTOCOL ${WaylandProtocols_DATADIR}/unstable/linux-dmabuf/linux-dmabuf-unstable-v1.xml
0128     BASENAME linux-dmabuf-unstable-v1
0129 )
0130 ecm_add_qtwayland_server_protocol_kde(WaylandProtocols_xml
0131     PROTOCOL ${WaylandProtocols_DATADIR}/unstable/tablet/tablet-unstable-v2.xml
0132     BASENAME tablet-unstable-v2
0133 )
0134 ecm_add_qtwayland_server_protocol_kde(WaylandProtocols_xml
0135     PROTOCOL ${PROJECT_SOURCE_DIR}/src/wayland/protocols/wlr-data-control-unstable-v1.xml
0136     BASENAME wlr-data-control-unstable-v1
0137 )
0138 ecm_add_qtwayland_server_protocol_kde(WaylandProtocols_xml
0139     PROTOCOL ${PROJECT_SOURCE_DIR}/src/wayland/protocols/wlr-layer-shell-unstable-v1.xml
0140     BASENAME wlr-layer-shell-unstable-v1
0141 )
0142 ecm_add_qtwayland_server_protocol_kde(WaylandProtocols_xml
0143     PROTOCOL ${WaylandProtocols_DATADIR}/unstable/keyboard-shortcuts-inhibit/keyboard-shortcuts-inhibit-unstable-v1.xml
0144     BASENAME keyboard-shortcuts-inhibit-unstable-v1
0145 )
0146 ecm_add_qtwayland_server_protocol_kde(WaylandProtocols_xml
0147     PROTOCOL ${WaylandProtocols_DATADIR}/stable/viewporter/viewporter.xml
0148     BASENAME viewporter
0149 )
0150 ecm_add_qtwayland_server_protocol_kde(WaylandProtocols_xml
0151     PROTOCOL ${WaylandProtocols_DATADIR}/unstable/primary-selection/primary-selection-unstable-v1.xml
0152     BASENAME wp-primary-selection-unstable-v1
0153 )
0154 ecm_add_qtwayland_server_protocol_kde(WaylandProtocols_xml
0155     PROTOCOL ${PLASMA_WAYLAND_PROTOCOLS_DIR}/zkde-screencast-unstable-v1.xml
0156     BASENAME zkde-screencast-unstable-v1
0157 )
0158 ecm_add_qtwayland_server_protocol_kde(WaylandProtocols_xml
0159     PROTOCOL ${WaylandProtocols_DATADIR}/unstable/input-method/input-method-unstable-v1.xml
0160     BASENAME input-method-unstable-v1
0161 )
0162 ecm_add_qtwayland_server_protocol_kde(WaylandProtocols_xml
0163     PROTOCOL ${WaylandProtocols_DATADIR}/staging/xdg-activation/xdg-activation-v1.xml
0164     BASENAME xdg-activation-v1
0165 )
0166 ecm_add_qtwayland_server_protocol_kde(WaylandProtocols_xml
0167     PROTOCOL ${WaylandProtocols_DATADIR}/staging/drm-lease/drm-lease-v1.xml
0168     BASENAME drm-lease-v1
0169 )
0170 ecm_add_qtwayland_server_protocol_kde(WaylandProtocols_xml
0171     PROTOCOL ${PLASMA_WAYLAND_PROTOCOLS_DIR}/kde-lockscreen-overlay-v1.xml
0172     BASENAME kde-lockscreen-overlay-v1
0173 )
0174 ecm_add_qtwayland_server_protocol_kde(WaylandProtocols_xml
0175     PROTOCOL ${WaylandProtocols_DATADIR}/staging/ext-idle-notify/ext-idle-notify-v1.xml
0176     BASENAME ext-idle-notify-v1
0177 )
0178 ecm_add_qtwayland_server_protocol_kde(WaylandProtocols_xml
0179     PROTOCOL ${WaylandProtocols_DATADIR}/staging/tearing-control/tearing-control-v1.xml
0180     BASENAME tearing-control-v1
0181 )
0182 ecm_add_qtwayland_server_protocol_kde(WaylandProtocols_xml
0183     PROTOCOL ${WaylandProtocols_DATADIR}/unstable/xwayland-keyboard-grab/xwayland-keyboard-grab-unstable-v1.xml
0184     BASENAME xwayland-keyboard-grab-unstable-v1
0185 )
0186 ecm_add_qtwayland_server_protocol_kde(WaylandProtocols_xml
0187     PROTOCOL ${WaylandProtocols_DATADIR}/staging/content-type/content-type-v1.xml
0188     BASENAME content-type-v1
0189 )
0190 ecm_add_qtwayland_server_protocol_kde(WaylandProtocols_xml
0191     PROTOCOL ${WaylandProtocols_DATADIR}/staging/xwayland-shell/xwayland-shell-v1.xml
0192     BASENAME xwayland-shell-v1
0193 )
0194 ecm_add_qtwayland_server_protocol_kde(WaylandProtocols_xml
0195     PROTOCOL ${PLASMA_WAYLAND_PROTOCOLS_DIR}/kde-output-order-v1.xml
0196     BASENAME kde-output-order-v1
0197 )
0198 ecm_add_qtwayland_server_protocol_kde(WaylandProtocols_xml
0199     PROTOCOL ${WaylandProtocols_DATADIR}/staging/fractional-scale/fractional-scale-v1.xml
0200     BASENAME fractional-scale-v1
0201 )
0202 ecm_add_qtwayland_server_protocol_kde(WaylandProtocols_xml
0203     PROTOCOL ${PROJECT_SOURCE_DIR}/src/wayland/protocols/wayland-drm.xml
0204     BASENAME drm
0205 )
0206 ecm_add_qtwayland_server_protocol_kde(WaylandProtocols_xml
0207     PROTOCOL ${PLASMA_WAYLAND_PROTOCOLS_DIR}/kde-screen-edge-v1.xml
0208     BASENAME kde-screen-edge-v1
0209 )
0210 ecm_add_qtwayland_server_protocol_kde(WaylandProtocols_xml
0211     PROTOCOL ${WaylandProtocols_DATADIR}/staging/cursor-shape/cursor-shape-v1.xml
0212     BASENAME cursor-shape-v1
0213 )
0214 ecm_add_qtwayland_server_protocol_kde(WaylandProtocols_xml
0215     PROTOCOL protocols/xdg-toplevel-drag-v1.xml
0216     BASENAME xdg-toplevel-drag-v1
0217 )
0218 ecm_add_qtwayland_server_protocol_kde(WaylandProtocols_xml
0219     PROTOCOL ${PROJECT_SOURCE_DIR}/src/wayland/protocols/frog-color-management-v1.xml
0220     BASENAME frog-color-management-v1
0221 )
0222 ecm_add_qtwayland_server_protocol_kde(WaylandProtocols_xml
0223     PROTOCOL ${WaylandProtocols_DATADIR}/stable/presentation-time/presentation-time.xml
0224     BASENAME presentation-time
0225 )
0226 ecm_add_qtwayland_server_protocol_kde(WaylandProtocols_xml
0227     PROTOCOL ${WaylandProtocols_DATADIR}/staging/security-context/security-context-v1.xml
0228     BASENAME security-context-v1
0229 )
0230 ecm_add_qtwayland_server_protocol_kde(WaylandProtocols_xml
0231     PROTOCOL ${PROJECT_SOURCE_DIR}/src/wayland/protocols/xx-color-management-v2.xml
0232     BASENAME xx-color-management-v2
0233 )
0234 
0235 target_sources(kwin PRIVATE
0236     abstract_data_source.cpp
0237     abstract_drop_handler.cpp
0238     appmenu.cpp
0239     blur.cpp
0240     clientconnection.cpp
0241     compositor.cpp
0242     contenttype_v1.cpp
0243     contrast.cpp
0244     cursorshape_v1.cpp
0245     datacontroldevice_v1.cpp
0246     datacontroldevicemanager_v1.cpp
0247     datacontroloffer_v1.cpp
0248     datacontrolsource_v1.cpp
0249     datadevice.cpp
0250     datadevicemanager.cpp
0251     dataoffer.cpp
0252     datasource.cpp
0253     display.cpp
0254     dpms.cpp
0255     drmclientbuffer.cpp
0256     drmlease_v1.cpp
0257     filtered_display.cpp
0258     fractionalscale_v1.cpp
0259     frog_colormanagement_v1.cpp
0260     idle.cpp
0261     idleinhibit_v1.cpp
0262     idlenotify_v1.cpp
0263     inputmethod_v1.cpp
0264     keyboard.cpp
0265     keyboard_shortcuts_inhibit_v1.cpp
0266     keystate.cpp
0267     layershell_v1.cpp
0268     linuxdmabufv1clientbuffer.cpp
0269     lockscreen_overlay_v1.cpp
0270     output.cpp
0271     output_order_v1.cpp
0272     outputdevice_v2.cpp
0273     outputmanagement_v2.cpp
0274     plasmashell.cpp
0275     plasmavirtualdesktop.cpp
0276     plasmawindowmanagement.cpp
0277     pointer.cpp
0278     pointerconstraints_v1.cpp
0279     pointergestures_v1.cpp
0280     presentationtime.cpp
0281     primaryselectiondevice_v1.cpp
0282     primaryselectiondevicemanager_v1.cpp
0283     primaryselectionoffer_v1.cpp
0284     primaryselectionsource_v1.cpp
0285     region.cpp
0286     relativepointer_v1.cpp
0287     screencast_v1.cpp
0288     screenedge_v1.cpp
0289     seat.cpp
0290     securitycontext_v1.cpp
0291     server_decoration.cpp
0292     server_decoration_palette.cpp
0293     shadow.cpp
0294     shmclientbuffer.cpp
0295     slide.cpp
0296     subcompositor.cpp
0297     surface.cpp
0298     tablet_v2.cpp
0299     tearingcontrol_v1.cpp
0300     textinput.cpp
0301     textinput_v1.cpp
0302     textinput_v2.cpp
0303     textinput_v3.cpp
0304     touch.cpp
0305     transaction.cpp
0306     viewporter.cpp
0307     xdgactivation_v1.cpp
0308     xdgdecoration_v1.cpp
0309     xdgforeign_v2.cpp
0310     xdgoutput_v1.cpp
0311     xdgshell.cpp
0312     xdgtopleveldrag_v1.cpp
0313     xwaylandkeyboardgrab_v1.cpp
0314     xwaylandshell_v1.cpp
0315     xx_colormanagement_v2.cpp
0316 )
0317 
0318 install(FILES
0319     appmenu.h
0320     blur.h
0321     compositor.h
0322     contenttype_v1.h
0323     contrast.h
0324     cursorshape_v1.h
0325     datacontroldevice_v1.h
0326     datacontroldevicemanager_v1.h
0327     datacontroloffer_v1.h
0328     datacontrolsource_v1.h
0329     datadevice.h
0330     datadevicemanager.h
0331     dataoffer.h
0332     datasource.h
0333     display.h
0334     dpms.h
0335     drmlease_v1.h
0336     fractionalscale_v1.h
0337     frog_colormanagement_v1.h
0338     idle.h
0339     idleinhibit_v1.h
0340     idlenotify_v1.h
0341     inputmethod_v1.h
0342     keyboard.h
0343     keyboard_shortcuts_inhibit_v1.h
0344     keystate.h
0345     layershell_v1.h
0346     lockscreen_overlay_v1.h
0347     output.h
0348     output_order_v1.h
0349     outputdevice_v2.h
0350     outputmanagement_v2.h
0351     plasmashell.h
0352     plasmavirtualdesktop.h
0353     plasmawindowmanagement.h
0354     pointer.h
0355     pointerconstraints_v1.h
0356     pointergestures_v1.h
0357     presentationtime.h
0358     primaryselectiondevice_v1.h
0359     primaryselectiondevicemanager_v1.h
0360     primaryselectionoffer_v1.h
0361     primaryselectionsource_v1.h
0362     quirks.h
0363     relativepointer_v1.h
0364     screencast_v1.h
0365     screenedge_v1.h
0366     seat.h
0367     securitycontext_v1.h
0368     server_decoration.h
0369     server_decoration_palette.h
0370     shadow.h
0371     slide.h
0372     subcompositor.h
0373     surface.h
0374     tablet_v2.h
0375     tearingcontrol_v1.h
0376     textinput_v1.h
0377     textinput_v2.h
0378     textinput_v3.h
0379     touch.h
0380     viewporter.h
0381     xdgactivation_v1.h
0382     xdgdecoration_v1.h
0383     xdgforeign_v2.h
0384     xdgoutput_v1.h
0385     xdgshell.h
0386     xwaylandkeyboardgrab_v1.h
0387     xwaylandshell_v1.h
0388     xx_colormanagement_v2.h
0389 
0390     ${CMAKE_CURRENT_BINARY_DIR}/qwayland-server-content-type-v1.h
0391     ${CMAKE_CURRENT_BINARY_DIR}/qwayland-server-frog-color-management-v1.h
0392     ${CMAKE_CURRENT_BINARY_DIR}/qwayland-server-presentation-time.h
0393     ${CMAKE_CURRENT_BINARY_DIR}/qwayland-server-xx-color-management-v2.h
0394     ${CMAKE_CURRENT_BINARY_DIR}/wayland-content-type-v1-server-protocol.h
0395     ${CMAKE_CURRENT_BINARY_DIR}/wayland-frog-color-management-v1-server-protocol.h
0396     ${CMAKE_CURRENT_BINARY_DIR}/wayland-presentation-time-server-protocol.h
0397     ${CMAKE_CURRENT_BINARY_DIR}/wayland-xx-color-management-v2-server-protocol.h
0398 
0399     DESTINATION ${KDE_INSTALL_INCLUDEDIR}/kwin/wayland COMPONENT Devel)