diff --git a/cmake/find-modules/FindGStreamer.cmake b/cmake/find-modules/FindGStreamer.cmake index d7bf04d042b2..6f0f04b2e329 100644 --- a/cmake/find-modules/FindGStreamer.cmake +++ b/cmake/find-modules/FindGStreamer.cmake @@ -443,6 +443,25 @@ if(GStreamer_FOUND AND NOT TARGET GStreamer::GStreamer) endif() endforeach() + if("opengl" IN_LIST GSTREAMER_PLUGINS) + find_library(GRAPHENE_LIBRARY NAMES graphene-1.0 PATHS ${GSTREAMER_LIB_PATH}) + find_library(PNG_LIBRARY NAMES png16 png PATHS ${GSTREAMER_LIB_PATH}) + find_library(JPEG_LIBRARY NAMES jpeg PATHS ${GSTREAMER_LIB_PATH}) + find_library(GST_CONTROLLER_LIBRARY NAMES gstcontroller-1.0 PATHS ${GSTREAMER_LIB_PATH}) + if(GRAPHENE_LIBRARY) + target_link_libraries(GStreamer::Plugins INTERFACE ${GRAPHENE_LIBRARY}) + endif() + if(PNG_LIBRARY) + target_link_libraries(GStreamer::Plugins INTERFACE ${PNG_LIBRARY}) + endif() + if(JPEG_LIBRARY) + target_link_libraries(GStreamer::Plugins INTERFACE ${JPEG_LIBRARY}) + endif() + if(GST_CONTROLLER_LIBRARY) + target_link_libraries(GStreamer::Plugins INTERFACE ${GST_CONTROLLER_LIBRARY}) + endif() + endif() + target_link_libraries(GStreamer::GStreamer INTERFACE GStreamer::Plugins) endif() endif()