Warning, /libraries/phonon-gstreamer/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 cmake_minimum_required(VERSION 3.5 FATAL_ERROR) 0002 project(PhononGStreamer VERSION 4.10.0) 0003 0004 option(USE_INSTALL_PLUGIN "Use GStreamer codec installation API" TRUE) 0005 0006 set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake") 0007 include(FeatureSummary) 0008 0009 # ECM 0010 find_package(ECM 5.90 NO_MODULE) 0011 set(KDE_COMPILERSETTINGS_LEVEL "5.82") 0012 set_package_properties(ECM PROPERTIES 0013 TYPE REQUIRED 0014 DESCRIPTION "Extra CMake Modules" 0015 URL "https://api.kde.org/frameworks/extra-cmake-modules/html/index.html") 0016 set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${ECM_MODULE_PATH}) 0017 0018 include(KDEInstallDirs) 0019 include(ECMPoQmTools) 0020 include(KDECMakeSettings) 0021 include(KDECompilerSettings) 0022 include(ECMSetupVersion) 0023 include(ECMInstallIcons) 0024 0025 ecm_setup_version(PROJECT VARIABLE_PREFIX PHONON_GST) 0026 0027 add_definitions(-DPHONON_GST_VERSION="${PHONON_GST_VERSION}") 0028 0029 # Phonon 0030 find_package(Phonon4Qt${QT_MAJOR_VERSION} 4.10.60 NO_MODULE) 0031 set_package_properties(Phonon4Qt${QT_MAJOR_VERSION} PROPERTIES 0032 TYPE REQUIRED 0033 DESCRIPTION "Phonon core library" 0034 URL "https://api.kde.org/phonon/html/index.html") 0035 0036 find_package(Phonon4Qt${QT_MAJOR_VERSION}Experimental 4.10.60 NO_MODULE) 0037 set_package_properties(Phonon4Qt${QT_MAJOR_VERSION}Experimental PROPERTIES 0038 TYPE OPTIONAL 0039 DESCRIPTION "Phonon experimental library" 0040 URL "https://api.kde.org/phonon/html/index.html") 0041 if(Phonon4Qt${QT_MAJOR_VERSION}Experimental_FOUND) 0042 set(PHONON_EXPERIMENTAL TRUE) 0043 endif() 0044 0045 find_package(OpenGL) 0046 set_package_properties(OpenGL PROPERTIES 0047 TYPE OPTIONAL 0048 PURPOSE "OpenGL support is required to compile the gstreamer backend for Phonon") 0049 0050 find_package(Qt${QT_MAJOR_VERSION}OpenGL) 0051 set_package_properties(Qt${QT_MAJOR_VERSION}OpenGL PROPERTIES 0052 TYPE OPTIONAL 0053 PURPOSE "Qt${QT_MAJOR_VERSION} OpenGL support is required to compile the gstreamer backend for Phonon") 0054 set(QT_QTOPENGL_FOUND Qt${QT_MAJOR_VERSION}OpenGL_FOUND) 0055 0056 set(REQUIRED_QT_VERSION 5.2.0) 0057 0058 if (QT_MAJOR_VERSION STREQUAL "5") 0059 find_package(Qt5X11Extras ${REQUIRED_QT_VERSION}) 0060 set_package_properties(Qt5X11Extras PROPERTIES 0061 TYPE OPTIONAL 0062 PURPOSE "Qt5X11Extras is needed for the x11renderer" 0063 URL "http://doc.qt.io/qt-5/qtx11extras-index.html") 0064 elseif (QT_MAJOR_VERSION STREQUAL "6") 0065 find_package(Qt${QT_MAJOR_VERSION} ${REQUIRED_QT_VERSION} CONFIG REQUIRED Gui) # qtx11extras_p.h 0066 endif() 0067 0068 include(ECMPoQmTools) 0069 0070 if (NOT QT_QTOPENGL_FOUND) 0071 set(OPENGL_FOUND FALSE) 0072 endif () 0073 0074 include_directories(${PHONON_INCLUDES}) 0075 0076 find_package(GStreamer 1.0) 0077 set_package_properties(GSTREAMER PROPERTIES 0078 TYPE REQUIRED 0079 DESCRIPTION "GStreamer" 0080 PURPOSE "gstreamer 1.0 is required for the multimedia backend" 0081 URL "http://gstreamer.freedesktop.org/modules/") 0082 find_package(GStreamerPlugins QUIET 1.0) 0083 # They way GStreamerPlugins works is super crappy form a cmake POV. To 0084 # get it to play nice with FeatureSummary we'll look for a bunch of fake 0085 # packages which are in fact set by GStreamerPlugins. 0086 find_package(GSTREAMER_PLUGIN_VIDEO) 0087 find_package(GSTREAMER_PLUGIN_AUDIO) 0088 find_package(GSTREAMER_PLUGIN_PBUTILS) 0089 set_package_properties(GSTREAMER_PLUGIN_VIDEO PROPERTIES 0090 TYPE RUNTIME 0091 DESCRIPTION "GStreamer video plugin" 0092 PURPOSE "The gstreamer video plugin (part of gstreamer-plugins-base 1.0) is required for the multimedia gstreamer backend" 0093 URL "http://gstreamer.freedesktop.org/modules/") 0094 set_package_properties(GSTREAMER_PLUGIN_AUDIO PROPERTIES 0095 TYPE RUNTIME 0096 DESCRIPTION "GStreamer audio plugin" 0097 PURPOSE "The gstreamer video plugin (part of gstreamer-plugins-base 1.0) is required for the multimedia gstreamer backend" 0098 URL "http://gstreamer.freedesktop.org/modules/") 0099 set_package_properties(GSTREAMER_PLUGIN_PBUTILS PROPERTIES 0100 TYPE RUNTIME 0101 DESCRIPTION "GStreamer pbutils plugin" 0102 PURPOSE "The gstreamer pbutils plugin (part of gstreamer-plugins-base 1.0) is required for the multimedia gstreamer backend" 0103 URL "http://gstreamer.freedesktop.org/modules/") 0104 0105 find_package(GLIB2) 0106 set_package_properties(GLIB2 PROPERTIES 0107 TYPE REQUIRED 0108 DESCRIPTION "GLib2" 0109 PURPOSE "GLib 2 is required to compile the gstreamer backend for Phonon" 0110 URL "http://www.gtk.org/download/") 0111 0112 find_package(GObject REQUIRED) 0113 0114 find_package(LibXml2 REQUIRED) 0115 set_package_properties(LibXml2 PROPERTIES 0116 TYPE REQUIRED 0117 DESCRIPTION "LibXml2" 0118 PURPOSE "LibXml2 is required to compile the gstreamer backend for Phonon" 0119 URL "http://xmlsoft.org/downloads.html") 0120 0121 add_subdirectory(gstreamer) 0122 0123 ecm_install_po_files_as_qm(poqm) 0124 0125 feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES)