Changeset View
Changeset View
Standalone View
Standalone View
plugins/platforms/drm/CMakeLists.txt
Show All 15 Lines | 15 | if(HAVE_GBM) | |||
---|---|---|---|---|---|
16 | set(DRM_SOURCES ${DRM_SOURCES} | 16 | set(DRM_SOURCES ${DRM_SOURCES} | ||
17 | egl_gbm_backend.cpp | 17 | egl_gbm_backend.cpp | ||
18 | drm_buffer_gbm.cpp | 18 | drm_buffer_gbm.cpp | ||
19 | gbm_surface.cpp | 19 | gbm_surface.cpp | ||
20 | remoteaccess_manager.cpp | 20 | remoteaccess_manager.cpp | ||
21 | ) | 21 | ) | ||
22 | endif() | 22 | endif() | ||
23 | 23 | | |||
24 | if(HAVE_EGL_STREAMS) | ||||
25 | set(DRM_SOURCES ${DRM_SOURCES} | ||||
26 | egl_stream_backend.cpp | ||||
27 | ) | ||||
28 | endif() | ||||
29 | | ||||
graesslin: Why are these two libraries needed? | |||||
wayland-server is needed in order to register the wl_eglstream_controller interface. The NVIDIA driver uses this when an application creates a native EGL window to pass the corresponding EGLStream to the compositor dl is needed because we dynamically load libnvidia-egl-wayland.so since that library would only be present on systems with the NVIDIA driver installed, so we would only want to require it if using the EGLStream backend. ekurzinger: wayland-server is needed in order to register the wl_eglstream_controller interface. The NVIDIA… | |||||
You can probably avoid linking to dl by using QLibrary: fredrik: You can probably avoid linking to dl by using QLibrary:
https://doc.qt.io/qt-5/qlibrary.html | |||||
24 | include_directories(${CMAKE_SOURCE_DIR}/platformsupport/scenes/opengl) | 30 | include_directories(${CMAKE_SOURCE_DIR}/platformsupport/scenes/opengl) | ||
25 | 31 | | |||
26 | add_library(KWinWaylandDrmBackend MODULE ${DRM_SOURCES}) | 32 | add_library(KWinWaylandDrmBackend MODULE ${DRM_SOURCES}) | ||
27 | set_target_properties(KWinWaylandDrmBackend PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin/org.kde.kwin.waylandbackends/") | 33 | set_target_properties(KWinWaylandDrmBackend PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin/org.kde.kwin.waylandbackends/") | ||
28 | target_link_libraries(KWinWaylandDrmBackend kwin Libdrm::Libdrm SceneQPainterBackend SceneOpenGLBackend) | 34 | target_link_libraries(KWinWaylandDrmBackend kwin Libdrm::Libdrm SceneQPainterBackend SceneOpenGLBackend) | ||
29 | 35 | | |||
30 | if(HAVE_GBM) | 36 | if(HAVE_GBM) | ||
31 | target_link_libraries(KWinWaylandDrmBackend gbm::gbm) | 37 | target_link_libraries(KWinWaylandDrmBackend gbm::gbm) | ||
32 | endif() | 38 | endif() | ||
33 | 39 | | |||
34 | install( | 40 | install( | ||
35 | TARGETS | 41 | TARGETS | ||
36 | KWinWaylandDrmBackend | 42 | KWinWaylandDrmBackend | ||
37 | DESTINATION | 43 | DESTINATION | ||
38 | ${PLUGIN_INSTALL_DIR}/org.kde.kwin.waylandbackends/ | 44 | ${PLUGIN_INSTALL_DIR}/org.kde.kwin.waylandbackends/ | ||
39 | ) | 45 | ) |
Why are these two libraries needed?