@@ -23,7 +23,7 @@ endif()
2323################################################################################
2424
2525if (GStreamer_VERSION VERSION_GREATER_EQUAL 1.22)
26- # Use Latest Revisions for each minor version: 1.20.7, 1.22.12, 1.24.12, 1.26.1
26+ # Use Latest Revisions for each minor version: 1.20.7, 1.22.12, 1.24.12, 1.26.2
2727 string (REPLACE "." ";" GST_VERSION_LIST ${GStreamer_VERSION} )
2828 list (GET GST_VERSION_LIST 0 GST_VERSION_MAJOR)
2929 list (GET GST_VERSION_LIST 1 GST_VERSION_MINOR)
@@ -36,7 +36,7 @@ if(GStreamer_VERSION VERSION_GREATER_EQUAL 1.22)
3636 elseif (GST_VERSION_MINOR EQUAL 24)
3737 set (GST_VERSION_PATCH 12)
3838 elseif (GST_VERSION_MINOR EQUAL 26)
39- set (GST_VERSION_PATCH 1 )
39+ set (GST_VERSION_PATCH 2 )
4040 endif ()
4141
4242 set (GST_PLUGINS_VERSION ${GST_VERSION_MAJOR} .${GST_VERSION_MINOR} .${GST_VERSION_PATCH} )
@@ -111,7 +111,7 @@ if(EXISTS "${QGC_GST_QT6_PLUGIN_PATH}/resources.qrc")
111111 LIST (APPEND OUTPUTS "YUV_BIPLANAR.frag.qsb" )
112112 endif ()
113113
114- qt6_add_shaders (gstqml6gl "gstqml6gl_shaders"
114+ qt_add_shaders (gstqml6gl "gstqml6gl_shaders"
115115 PREFIX "/org/freedesktop/gstreamer/qml6"
116116 GLSL "100 es,120,330"
117117 OUTPUT_TARGETS gstqml6gl_shaders
@@ -120,16 +120,46 @@ if(EXISTS "${QGC_GST_QT6_PLUGIN_PATH}/resources.qrc")
120120 BATCHABLE
121121 )
122122
123- # if(EXISTS "${QGC_GST_QT6_PLUGIN_PATH}/RGBA_gles.frag")
124- # set(RGBA_SHADER_EXTERNAL "${CMAKE_CURRENT_BINARY_DIR}/.qsb/_RGBA.frag.qsb")
125- # file(COPY_FILE "${CMAKE_CURRENT_BINARY_DIR}/.qsb/RGBA.frag.qsb" "${RGBA_SHADER_EXTERNAL}")
126- # qt6_add_shaders(gstqml6gl "gstqml6gl_shaders1"
127- # PREFIX "/org/freedesktop/gstreamer/qml6"
128- # OUTPUT_TARGETS gstqml6gl_shaders1
129- # FILES "${RGBA_SHADER_EXTERNAL}@glsl,100es,${QGC_GST_QT6_PLUGIN_PATH}/RGBA_gles.frag"
130- # OUTPUTS "RGBA.frag.qsb.external"
131- # )
132- # endif()
123+ if (EXISTS "${QGC_GST_QT6_PLUGIN_PATH} /RGBA_gles.frag" )
124+ find_program (QSB_PROGRAM
125+ NAMES qsb
126+ HINTS ${QT_HOST_PATH} ${QT_ROOT_DIR} ${QTDIR}
127+ ENV QTDIR
128+ PATH_SUFFIXES bin
129+ REQUIRED
130+ )
131+
132+ find_program (QSB_WRAPPER
133+ NAMES qsb-wrapper.py
134+ PATHS "${QGC_GST_QT6_PLUGIN_PATH} "
135+ REQUIRED
136+ )
137+
138+ set (RGBA_BASE_QSB "${CMAKE_CURRENT_BINARY_DIR} /.qsb/RGBA.frag.qsb" )
139+ set (RGBA_GLES_SRC "${QGC_GST_QT6_PLUGIN_PATH} /RGBA_gles.frag" )
140+ set (RGBA_EXTERNAL "${CMAKE_CURRENT_BINARY_DIR} /.qsb/RGBA.frag.qsb.external" )
141+
142+ add_custom_command (
143+ OUTPUT ${RGBA_EXTERNAL}
144+ COMMAND ${QSB_WRAPPER}
145+ ${QSB_PROGRAM}
146+ ${RGBA_EXTERNAL}
147+ ${RGBA_GLES_SRC}
148+ ${RGBA_BASE_QSB}
149+ DEPENDS
150+ ${RGBA_BASE_QSB}
151+ ${RGBA_GLES_SRC}
152+ COMMENT "Generating external GLES shader: ${RGBA_EXTERNAL} "
153+ VERBATIM
154+ )
155+
156+ set_source_files_properties (${RGBA_EXTERNAL} PROPERTIES QT_RESOURCE_ALIAS org/freedesktop/gstreamer/qml6/RGBA.frag.qsb.external )
157+ set (QGC_GSTREAMER_SHADER_RESOURCES "${RGBA_EXTERNAL} " CACHE INTERNAL "" )
158+ # qt_add_resources(gstqml6gl "gstqml6gl_shaders1"
159+ # PREFIX "/org/freedesktop/gstreamer/qml6"
160+ # FILES "${RGBA_EXTERNAL}"
161+ # )
162+ endif ()
133163endif ()
134164
135165################################################################################
0 commit comments