diff options
author | Tim Blechmann <tim@klingt.org> | 2024-03-26 11:23:12 +0800 |
---|---|---|
committer | Tim Blechmann <tim@klingt.org> | 2024-03-30 00:05:07 +0000 |
commit | e1cbbf2dfd537ba3cc1697929864d27bd79e55f6 (patch) | |
tree | b486345f2fbef8a14494220f1a97b2d08f2eb35e | |
parent | 8fb650137215ca02588f131e44dcac18d20ee1ac (diff) |
CMake: separate GStreamer plugin into unit-testable Core library
We cannot unit-test plugin code, so we separate the plugin entry point
and and implementation into two separate targets. This allows us to link
the static library into unit tests.
Pick-to: 6.5
Change-Id: I4d579caf90a3912258c7979e8ee4771bc68329a9
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
(cherry picked from commit 6351b52b24ec5c8fa37abb4d394a4ca40d6fcf51)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 3667072b27fd9bc2a2c165b89af0a7e314da1c8a)
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
-rw-r--r-- | src/plugins/multimedia/gstreamer/CMakeLists.txt | 29 |
1 files changed, 20 insertions, 9 deletions
diff --git a/src/plugins/multimedia/gstreamer/CMakeLists.txt b/src/plugins/multimedia/gstreamer/CMakeLists.txt index 789ca9f25..071e5db13 100644 --- a/src/plugins/multimedia/gstreamer/CMakeLists.txt +++ b/src/plugins/multimedia/gstreamer/CMakeLists.txt @@ -3,9 +3,9 @@ qt_find_package(EGL) -qt_internal_add_plugin(QGstreamerMediaPlugin - OUTPUT_NAME gstreamermediaplugin - PLUGIN_TYPE multimedia +qt_internal_add_module(QGstreamerMediaPluginPrivate + STATIC + INTERNAL_MODULE SOURCES audio/qgstreameraudiodevice.cpp audio/qgstreameraudiodevice_p.h audio/qgstreameraudiosource.cpp audio/qgstreameraudiosource_p.h @@ -30,10 +30,9 @@ qt_internal_add_plugin(QGstreamerMediaPlugin common/qgstvideobuffer.cpp common/qgstvideobuffer_p.h common/qgstvideorenderersink.cpp common/qgstvideorenderersink_p.h common/qgstsubtitlesink.cpp common/qgstsubtitlesink_p.h - qgstreamervideodevices.cpp qgstreamervideodevices_p.h - qgstreamerformatinfo.cpp qgstreamerformatinfo_p.h qgstreamerintegration.cpp qgstreamerintegration_p.h - qgstreamerplugin.cpp + qgstreamerformatinfo.cpp qgstreamerformatinfo_p.h + qgstreamervideodevices.cpp qgstreamervideodevices_p.h mediacapture/qgstreamercamera.cpp mediacapture/qgstreamercamera_p.h mediacapture/qgstreamerimagecapture.cpp mediacapture/qgstreamerimagecapture_p.h mediacapture/qgstreamermediacapture.cpp mediacapture/qgstreamermediacapture_p.h @@ -42,22 +41,34 @@ qt_internal_add_plugin(QGstreamerMediaPlugin # Conflicts with macros defined in X11.h, and Xlib.h common/qgstvideobuffer.cpp common/qgstreamervideosink.cpp + NO_GENERATE_CPP_EXPORTS DEFINES GLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_26 - LIBRARIES + PUBLIC_LIBRARIES Qt::MultimediaPrivate Qt::CorePrivate GStreamer::GStreamer GStreamer::App ) -qt_internal_extend_target(QGstreamerMediaPlugin CONDITION QT_FEATURE_gstreamer_photography +qt_internal_extend_target(QGstreamerMediaPluginPrivate CONDITION QT_FEATURE_gstreamer_photography LIBRARIES GStreamer::Photography ) -qt_internal_extend_target(QGstreamerMediaPlugin CONDITION QT_FEATURE_gstreamer_gl +qt_internal_extend_target(QGstreamerMediaPluginPrivate CONDITION QT_FEATURE_gstreamer_gl LIBRARIES GStreamer::Gl EGL::EGL ) + +qt_internal_add_plugin(QGstreamerMediaPlugin + OUTPUT_NAME gstreamermediaplugin + PLUGIN_TYPE multimedia + SOURCES + qgstreamerplugin.cpp + gstreamer.json + LIBRARIES + Qt::QGstreamerMediaPluginPrivate + Qt::MultimediaPrivate +) |