summaryrefslogtreecommitdiffstats
path: root/src/plugins/multimedia/gstreamer/CMakeLists.txt
blob: 1ef1f9a36003bbaba69d7158f741e79716b10546 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
# Copyright (C) 2022 The Qt Company Ltd.
# SPDX-License-Identifier: BSD-3-Clause

qt_find_package(EGL)

qt_internal_add_module(QGstreamerMediaPluginPrivate
    STATIC
    INTERNAL_MODULE
    SOURCES
        audio/qgstreameraudiodevice.cpp audio/qgstreameraudiodevice_p.h
        audio/qgstreameraudiodecoder.cpp audio/qgstreameraudiodecoder_p.h
        common/qglist_helper_p.h
        common/qgst.cpp common/qgst_p.h
        common/qgst_debug.cpp common/qgst_debug_p.h
        common/qgst_handle_types_p.h
        common/qgstappsource.cpp common/qgstappsource_p.h
        common/qgstreameraudioinput.cpp common/qgstreameraudioinput_p.h
        common/qgstreameraudiooutput.cpp common/qgstreameraudiooutput_p.h
        common/qgstreamerbufferprobe.cpp common/qgstreamerbufferprobe_p.h
        common/qgstreamermetadata.cpp common/qgstreamermetadata_p.h
        common/qgstreamermessage_p.h
        common/qgstreamermediaplayer.cpp common/qgstreamermediaplayer_p.h
        common/qgstreamervideooutput.cpp common/qgstreamervideooutput_p.h
        common/qgstreamervideooverlay.cpp common/qgstreamervideooverlay_p.h
        common/qgstreamervideosink.cpp common/qgstreamervideosink_p.h
        common/qgstpipeline.cpp common/qgstpipeline_p.h
        common/qgstutils.cpp common/qgstutils_p.h
        common/qgstvideobuffer.cpp common/qgstvideobuffer_p.h
        common/qgstvideorenderersink.cpp common/qgstvideorenderersink_p.h
        common/qgstsubtitlesink.cpp common/qgstsubtitlesink_p.h
        qgstreamerintegration.cpp qgstreamerintegration_p.h
        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
        mediacapture/qgstreamermediaencoder.cpp mediacapture/qgstreamermediaencoder_p.h
    NO_UNITY_BUILD_SOURCES
        # 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
    PUBLIC_LIBRARIES
        Qt::MultimediaPrivate
        Qt::CorePrivate
        GStreamer::GStreamer
        GStreamer::App
)

qt_internal_extend_target(QGstreamerMediaPluginPrivate CONDITION QT_FEATURE_gstreamer_photography
    PUBLIC_LIBRARIES
        GStreamer::Photography
)

qt_internal_extend_target(QGstreamerMediaPluginPrivate CONDITION QT_FEATURE_gstreamer_gl
    PUBLIC_LIBRARIES
        GStreamer::Gl
    LIBRARIES
        EGL::EGL
)

qt_internal_add_plugin(QGstreamerMediaPlugin
    OUTPUT_NAME gstreamermediaplugin
    PLUGIN_TYPE multimedia
    SOURCES
        qgstreamerplugin.cpp
        gstreamer.json
    LIBRARIES
        Qt::QGstreamerMediaPluginPrivate
        Qt::MultimediaPrivate
)