Make Wayland a hard build time dependency
Review Request #124697 - Created Aug. 11, 2015 and submitted
As discussed on release-team ml  the following dependencies are mandatory: * KF5Wayland * Wayland::Cursor * Wayland::Egl * xkbcommon  https://mail.kde.org/pipermail/release-team/2015-July/008725.html Drop cmakedefine HAVE_XKB No longer needed, we always depend on xkbcommon now. Drop cmakedefine HAVE_WAYLAND_CURSOR Now a required build-dep. Drop cmakedefine HAVE_WAYLAND Now a required build dependency. Drop cmakedefine HAVE_WAYLAND_EGL Now a required build dependency. Make X11_XCB a build dependency of X11 windowed backend Let's rather not build the plugin if we don't have the dependency then building it without OpenGL support. Simplifies the code a bit and makes the backend overall more useful and goes along with e.g. the Wayland one which has EGL also as a hard dependency for the plugin.
Generally fine with the change, but some present oddities were exposed by it.
Why are these functions in AbstractClient itfp.? Looks like shell-client-only feature.
(also applies to all inner special code - why abstracts if they contain specific code already)
eg. cleanup should likely (? doesn't sound that performance critical) be virtual and EglWaylandBackend calls the wayland specific code and then AbstractEglBackend::cleanup()
I'm sure there's a reason for this, but it looks a bit like bad design and hacked in :-\