Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 35 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
cmake_minimum_required (VERSION "2.8.0")

list (APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/modules)

project (gst-plugins-cairovis)

find_package (Gstreamer REQUIRED)
find_package (Glib2 REQUIRED)
find_package (Cairo REQUIRED)
find_package (GSL REQUIRED)

# conditional required packages
include (CheckIncludeFiles)
CHECK_INCLUDE_FILES ("${GSTREAMER_INCLUDE_DIR}/gst/gstconfig.h" GST_USING_BINARY_REGISTRY)
if (NOT GST_USING_BINARY_REGISTRY)
find_package (LIBXML2)
find_package (LIBICONV)
include_directories (AFTER
${LIBXML2_INCLUDE_DIR}
${LIBICONV_INCLUDE_DIR})
endif (NOT GST_USING_BINARY_REGISTRY)


include_directories (
.
${GSTREAMER_INCLUDE_DIR}
${GLIB2_INCLUDE_DIR} )

if (CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
file (TO_CMAKE_PATH "${GSTREAMER_INCLUDE_DIR}/../.." PREFIX)
set (CMAKE_INSTALL_PREFIX
${PREFIX} CACHE PATH "Directory to install plugins, under lib/gstreamer-0.10" FORCE)
endif (CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)

add_subdirectory (gst)
15 changes: 15 additions & 0 deletions cmake/modules/FindCairo.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
FILE(TO_CMAKE_PATH "$ENV{CAIRO_DIR}" TRY1_DIR)
FILE(TO_CMAKE_PATH "${CAIRO_DIR}" TRY2_DIR)
FILE(GLOB CAIRO_DIR ${TRY1_DIR} ${TRY2_DIR})

FIND_PATH(CAIRO_INCLUDE_DIR cairo.h
PATHS ${CAIRO_DIR}/include ${CAIRO_DIR}/include/cairo /usr/local/include/cairo /usr/include/cairo
ENV INCLUDE DOC "Directory containing cairo.h include file")

FIND_LIBRARY(CAIRO_LIBRARIES cairo
PATHS ${CAIRO_DIR}/lib ${CAIRO_DIR}/lib/cairo /usr/local/lib/cairo /usr/lib/cairo
ENV LIB DOC "Directory containing cairo.lib file")

IF (CAIRO_INCLUDE_DIR AND CAIRO_LIBRARIES)
SET(CAIRO_FOUND TRUE)
ENDIF (CAIRO_INCLUDE_DIR AND CAIRO_LIBRARIES)
29 changes: 29 additions & 0 deletions cmake/modules/FindGSL.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
FILE(TO_CMAKE_PATH "$ENV{GSL_DIR}" TRY1_DIR)
FILE(TO_CMAKE_PATH "${GSL_DIR}" TRY2_DIR)
FILE(GLOB GSL_DIR ${TRY1_DIR} ${TRY2_DIR})

FIND_PATH(GSL_INCLUDE_DIR gsl/gsl_blas.h
PATHS ${GSL_DIR}/include ${GSL_DIR}
ENV INCLUDE DOC "Directory containing gsl_blas.h include file")

FIND_LIBRARY(GSL_ERR_LIBRARY NAMES gslerr
PATHS ${GSL_DIR}/lib
ENV LIB
DOC "gslerr library to link with"
NO_SYSTEM_ENVIRONMENT_PATH)

FIND_LIBRARY(GSL_INTERPOLATION_LIBRARY NAMES gslinterpolation
PATHS ${GSL_DIR}/lib
ENV LIB
DOC "gslinterpolation library to link with"
NO_SYSTEM_ENVIRONMENT_PATH)

FIND_LIBRARY(GSL_SYS_LIBRARY NAMES gslsys
PATHS ${GSL_DIR}/lib
ENV LIB
DOC "gslsys library to link with"
NO_SYSTEM_ENVIRONMENT_PATH)

IF (GSL_INCLUDE_DIR AND GSL_INTERPOLATION_LIBRARY AND GSL_ERROR_LIBRARY AND GSL_SYS_LIBRARY)
SET(GSL_FOUND TRUE)
ENDIF (GSL_INCLUDE_DIR AND GSL_INTERPOLATION_LIBRARY AND GSL_ERROR_LIBRARY AND GSL_SYS_LIBRARY)
53 changes: 53 additions & 0 deletions cmake/modules/FindGlib2.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
if (NOT GLIB2_DIR)
set (GLIB2_DIR "" CACHE PATH "Directory containing glib-2 includes and libraries")
endif ()

FILE(TO_CMAKE_PATH "$ENV{GLIB2_DIR}" TRY1_DIR)
FILE(TO_CMAKE_PATH "${GLIB2_DIR}" TRY2_DIR)
FILE(GLOB GLIB2_DIR ${TRY1_DIR} ${TRY2_DIR})

FIND_PATH(GLIB_glib_2_INCLUDE_DIR glib.h
PATHS ${GLIB2_DIR}/include ${GLIB2_DIR}/include/glib-2.0 /usr/local/include/glib-2.0 /usr/include/glib-2.0 /opt/local/include/glib-2.0
ENV INCLUDE DOC "Directory containing glib.h include file")
mark_as_advanced (GLIB_glib_2_INCLUDE_DIR)

FIND_PATH(GLIB_glibconfig_2_INCLUDE_DIR glibconfig.h
PATHS ${GLIB2_DIR}/include ${GLIB2_DIR}/include/glib-2.0 ${GLIB2_DIR}/lib/include ${GLIB2_DIR}/lib/glib-2.0/include /usr/local/include/glib-2.0 /usr/include/glib-2.0 /usr/lib/glib-2.0/include /usr/local/lib/glib-2.0/include /opt/local/lib/glib-2.0/include
ENV INCLUDE DOC "Directory containing glibconfig.h include file")
mark_as_advanced (GLIB_glibconfig_2_INCLUDE_DIR)

FIND_LIBRARY(GLIB_glib_2_LIBRARY NAMES glib-2.0
PATHS ${GLIB2_DIR}/bin ${GLIB2_DIR}/win32/bin ${GLIB2_DIR}/lib ${GLIB2_DIR}/win32/lib /usr/local/lib /usr/lib /opt/local/lib
ENV LIB
DOC "glib library to link with"
NO_SYSTEM_ENVIRONMENT_PATH)
mark_as_advanced (GLIB_glib_2_LIBRARY)

FIND_LIBRARY(GLIB_gmodule_2_LIBRARY NAMES gmodule-2.0
PATHS ${GLIB2_DIR}/bin ${GLIB2_DIR}/win32/bin ${GLIB2_DIR}/lib ${GLIB2_DIR}/win32/lib /usr/local/lib /usr/lib /opt/local/lib
ENV LIB
DOC "gmodule library to link with"
NO_SYSTEM_ENVIRONMENT_PATH)
mark_as_advanced (GLIB_gmodule_2_LIBRARY)

FIND_LIBRARY(GLIB_gobject_2_LIBRARY NAMES gobject-2.0
PATHS ${GLIB2_DIR}/bin ${GLIB2_DIR}/win32/bin ${GLIB2_DIR}/lib ${GLIB2_DIR}/win32/lib /usr/local/lib /usr/lib /opt/local/lib
ENV LIB
DOC "gobject library to link with"
NO_SYSTEM_ENVIRONMENT_PATH)
mark_as_advanced (GLIB_gobject_2_LIBRARY)

FIND_LIBRARY(GLIB_gthread_2_LIBRARY NAMES gthread-2.0
PATHS ${GLIB2_DIR}/bin ${GLIB2_DIR}/win32/bin ${GLIB2_DIR}/lib ${GLIB2_DIR}/win32/lib /usr/local/lib /usr/lib /opt/local/lib
ENV LIB
DOC "gthread library to link with"
NO_SYSTEM_ENVIRONMENT_PATH)
mark_as_advanced (GLIB_gthread_2_LIBRARY)

IF (GLIB_glib_2_INCLUDE_DIR AND GLIB_glibconfig_2_INCLUDE_DIR AND GLIB_glib_2_LIBRARY AND GLIB_gmodule_2_LIBRARY AND GLIB_gobject_2_LIBRARY AND GLIB_gthread_2_LIBRARY)
SET(GLIB2_INCLUDE_DIR ${GLIB_glib_2_INCLUDE_DIR} ${GLIB_glibconfig_2_INCLUDE_DIR})
list(REMOVE_DUPLICATES GLIB2_INCLUDE_DIR)
SET(GLIB2_LIBRARIES ${GLIB_glib_2_LIBRARY} ${GLIB_gmodule_2_LIBRARY} ${GLIB_gobject_2_LIBRARY} ${GLIB_gthread_2_LIBRARY})
list(REMOVE_DUPLICATES GLIB2_LIBRARIES)
SET(GLIB2_FOUND TRUE)
ENDIF (GLIB_glib_2_INCLUDE_DIR AND GLIB_glibconfig_2_INCLUDE_DIR AND GLIB_glib_2_LIBRARY AND GLIB_gmodule_2_LIBRARY AND GLIB_gobject_2_LIBRARY AND GLIB_gthread_2_LIBRARY)
123 changes: 123 additions & 0 deletions cmake/modules/FindGstreamer.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,123 @@
# - Try to find GStreamer
# Once done this will define
#
# GSTREAMER_FOUND - system has GStreamer
# GSTREAMER_INCLUDE_DIR - the GStreamer include directory
# GSTREAMER_LIBRARIES - the libraries needed to use GStreamer
# GSTREAMER_DEFINITIONS - Compiler switches required for using GStreamer

# Copyright (c) 2006, Tim Beaulen <tbscope@gmail.com>
# Copyright (c) 2010, United States Government, Joshua M. Doe <joshua.doe@us.army.mil>
#
# 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_INCLUDE_DIR AND GSTREAMER_LIBRARIES AND GSTREAMER_BASE_LIBRARY AND GSTREAMER_INTERFACE_LIBRARY)
# in cache already
SET(GStreamer_FIND_QUIETLY TRUE)
ELSE (GSTREAMER_INCLUDE_DIR AND GSTREAMER_LIBRARIES AND GSTREAMER_BASE_LIBRARY AND GSTREAMER_INTERFACE_LIBRARY)
SET(GStreamer_FIND_QUIETLY FALSE)
ENDIF (GSTREAMER_INCLUDE_DIR AND GSTREAMER_LIBRARIES AND GSTREAMER_BASE_LIBRARY AND GSTREAMER_INTERFACE_LIBRARY)

SET (GSTREAMER_DIR ${GSTREAMER_DIR} CACHE PATH "Directory containing gstreamer")

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 QUIET gstreamer-0.10)
#MESSAGE(STATUS "DEBUG: GStreamer include directory = ${GSTREAMER_INCLUDE_DIRS}")
#MESSAGE(STATUS "DEBUG: GStreamer link directory = ${GSTREAMER_LIBRARY_DIRS}")
#MESSAGE(STATUS "DEBUG: GStreamer CFlags = ${GSTREAMER_CFLAGS_OTHER}")
SET(GSTREAMER_DEFINITIONS ${PC_GSTREAMER_CFLAGS_OTHER})
ELSE (NOT WIN32)
IF (NOT GSTREAMER_DIR)
SET (GSTREAMER_DIR "C:/gstreamer")
ENDIF (NOT GSTREAMER_DIR)
ENDIF (NOT WIN32)

FIND_PATH(GSTREAMER_INCLUDE_DIR gst/gst.h
PATHS
${GSTREAMER_DIR}/include/gstreamer-0.10
${PC_GSTREAMER_INCLUDEDIR}
${PC_GSTREAMER_INCLUDE_DIRS}
#PATH_SUFFIXES gst
)

FIND_LIBRARY(GSTREAMER_LIBRARIES NAMES gstreamer-0.10
PATHS
${GSTREAMER_DIR}/lib
${PC_GSTREAMER_LIBDIR}
${PC_GSTREAMER_LIBRARY_DIRS}
)

FIND_LIBRARY(GSTREAMER_BASE_LIBRARY NAMES gstbase-0.10
PATHS
${GSTREAMER_DIR}/lib
${PC_GSTREAMER_LIBDIR}
${PC_GSTREAMER_LIBRARY_DIRS}
)

FIND_LIBRARY(GSTREAMER_CONTROLLER_LIBRARY NAMES gstcontroller-0.10
PATHS
${GSTREAMER_DIR}/lib
${PC_GSTREAMER_LIBDIR}
${PC_GSTREAMER_LIBRARY_DIRS}
)

FIND_LIBRARY(GSTREAMER_INTERFACE_LIBRARY NAMES gstinterfaces-0.10
PATHS
${GSTREAMER_DIR}/lib
${PC_GSTREAMER_LIBDIR}
${PC_GSTREAMER_LIBRARY_DIRS}
)

FIND_LIBRARY(GSTREAMER_VIDEO_LIBRARY NAMES gstvideo-0.10
PATHS
${GSTREAMER_DIR}/lib
${PC_GSTREAMER_LIBDIR}
${PC_GSTREAMER_LIBRARY_DIRS}
)

IF (GSTREAMER_INCLUDE_DIR)
#MESSAGE(STATUS "DEBUG: Found GStreamer include dir: ${GSTREAMER_INCLUDE_DIR}")
ELSE (GSTREAMER_INCLUDE_DIR)
MESSAGE(STATUS "GStreamer: WARNING: include dir not found")
ENDIF (GSTREAMER_INCLUDE_DIR)

IF (GSTREAMER_LIBRARIES)
#MESSAGE(STATUS "DEBUG: Found GStreamer library: ${GSTREAMER_LIBRARIES}")
ELSE (GSTREAMER_LIBRARIES)
MESSAGE(STATUS "GStreamer: WARNING: library not found")
ENDIF (GSTREAMER_LIBRARIES)

IF (GSTREAMER_BASE_LIBRARY)
#MESSAGE(STATUS "DEBUG: Found GStreamer base library: ${GSTREAMER_BASE_LIBRARY}")
ELSE (GSTREAMER_BASE_LIBRARY)
MESSAGE(STATUS "GStreamer: WARNING: base library not found")
ENDIF (GSTREAMER_BASE_LIBRARY)

IF (GSTREAMER_CONTROLLER_LIBRARY)
#MESSAGE(STATUS "DEBUG: Found GStreamer controller library: ${GSTREAMER_CONTROLLER_LIBRARY}")
ELSE (GSTREAMER_CONTROLLER_LIBRARY)
MESSAGE(STATUS "GStreamer: WARNING: controller library not found")
ENDIF (GSTREAMER_CONTROLLER_LIBRARY)

IF (GSTREAMER_INTERFACE_LIBRARY)
#MESSAGE(STATUS "DEBUG: Found GStreamer interface library: ${GSTREAMER_INTERFACE_LIBRARY}")
ELSE (GSTREAMER_INTERFACE_LIBRARY)
MESSAGE(STATUS "GStreamer: WARNING: interface library not found")
ENDIF (GSTREAMER_INTERFACE_LIBRARY)

IF (GSTREAMER_VIDEO_LIBRARY)
#MESSAGE(STATUS "DEBUG: Found GStreamer video library: ${GSTREAMER_VIDEO_LIBRARY}")
ELSE (GSTREAMER_VIDEO_LIBRARY)
MESSAGE(STATUS "GStreamer: WARNING: video library not found")
ENDIF (GSTREAMER_VIDEO_LIBRARY)

INCLUDE(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(GStreamer DEFAULT_MSG GSTREAMER_LIBRARIES GSTREAMER_INCLUDE_DIR GSTREAMER_BASE_LIBRARY GSTREAMER_CONTROLLER_LIBRARY GSTREAMER_INTERFACE_LIBRARY GSTREAMER_VIDEO_LIBRARY)

MARK_AS_ADVANCED(GSTREAMER_INCLUDE_DIR GSTREAMER_LIBRARIES GSTREAMER_BASE_LIBRARY GSTREAMER_CONTROLLER_LIBRARY GSTREAMER_INTERFACE_LIBRARY GSTREAMER_VIDEO_LIBRARY)
16 changes: 16 additions & 0 deletions cmake/modules/FindLibIconv.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
if (NOT LIBICONV_DIR)
set (LIBICONV_DIR "" CACHE PATH "Directory containing iconv.h")
endif ()

FILE(TO_CMAKE_PATH "$ENV{LIBICONV_DIR}" TRY1_DIR)
FILE(TO_CMAKE_PATH "${LIBICONV_DIR}" TRY2_DIR)
FILE(GLOB LIBICONV_DIR ${TRY1_DIR} ${TRY2_DIR})

FIND_PATH(LIBICONV_INCLUDE_DIR iconv.h
PATHS ${LIBICONV_DIR}/include /usr/local/include /usr/include
ENV INCLUDE DOC "Directory containing iconv.h include file")
mark_as_advanced (LIBICONV_INCLUDE_DIR)

IF (LIBICONV_INCLUDE_DIR)
SET(LIBICONV_FOUND TRUE)
ENDIF (LIBICONV_INCLUDE_DIR)
16 changes: 16 additions & 0 deletions cmake/modules/FindLibXml2.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
if (NOT LIBXML2_DIR)
set (LIBXML2_DIR "" CACHE PATH "Directory containing libxml")
endif ()

FILE(TO_CMAKE_PATH "$ENV{LIBXML2_DIR}" TRY1_DIR)
FILE(TO_CMAKE_PATH "${LIBXML2_DIR}" TRY2_DIR)
FILE(GLOB LIBXML2_DIR ${TRY1_DIR} ${TRY2_DIR})

FIND_PATH(LIBXML2_INCLUDE_DIR libxml/parser.h
PATHS ${LIBXML2_DIR}/include ${LIBXML2_DIR}/include/libxml2 /usr/local/include/libxml2 /usr/include/libxml2
ENV INCLUDE DOC "Directory containing libxml/parser.h include file")
mark_as_advanced (LIBXML2_INCLUDE_DIR)

IF (LIBXML2_INCLUDE_DIR)
SET(LIBXML2_FOUND TRUE)
ENDIF (LIBXML2_INCLUDE_DIR)
1 change: 1 addition & 0 deletions gst/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
add_subdirectory (cairovis)
41 changes: 41 additions & 0 deletions gst/cairovis/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
add_definitions (-DHAVE_CONFIG_H)

set (SOURCES
cairovis.c
cairovis_base.c
cairovis_histogram.c
cairovis_lineseries.c
cairovis_waterfall.c
colormap.c
colormap_data.c)

set (HEADERS
cairovis_base.h
cairovis_histogram.h
cairovis_lineseries.h
cairovis_waterfall.h
colormap.h
colormap_data.h)

include_directories(AFTER
${CAIRO_INCLUDE_DIR}
${GSL_INCLUDE_DIR}
. )

add_library (libgstcairovis MODULE
${SOURCES}
${HEADERS})

target_link_libraries (libgstcairovis
general ${GLIB2_LIBRARIES}
general ${GSTREAMER_LIBRARIES}
general ${GSTREAMER_BASE_LIBRARY}
general ${GSTREAMER_VIDEO_LIBRARY}
general ${CAIRO_LIBRARIES}
general ${GSL_INTERPOLATION_LIBRARY}
general ${GSL_ERR_LIBRARY}
general ${GSL_SYS_LIBRARY})

install (TARGETS libgstcairovis
LIBRARY DESTINATION lib/gstreamer-0.10)

3 changes: 3 additions & 0 deletions gst/cairovis/cairovis.c
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,9 @@
#include <cairovis_lineseries.h>
#include <cairovis_waterfall.h>

#ifdef HAVE_CONFIG_H
#include "config.h"
#endif

/*
* ============================================================================
Expand Down
Loading