ef6fa25d90
EGL for X and EGL for Wayland backends are quite different. The main motivation behind this change is to prepare the EGL backends for monitoring vblank events. Things work quite differently depending on if the EGL backend renders onto a toplevel window or overlay window.
51 lines
1.5 KiB
CMake
51 lines
1.5 KiB
CMake
set(X11PLATFORM_SOURCES
|
|
edge.cpp
|
|
effects_mouse_interception_x11_filter.cpp
|
|
effects_x11.cpp
|
|
eglbackend.cpp
|
|
logging.cpp
|
|
non_composited_outline.cpp
|
|
overlaywindow_x11.cpp
|
|
screenedges_filter.cpp
|
|
windowselector.cpp
|
|
x11_decoration_renderer.cpp
|
|
x11_output.cpp
|
|
x11_platform.cpp
|
|
x11cursor.cpp
|
|
x11placeholderoutput.cpp
|
|
xfixes_cursor_event_filter.cpp
|
|
)
|
|
|
|
if (X11_Xinput_FOUND)
|
|
set(X11PLATFORM_SOURCES ${X11PLATFORM_SOURCES} xinputintegration.cpp)
|
|
endif()
|
|
|
|
if (HAVE_EPOXY_GLX)
|
|
set(X11PLATFORM_SOURCES ${X11PLATFORM_SOURCES} glxbackend.cpp glx_context_attribute_builder.cpp)
|
|
endif()
|
|
|
|
include_directories(${CMAKE_SOURCE_DIR}/platformsupport/scenes/opengl)
|
|
include_directories(${CMAKE_SOURCE_DIR}/platformsupport/scenes/xrender)
|
|
|
|
add_library(KWinX11Platform MODULE ${X11PLATFORM_SOURCES})
|
|
set_target_properties(KWinX11Platform PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin/org.kde.kwin.platforms/")
|
|
target_link_libraries(KWinX11Platform eglx11common kwin kwinxrenderutils SceneOpenGLBackend Qt5::X11Extras XCB::CURSOR KF5::Crash )
|
|
if (X11_Xinput_FOUND)
|
|
target_link_libraries(KWinX11Platform ${X11_Xinput_LIB})
|
|
endif()
|
|
|
|
if (KWIN_BUILD_XRENDER_COMPOSITING)
|
|
target_sources(KWinX11Platform PRIVATE x11xrenderbackend.cpp)
|
|
target_link_libraries(KWinX11Platform SceneXRenderBackend)
|
|
endif()
|
|
|
|
if (HAVE_DL_LIBRARY)
|
|
target_link_libraries(KWinX11Platform ${DL_LIBRARY})
|
|
endif()
|
|
|
|
install(
|
|
TARGETS
|
|
KWinX11Platform
|
|
DESTINATION
|
|
${PLUGIN_INSTALL_DIR}/org.kde.kwin.platforms/
|
|
)
|