[WPE][GTK] Bump minimum versions of GLib, GTK, libsoup, ATK, GStreamer, and Cairo
[WebKit-https.git] / Source / cmake / GStreamerChecks.cmake
1 if (ENABLE_VIDEO OR ENABLE_WEB_AUDIO)
2     set(GSTREAMER_COMPONENTS app pbutils)
3     SET_AND_EXPOSE_TO_BUILD(USE_GSTREAMER TRUE)
4     if (ENABLE_VIDEO)
5         list(APPEND GSTREAMER_COMPONENTS video mpegts tag gl)
6     endif ()
7
8     if (ENABLE_WEB_AUDIO)
9         list(APPEND GSTREAMER_COMPONENTS audio fft)
10         SET_AND_EXPOSE_TO_BUILD(USE_WEBAUDIO_GSTREAMER TRUE)
11     endif ()
12
13     find_package(GStreamer 1.10.0 REQUIRED COMPONENTS ${GSTREAMER_COMPONENTS})
14
15     if (ENABLE_WEB_AUDIO)
16         if (NOT PC_GSTREAMER_AUDIO_FOUND OR NOT PC_GSTREAMER_FFT_FOUND)
17             message(FATAL_ERROR "WebAudio requires the audio and fft GStreamer libraries. Please check your gst-plugins-base installation.")
18         else ()
19             SET_AND_EXPOSE_TO_BUILD(USE_WEBAUDIO_GSTREAMER TRUE)
20         endif ()
21     endif ()
22
23     if (ENABLE_VIDEO)
24         if (NOT PC_GSTREAMER_APP_FOUND OR NOT PC_GSTREAMER_PBUTILS_FOUND OR NOT PC_GSTREAMER_TAG_FOUND OR NOT PC_GSTREAMER_VIDEO_FOUND)
25             message(FATAL_ERROR "Video playback requires the following GStreamer libraries: app, pbutils, tag, video. Please check your gst-plugins-base installation.")
26         endif ()
27     endif ()
28
29     if (USE_GSTREAMER_MPEGTS AND NOT PC_GSTREAMER_MPEGTS_FOUND)
30         message(FATAL_ERROR "GStreamer MPEG-TS is needed for USE_GSTREAMER_MPEGTS.")
31     endif ()
32
33     if (USE_GSTREAMER_GL AND NOT PC_GSTREAMER_GL_FOUND)
34         message(FATAL_ERROR "GStreamerGL is needed for USE_GSTREAMER_GL.")
35     endif ()
36
37     SET_AND_EXPOSE_TO_BUILD(USE_GSTREAMER TRUE)
38 endif ()
39
40 if (ENABLE_MEDIA_SOURCE AND PC_GSTREAMER_VERSION VERSION_LESS "1.14")
41     message(FATAL_ERROR "GStreamer 1.14 is needed for ENABLE_MEDIA_SOURCE.")
42 endif ()
43
44 if (ENABLE_MEDIA_STREAM OR ENABLE_WEB_RTC)
45     SET_AND_EXPOSE_TO_BUILD(USE_LIBWEBRTC TRUE)
46     SET_AND_EXPOSE_TO_BUILD(WEBRTC_WEBKIT_BUILD TRUE)
47 else ()
48     SET_AND_EXPOSE_TO_BUILD(USE_LIBWEBRTC FALSE)
49     SET_AND_EXPOSE_TO_BUILD(WEBRTC_WEBKIT_BUILD FALSE)
50 endif ()