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)