1 # - Try to find GStreamer
2 # Once done this will define
4 # GSTREAMER_0_10_FOUND - system has GStreamer
5 # GSTREAMER_0_10_INCLUDE_DIRS - the GStreamer include directory
6 # GSTREAMER_0_10_LIBRARIES - the libraries needed to use GStreamer
7 # GSTREAMER_0_10_DEFINITIONS - Compiler switches required for using GStreamer
9 # Copyright (c) 2006, Tim Beaulen <tbscope@gmail.com>
11 # Redistribution and use is allowed according to the terms of the BSD license.
12 # For details see the accompanying COPYING-CMAKE-SCRIPTS file.
14 # TODO: Other versions --> GSTREAMER_X_Y_FOUND (Example: GSTREAMER_0_8_FOUND and GSTREAMER_0_10_FOUND etc)
16 IF (GSTREAMER_0_10_INCLUDE_DIRS AND GSTREAMER_0_10_LIBRARIES AND GSTREAMER_0_10_BASE_LIBRARY AND GSTREAMER_0_10_INTERFACE_LIBRARY)
18 SET(GSTREAMER_0_10_FIND_QUIETLY TRUE)
19 ELSE (GSTREAMER_0_10_INCLUDE_DIRS AND GSTREAMER_0_10_LIBRARIES AND GSTREAMER_0_10_BASE_LIBRARY AND GSTREAMER_0_10_INTERFACE_LIBRARY)
20 SET(GSTREAMER_0_10_FIND_QUIETLY FALSE)
21 ENDIF (GSTREAMER_0_10_INCLUDE_DIRS AND GSTREAMER_0_10_LIBRARIES AND GSTREAMER_0_10_BASE_LIBRARY AND GSTREAMER_0_10_INTERFACE_LIBRARY)
24 # use pkg-config to get the directories and then use these values
25 # in the FIND_PATH() and FIND_LIBRARY() calls
26 FIND_PACKAGE(PkgConfig)
27 PKG_CHECK_MODULES(PC_GSTREAMER_0_10 QUIET gstreamer-0.10)
28 #MESSAGE(STATUS "DEBUG: GStreamer include directory = ${GSTREAMER_0_10_INCLUDE_DIRSS}")
29 #MESSAGE(STATUS "DEBUG: GStreamer link directory = ${GSTREAMER_0_10_LIBRARY_DIRS}")
30 #MESSAGE(STATUS "DEBUG: GStreamer CFlags = ${GSTREAMER_0_10_CFLAGS_OTHER}")
31 SET(GSTREAMER_0_10_DEFINITIONS ${PC_GSTREAMER_0_10_CFLAGS_OTHER})
34 FIND_PATH(GSTREAMER_0_10_INCLUDE_DIRS gst/gst.h
36 ${PC_GSTREAMER_0_10_INCLUDEDIR}
37 ${PC_GSTREAMER_0_10_INCLUDE_DIRSS}
41 FIND_LIBRARY(GSTREAMER_0_10_LIBRARIES NAMES gstreamer-0.10
43 ${PC_GSTREAMER_0_10_LIBDIR}
44 ${PC_GSTREAMER_0_10_LIBRARY_DIRS}
47 FIND_LIBRARY(GSTREAMER_0_10_BASE_LIBRARY NAMES gstbase-0.10
49 ${PC_GSTREAMER_0_10_LIBDIR}
50 ${PC_GSTREAMER_0_10_LIBRARY_DIRS}
53 FIND_LIBRARY(GSTREAMER_0_10_APP_LIBRARY NAMES gstapp-0.10
55 ${PC_GSTREAMER_0_10_LIBDIR}
56 ${PC_GSTREAMER_0_10_LIBRARY_DIRS}
59 FIND_LIBRARY(GSTREAMER_0_10_INTERFACE_LIBRARY NAMES gstinterfaces-0.10
61 ${PC_GSTREAMER_0_10_LIBDIR}
62 ${PC_GSTREAMER_0_10_LIBRARY_DIRS}
65 FIND_PACKAGE(Glib REQUIRED)
66 FIND_PACKAGE(LibXml2 REQUIRED)
68 IF (GSTREAMER_0_10_INCLUDE_DIRS)
69 #MESSAGE(STATUS "DEBUG: Found GStreamer include dir: ${GSTREAMER_0_10_INCLUDE_DIRS}")
70 ELSE (GSTREAMER_0_10_INCLUDE_DIRS)
71 MESSAGE(STATUS "GStreamer: WARNING: include dir not found")
72 ENDIF (GSTREAMER_0_10_INCLUDE_DIRS)
74 IF (GSTREAMER_0_10_LIBRARIES)
75 #MESSAGE(STATUS "DEBUG: Found GStreamer library: ${GSTREAMER_0_10_LIBRARIES}")
76 ELSE (GSTREAMER_0_10_LIBRARIES)
77 MESSAGE(STATUS "GStreamer: WARNING: library not found")
78 ENDIF (GSTREAMER_0_10_LIBRARIES)
80 IF (GSTREAMER_0_10_INTERFACE_LIBRARY)
81 #MESSAGE(STATUS "DEBUG: Found GStreamer interface library: ${GSTREAMER_0_10_INTERFACE_LIBRARY}")
82 ELSE (GSTREAMER_0_10_INTERFACE_LIBRARY)
83 MESSAGE(STATUS "GStreamer: WARNING: interface library not found")
84 ENDIF (GSTREAMER_0_10_INTERFACE_LIBRARY)
86 set(_GSTREAMER_0_10_REQUIRED_VARS
91 GSTREAMER_0_10_INCLUDE_DIRS
92 GSTREAMER_0_10_LIBRARIES
94 GSTREAMER_0_10_BASE_INCLUDE_DIRS
95 GSTREAMER_0_10_BASE_LIBRARY
96 GSTREAMER_0_10_INTERFACE_INCLUDE_DIRS
97 GSTREAMER_0_10_INTERFACE_LIBRARY)
99 INCLUDE(FindPackageHandleStandardArgs)
100 FIND_PACKAGE_HANDLE_STANDARD_ARGS(GSTREAMER_0_10 DEFAULT_MSG
101 GSTREAMER_0_10_LIBRARIES
102 GSTREAMER_0_10_INCLUDE_DIRS
103 GSTREAMER_0_10_BASE_LIBRARY
104 GSTREAMER_0_10_INTERFACE_LIBRARY)
106 list(APPEND GSTREAMER_0_10_INCLUDE_DIRS ${Glib_INCLUDE_DIRS})
107 list(APPEND GSTREAMER_0_10_LIBRARIES ${Glib_LIBRARIES})
108 list(APPEND GSTREAMER_0_10_INCLUDE_DIRS ${LIBXML2_INCLUDE_DIR})
109 list(APPEND GSTREAMER_0_10_LIBRARIES ${LIBXML2_LIBRARIES})
110 list(APPEND GSTREAMER_0_10_INCLUDE_DIRS ${GSTREAMER_0_10_BASE_INCLUDE_DIR})
111 list(APPEND GSTREAMER_0_10_LIBRARIES ${GSTREAMER_0_10_BASE_LIBRARY})
112 list(APPEND GSTREAMER_0_10_INCLUDE_DIRS ${GSTREAMER_0_10_APP_INCLUDE_DIR})
113 list(APPEND GSTREAMER_0_10_LIBRARIES ${GSTREAMER_0_10_APP_LIBRARY})
114 list(APPEND GSTREAMER_0_10_INCLUDE_DIRS ${GSTREAMER_0_10_INTERFACE_INCLUDE_DIR})
115 list(APPEND GSTREAMER_0_10_LIBRARIES ${GSTREAMER_0_10_INTERFACE_LIBRARY})
117 MARK_AS_ADVANCED(GSTREAMER_0_10_INCLUDE_DIRS GSTREAMER_0_10_LIBRARIES GSTREAMER_0_10_BASE_LIBRARY GSTREAMER_0_10_INTERFACE_LIBRARY)