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)