119 lines
4.5 KiB
CMake
119 lines
4.5 KiB
CMake
# - Try to find GStreamer
|
|
# Once done this will define
|
|
#
|
|
# GSTREAMER_0_10_FOUND - system has GStreamer
|
|
# GSTREAMER_0_10_INCLUDE_DIRS - the GStreamer include directory
|
|
# GSTREAMER_0_10_LIBRARIES - the libraries needed to use GStreamer
|
|
# GSTREAMER_0_10_DEFINITIONS - Compiler switches required for using GStreamer
|
|
|
|
# Copyright (c) 2006, Tim Beaulen <tbscope@gmail.com>
|
|
#
|
|
# Redistribution and use is allowed according to the terms of the BSD license.
|
|
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
|
|
|
|
# TODO: Other versions --> GSTREAMER_X_Y_FOUND (Example: GSTREAMER_0_8_FOUND and GSTREAMER_0_10_FOUND etc)
|
|
|
|
IF (GSTREAMER_0_10_INCLUDE_DIRS AND GSTREAMER_0_10_LIBRARIES AND GSTREAMER_0_10_BASE_LIBRARY AND GSTREAMER_0_10_INTERFACE_LIBRARY)
|
|
# in cache already
|
|
SET(GSTREAMER_0_10_FIND_QUIETLY TRUE)
|
|
ELSE (GSTREAMER_0_10_INCLUDE_DIRS AND GSTREAMER_0_10_LIBRARIES AND GSTREAMER_0_10_BASE_LIBRARY AND GSTREAMER_0_10_INTERFACE_LIBRARY)
|
|
SET(GSTREAMER_0_10_FIND_QUIETLY FALSE)
|
|
ENDIF (GSTREAMER_0_10_INCLUDE_DIRS AND GSTREAMER_0_10_LIBRARIES AND GSTREAMER_0_10_BASE_LIBRARY AND GSTREAMER_0_10_INTERFACE_LIBRARY)
|
|
|
|
IF (NOT WIN32)
|
|
# use pkg-config to get the directories and then use these values
|
|
# in the FIND_PATH() and FIND_LIBRARY() calls
|
|
FIND_PACKAGE(PkgConfig)
|
|
PKG_CHECK_MODULES(PC_GSTREAMER_0_10 QUIET gstreamer-0.10)
|
|
#MESSAGE(STATUS "DEBUG: GStreamer include directory = ${GSTREAMER_0_10_INCLUDE_DIRSS}")
|
|
#MESSAGE(STATUS "DEBUG: GStreamer link directory = ${GSTREAMER_0_10_LIBRARY_DIRS}")
|
|
#MESSAGE(STATUS "DEBUG: GStreamer CFlags = ${GSTREAMER_0_10_CFLAGS_OTHER}")
|
|
SET(GSTREAMER_0_10_DEFINITIONS ${PC_GSTREAMER_0_10_CFLAGS_OTHER})
|
|
ENDIF (NOT WIN32)
|
|
|
|
FIND_PATH(GSTREAMER_0_10_INCLUDE_DIRS gst/gst.h
|
|
PATHS
|
|
${PC_GSTREAMER_0_10_INCLUDEDIR}
|
|
${PC_GSTREAMER_0_10_INCLUDE_DIRSS}
|
|
#PATH_SUFFIXES gst
|
|
)
|
|
|
|
FIND_LIBRARY(GSTREAMER_0_10_LIBRARIES NAMES gstreamer-0.10
|
|
PATHS
|
|
${PC_GSTREAMER_0_10_LIBDIR}
|
|
${PC_GSTREAMER_0_10_LIBRARY_DIRS}
|
|
)
|
|
|
|
FIND_LIBRARY(GSTREAMER_0_10_BASE_LIBRARY NAMES gstbase-0.10
|
|
PATHS
|
|
${PC_GSTREAMER_0_10_LIBDIR}
|
|
${PC_GSTREAMER_0_10_LIBRARY_DIRS}
|
|
)
|
|
|
|
FIND_LIBRARY(GSTREAMER_0_10_APP_LIBRARY NAMES gstapp-0.10
|
|
PATHS
|
|
${PC_GSTREAMER_0_10_LIBDIR}
|
|
${PC_GSTREAMER_0_10_LIBRARY_DIRS}
|
|
)
|
|
|
|
FIND_LIBRARY(GSTREAMER_0_10_INTERFACE_LIBRARY NAMES gstinterfaces-0.10
|
|
PATHS
|
|
${PC_GSTREAMER_0_10_LIBDIR}
|
|
${PC_GSTREAMER_0_10_LIBRARY_DIRS}
|
|
)
|
|
|
|
FIND_PACKAGE(Glib REQUIRED)
|
|
FIND_PACKAGE(LibXml2 REQUIRED)
|
|
|
|
IF (GSTREAMER_0_10_INCLUDE_DIRS)
|
|
#MESSAGE(STATUS "DEBUG: Found GStreamer include dir: ${GSTREAMER_0_10_INCLUDE_DIRS}")
|
|
ELSE (GSTREAMER_0_10_INCLUDE_DIRS)
|
|
MESSAGE(STATUS "GStreamer: WARNING: include dir not found")
|
|
ENDIF (GSTREAMER_0_10_INCLUDE_DIRS)
|
|
|
|
IF (GSTREAMER_0_10_LIBRARIES)
|
|
#MESSAGE(STATUS "DEBUG: Found GStreamer library: ${GSTREAMER_0_10_LIBRARIES}")
|
|
ELSE (GSTREAMER_0_10_LIBRARIES)
|
|
MESSAGE(STATUS "GStreamer: WARNING: library not found")
|
|
ENDIF (GSTREAMER_0_10_LIBRARIES)
|
|
|
|
IF (GSTREAMER_0_10_INTERFACE_LIBRARY)
|
|
#MESSAGE(STATUS "DEBUG: Found GStreamer interface library: ${GSTREAMER_0_10_INTERFACE_LIBRARY}")
|
|
ELSE (GSTREAMER_0_10_INTERFACE_LIBRARY)
|
|
MESSAGE(STATUS "GStreamer: WARNING: interface library not found")
|
|
ENDIF (GSTREAMER_0_10_INTERFACE_LIBRARY)
|
|
|
|
set(_GSTREAMER_0_10_REQUIRED_VARS
|
|
Glib_INCLUDE_DIRS
|
|
Glib_LIBRARIES
|
|
LIBXML2_INCLUDE_DIR
|
|
LIBXML2_LIBRARIES
|
|
GSTREAMER_0_10_INCLUDE_DIRS
|
|
GSTREAMER_0_10_LIBRARIES
|
|
VERSION_OK
|
|
GSTREAMER_0_10_BASE_INCLUDE_DIRS
|
|
GSTREAMER_0_10_BASE_LIBRARY
|
|
GSTREAMER_0_10_INTERFACE_INCLUDE_DIRS
|
|
GSTREAMER_0_10_INTERFACE_LIBRARY)
|
|
|
|
INCLUDE(FindPackageHandleStandardArgs)
|
|
FIND_PACKAGE_HANDLE_STANDARD_ARGS(GSTREAMER_0_10 DEFAULT_MSG
|
|
GSTREAMER_0_10_LIBRARIES
|
|
GSTREAMER_0_10_INCLUDE_DIRS
|
|
GSTREAMER_0_10_BASE_LIBRARY
|
|
GSTREAMER_0_10_INTERFACE_LIBRARY)
|
|
|
|
list(APPEND GSTREAMER_0_10_INCLUDE_DIRS ${Glib_INCLUDE_DIRS})
|
|
list(APPEND GSTREAMER_0_10_LIBRARIES ${Glib_LIBRARIES})
|
|
list(APPEND GSTREAMER_0_10_INCLUDE_DIRS ${LIBXML2_INCLUDE_DIR})
|
|
list(APPEND GSTREAMER_0_10_LIBRARIES ${LIBXML2_LIBRARIES})
|
|
list(APPEND GSTREAMER_0_10_INCLUDE_DIRS ${GSTREAMER_0_10_BASE_INCLUDE_DIR})
|
|
list(APPEND GSTREAMER_0_10_LIBRARIES ${GSTREAMER_0_10_BASE_LIBRARY})
|
|
list(APPEND GSTREAMER_0_10_INCLUDE_DIRS ${GSTREAMER_0_10_APP_INCLUDE_DIR})
|
|
list(APPEND GSTREAMER_0_10_LIBRARIES ${GSTREAMER_0_10_APP_LIBRARY})
|
|
list(APPEND GSTREAMER_0_10_INCLUDE_DIRS ${GSTREAMER_0_10_INTERFACE_INCLUDE_DIR})
|
|
list(APPEND GSTREAMER_0_10_LIBRARIES ${GSTREAMER_0_10_INTERFACE_LIBRARY})
|
|
|
|
MARK_AS_ADVANCED(GSTREAMER_0_10_INCLUDE_DIRS GSTREAMER_0_10_LIBRARIES GSTREAMER_0_10_BASE_LIBRARY GSTREAMER_0_10_INTERFACE_LIBRARY)
|
|
|