* Improve CMake lists and modules

This commit is contained in:
Joshua M. Doe 2010-03-25 13:47:03 -04:00
parent bee7d22fcc
commit cfa14e8d60
9 changed files with 199 additions and 197 deletions

View File

@ -1,60 +1,35 @@
cmake_minimum_required ( VERSION "2.6.0" )
cmake_minimum_required (VERSION "2.8.0")
list ( APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/modules )
list (APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/modules)
project ( gst-plugins-vision )
find_package ( Glib2 REQUIRED )
find_package ( Gstreamer COMPONENTS gstbase )
find_package ( LibXml2 )
find_package ( LibIconv )
find_package ( NIIMAQ REQUIRED ) # make this optional
find_package (Gstreamer REQUIRED)
find_package (Glib2 REQUIRED)
find_package (NIIMAQ)
function ( check_package name LEVEL )
if ( ${name}_FOUND )
message ( STATUS "Found ${name}... YES" )
else ( ${name}_FOUND )
message ( STATUS "Found ${name}... NO" )
if ( LEVEL )
if ( WIN32 )
message ( FATAL_ERROR "You should set the env variable ${name}_DIR" )
else ( WIN32 )
message ( FATAL_ERROR "You should install ${name} dev package" )
endif ( WIN32 )
endif ( LEVEL )
endif ( ${name}_FOUND )
endfunction ( check_package )
# 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)
# required packages
check_package ( GLIB2 1 )
check_package ( GSTREAMER 1 )
# conditionnal required packages
INCLUDE ( CheckIncludeFiles )
CHECK_INCLUDE_FILES ( "${GSTREAMER_gstconfig_INCLUDE_DIR}/gst/gstconfig.h" GST_USING_BINARY_REGISTRY )
if ( NOT GST_USING_BINARY_REGISTRY )
check_package ( LIBXML2 1 )
check_package ( LIBICONV 1 )
endif ( NOT GST_USING_BINARY_REGISTRY )
# debug
message ( "****" ${GLIB2_INCLUDE_DIR} )
message ( "****" ${GLIB2_LIBRARIES} )
message ( "****" ${GSTREAMER_INCLUDE_DIR} )
message ( "****" ${GSTREAMER_LIBRARIES} )
message ( "****" ${NIIMAQ_INCLUDE_DIR} )
message ( "****" ${NIIMAQ_LIBRARIES} )
include_directories (
.
${GSTREAMER_INCLUDE_DIR}
${GLIB2_INCLUDE_DIR} )
if ( NOT GST_USING_BINARY_REGISTRY )
include_directories ( AFTER
${LIBXML2_INCLUDE_DIR}
${LIBICONV_INCLUDE_DIR} )
endif ( NOT GST_USING_BINARY_REGISTRY )
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 )
add_subdirectory ( sys )
add_subdirectory (gst)
add_subdirectory (sys)

View File

@ -1,3 +1,7 @@
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})
@ -5,34 +9,40 @@ 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})

View File

@ -1,134 +1,104 @@
FILE(TO_CMAKE_PATH "$ENV{GSTREAMER_DIR}" TRY1_DIR)
FILE(TO_CMAKE_PATH "${GSTREAMER_DIR}" TRY2_DIR)
FILE(GLOB GSTREAMER_DIR ${TRY1_DIR} ${TRY2_DIR})
message(STATUS ": GSTREAMER_DIR=${GSTREAMER_DIR}")
# - 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
FIND_PATH(GSTREAMER_gst_INCLUDE_DIR gst/gst.h
PATHS ${GSTREAMER_DIR}/include ${GSTREAMER_DIR}/include/gstreamer-0.10 /usr/local/include/gstreamer-0.10 /usr/include/gstreamer-0.10 C:/gstreamer/include/gstreamer-0.10/gst
ENV INCLUDE DOC "Directory containing gst/gst.h include file")
message(STATUS "GSTREAMER_gst_INCLUDE_DIR = ${GSTREAMER_gst_INCLUDE_DIR}")
# Copyright (c) 2006, Tim Beaulen <tbscope@gmail.com>
# Copyright (c) 2010, United States Government, Joshua M. Doe <oss@nvl.army.mil>
#
# Redistribution and use is allowed according to the terms of the BSD license.
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
FIND_PATH(GSTREAMER_gstconfig_INCLUDE_DIR gst/gstconfig.h
PATHS ${GSTREAMER_DIR}/include ${GSTREAMER_DIR}/lib/include ${GSTREAMER_DIR}/include/gstreamer-0.10 /usr/local/include/gstreamer-0.10 /usr/include/gstreamer-0.10 /usr/local/lib/include/gstreamer-0.10 /usr/lib/include/gstreamer-0.10
ENV INCLUDE DOC "Directory containing gst/gstconfig.h include file")
message(STATUS "GSTREAMER_gstconfig_INCLUDE_DIR = ${GSTREAMER_gstconfig_INCLUDE_DIR}")
# TODO: Other versions --> GSTREAMER_X_Y_FOUND (Example: GSTREAMER_0_8_FOUND and GSTREAMER_0_10_FOUND etc)
FIND_LIBRARY(GSTREAMER_gstaudio_LIBRARY NAMES gstaudio-0.10 libgstaudio-0.10 gstaudio
PATHS ${GSTREAMER_DIR}/bin ${GSTREAMER_DIR}/win32/bin ${GSTREAMER_DIR}/bin/bin C:/gstreamer/bin ${GSTREAMER_DIR}/lib ${GSTREAMER_DIR}/win32/lib /usr/local/lib /usr/lib
ENV LIB
DOC "gstaudio library to link with"
NO_SYSTEM_ENVIRONMENT_PATH)
message(STATUS "GSTREAMER_gstaudio_LIBRARY = ${GSTREAMER_gstaudio_LIBRARY}")
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)
FIND_LIBRARY(GSTREAMER_gstbase_LIBRARY NAMES gstbase-0.10 libgstbase-0.10 gstbase
PATHS ${GSTREAMER_DIR}/bin ${GSTREAMER_DIR}/win32/bin ${GSTREAMER_DIR}/bin/bin C:/gstreamer/bin ${GSTREAMER_DIR}/lib ${GSTREAMER_DIR}/win32/lib /usr/local/lib /usr/lib
ENV LIB
DOC "gstbase library to link with"
NO_SYSTEM_ENVIRONMENT_PATH)
SET (GSTREAMER_DIR ${GSTREAMER_DIR} CACHE PATH "Directory containing gstreamer")
FIND_LIBRARY(GLIB_gstcdda_LIBRARY NAMES gstcdda-0.10 libgstcdda-0.10 gstcdda
PATHS ${GSTREAMER_DIR}/bin ${GSTREAMER_DIR}/win32/bin ${GSTREAMER_DIR}/bin/bin C:/gstreamer/bin ${GSTREAMER_DIR}/lib ${GSTREAMER_DIR}/win32/lib /usr/local/lib /usr/lib
ENV LIB
DOC "gstcdda library to link with"
NO_SYSTEM_ENVIRONMENT_PATH)
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_LIBRARY(GSTREAMER_gstcontroller_LIBRARY NAMES gstcontroller-0.10 libgstcontroller-0.10 gstcontroller
PATHS ${GSTREAMER_DIR}/bin ${GSTREAMER_DIR}/win32/bin ${GSTREAMER_DIR}/bin/bin C:/gstreamer/bin ${GSTREAMER_DIR}/lib ${GSTREAMER_DIR}/win32/lib /usr/local/lib /usr/lib
ENV LIB
DOC "gstcontroller library to link with"
NO_SYSTEM_ENVIRONMENT_PATH)
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_gstdataprotocol_LIBRARY NAMES gstdataprotocol-0.10 libgstdataprotocol-0.10 gstdataprotocol
PATHS ${GSTREAMER_DIR}/bin ${GSTREAMER_DIR}/win32/bin ${GSTREAMER_DIR}/bin/bin C:/gstreamer/bin ${GSTREAMER_DIR}/lib ${GSTREAMER_DIR}/win32/lib /usr/local/lib /usr/lib
ENV LIB
DOC "gstdataprotocol library to link with"
NO_SYSTEM_ENVIRONMENT_PATH)
FIND_LIBRARY(GSTREAMER_LIBRARIES NAMES gstreamer-0.10
PATHS
${GSTREAMER_DIR}/lib
${PC_GSTREAMER_LIBDIR}
${PC_GSTREAMER_LIBRARY_DIRS}
)
FIND_LIBRARY(GSTREAMER_gstinterfaces_LIBRARY NAMES gstinterfaces-0.10 libgstinterfaces-0.10 gstinterfaces
PATHS ${GSTREAMER_DIR}/bin ${GSTREAMER_DIR}/win32/bin ${GSTREAMER_DIR}/bin/bin C:/gstreamer/bin ${GSTREAMER_DIR}/lib ${GSTREAMER_DIR}/win32/lib /usr/local/lib /usr/lib
ENV LIB
DOC "gstinterfaces library to link with"
NO_SYSTEM_ENVIRONMENT_PATH)
FIND_LIBRARY(GSTREAMER_BASE_LIBRARY NAMES gstbase-0.10
PATHS
${GSTREAMER_DIR}/lib
${PC_GSTREAMER_LIBDIR}
${PC_GSTREAMER_LIBRARY_DIRS}
)
FIND_LIBRARY(GSTREAMER_gstnet_LIBRARY NAMES gstnet-0.10 libgstnet-0.10 gstnet
PATHS ${GSTREAMER_DIR}/bin ${GSTREAMER_DIR}/win32/bin ${GSTREAMER_DIR}/bin/bin C:/gstreamer/bin ${GSTREAMER_DIR}/lib ${GSTREAMER_DIR}/win32/lib /usr/local/lib /usr/lib
ENV LIB
DOC "gstnet library to link with"
NO_SYSTEM_ENVIRONMENT_PATH)
FIND_LIBRARY(GSTREAMER_INTERFACE_LIBRARY NAMES gstinterfaces-0.10
PATHS
${GSTREAMER_DIR}/lib
${PC_GSTREAMER_LIBDIR}
${PC_GSTREAMER_LIBRARY_DIRS}
)
FIND_LIBRARY(GSTREAMER_gstnetbuffer_LIBRARY NAMES gstnetbuffer-0.10 libgstnetbuffer-0.10 gstnetbuffer
PATHS ${GSTREAMER_DIR}/bin ${GSTREAMER_DIR}/win32/bin ${GSTREAMER_DIR}/bin/bin C:/gstreamer/bin ${GSTREAMER_DIR}/lib ${GSTREAMER_DIR}/win32/lib /usr/local/lib /usr/lib
ENV LIB
DOC "gstnetbuffer library to link with"
NO_SYSTEM_ENVIRONMENT_PATH)
FIND_LIBRARY(GSTREAMER_VIDEO_LIBRARY NAMES gstvideo-0.10
PATHS
${GSTREAMER_DIR}/lib
${PC_GSTREAMER_LIBDIR}
${PC_GSTREAMER_LIBRARY_DIRS}
)
FIND_LIBRARY(GSTREAMER_gstpbutils_LIBRARY NAMES gstpbutils-0.10 libgstpbutils-0.10 gstpbutils
PATHS ${GSTREAMER_DIR}/bin ${GSTREAMER_DIR}/win32/bin ${GSTREAMER_DIR}/bin/bin C:/gstreamer/bin ${GSTREAMER_DIR}/lib ${GSTREAMER_DIR}/win32/lib /usr/local/lib /usr/lib
ENV LIB
DOC "gstpbutils library to link with"
NO_SYSTEM_ENVIRONMENT_PATH)
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)
FIND_LIBRARY(GSTREAMER_gstreamer_LIBRARY NAMES gstreamer-0.10 libgstreamer-0.10 gstreamer
PATHS ${GSTREAMER_DIR}/bin ${GSTREAMER_DIR}/win32/bin ${GSTREAMER_DIR}/bin/bin C:/gstreamer/bin ${GSTREAMER_DIR}/lib ${GSTREAMER_DIR}/win32/lib /usr/local/lib /usr/lib
ENV LIB
DOC "gstreamer library to link with"
NO_SYSTEM_ENVIRONMENT_PATH)
IF (GSTREAMER_LIBRARIES)
#MESSAGE(STATUS "DEBUG: Found GStreamer library: ${GSTREAMER_LIBRARIES}")
ELSE (GSTREAMER_LIBRARIES)
MESSAGE(STATUS "GStreamer: WARNING: library not found")
ENDIF (GSTREAMER_LIBRARIES)
FIND_LIBRARY(GSTREAMER_gstriff_LIBRARY NAMES gstriff-0.10 libgstriff-0.10 gstriff
PATHS ${GSTREAMER_DIR}/bin ${GSTREAMER_DIR}/win32/bin ${GSTREAMER_DIR}/bin/bin C:/gstreamer/bin ${GSTREAMER_DIR}/lib ${GSTREAMER_DIR}/win32/lib /usr/local/lib /usr/lib
ENV LIB
DOC "gstriff library to link with"
NO_SYSTEM_ENVIRONMENT_PATH)
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)
FIND_LIBRARY(GSTREAMER_gstrtp_LIBRARY NAMES gstrtp-0.10 libgstrtp-0.10 gstrtp
PATHS ${GSTREAMER_DIR}/bin ${GSTREAMER_DIR}/win32/bin ${GSTREAMER_DIR}/bin/bin C:/gstreamer/bin ${GSTREAMER_DIR}/lib ${GSTREAMER_DIR}/win32/lib /usr/local/lib /usr/lib
ENV LIB
DOC "gstrtp library to link with"
NO_SYSTEM_ENVIRONMENT_PATH)
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)
FIND_LIBRARY(GSTREAMER_gstrtsp_LIBRARY NAMES gstrtsp-0.10 libgstrtsp-0.10 gstrtsp
PATHS ${GSTREAMER_DIR}/bin ${GSTREAMER_DIR}/win32/bin ${GSTREAMER_DIR}/bin/bin C:/gstreamer/bin ${GSTREAMER_DIR}/lib ${GSTREAMER_DIR}/win32/lib /usr/local/lib /usr/lib
ENV LIB
DOC "gstrtsp library to link with"
NO_SYSTEM_ENVIRONMENT_PATH)
INCLUDE(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(GStreamer DEFAULT_MSG GSTREAMER_LIBRARIES GSTREAMER_INCLUDE_DIR GSTREAMER_BASE_LIBRARY GSTREAMER_INTERFACE_LIBRARY GSTREAMER_VIDEO_LIBRARY)
#FIND_LIBRARY(GSTREAMER_gstsdp_LIBRARY NAMES gstsdp-0.10 libgstsdp-0.10
# PATHS ${GSTREAMER_DIR}/bin ${GSTREAMER_DIR}/win32/bin ${GSTREAMER_DIR}/bin/bin C:/gstreamer/bin ${GSTREAMER_DIR}/lib ${GSTREAMER_DIR}/win32/lib /usr/local/lib /usr/lib
# ENV LIB
# DOC "gstsdp library to link with"
# NO_SYSTEM_ENVIRONMENT_PATH)
FIND_LIBRARY(GSTREAMER_gsttag_LIBRARY NAMES gsttag-0.10 libgsttag-0.10 gsttag
PATHS ${GSTREAMER_DIR}/bin ${GSTREAMER_DIR}/win32/bin ${GSTREAMER_DIR}/bin/bin C:/gstreamer/bin ${GSTREAMER_DIR}/lib ${GSTREAMER_DIR}/win32/lib /usr/local/lib /usr/lib
ENV LIB
DOC "gsttag library to link with"
NO_SYSTEM_ENVIRONMENT_PATH)
FIND_LIBRARY(GSTREAMER_gstvideo_LIBRARY NAMES gstvideo-0.10 libgstvideo-0.10 gstvideo
PATHS ${GSTREAMER_DIR}/bin ${GSTREAMER_DIR}/win32/bin ${GSTREAMER_DIR}/bin/bin C:/gstreamer/bin ${GSTREAMER_DIR}/lib ${GSTREAMER_DIR}/win32/lib /usr/local/lib /usr/lib
ENV LIB
DOC "gstvideo library to link with"
NO_SYSTEM_ENVIRONMENT_PATH)
#IF (GSTREAMER_gst_INCLUDE_DIR AND GSTREAMER_gstconfig_INCLUDE_DIR AND
# GSTREAMER_gstaudio_LIBRARY AND GSTREAMER_gstbase_LIBRARY AND GSTREAMER_gstcontroller_LIBRARY AND
# GSTREAMER_gstdataprotocol_LIBRARY AND GSTREAMER_gstinterfaces_LIBRARY AND GSTREAMER_gstnet_LIBRARY AND
# GSTREAMER_gstnetbuffer_LIBRARY AND GSTREAMER_gstpbutils_LIBRARY AND GSTREAMER_gstreamer_LIBRARY AND
# GSTREAMER_gstriff_LIBRARY AND GSTREAMER_gstrtp_LIBRARY AND GSTREAMER_gstrtsp_LIBRARY AND GSTREAMER_gstsdp_LIBRARY AND
# GSTREAMER_gsttag_LIBRARY AND GSTREAMER_gstvideo_LIBRARY)
SET(GSTREAMER_INCLUDE_DIR ${GSTREAMER_gst_INCLUDE_DIR} ${GSTREAMER_gstconfig_INCLUDE_DIR})
list(REMOVE_DUPLICATES GSTREAMER_INCLUDE_DIR)
SET(GSTREAMER_LIBRARIES ${GSTREAMER_gstaudio_LIBRARY} ${GSTREAMER_gstbase_LIBRARY}
${GSTREAMER_gstcontroller_LIBRARY} ${GSTREAMER_gstdataprotocol_LIBRARY} ${GSTREAMER_gstinterfaces_LIBRARY}
${GSTREAMER_gstnet_LIBRARY} ${GSTREAMER_gstnetbuffer_LIBRARY} ${GSTREAMER_gstpbutils_LIBRARY}
${GSTREAMER_gstreamer_LIBRARY} ${GSTREAMER_gstriff_LIBRARY} ${GSTREAMER_gstrtp_LIBRARY}
${GSTREAMER_gstrtsp_LIBRARY} ${GSTREAMER_gstsdp_LIBRARY} ${GSTREAMER_gsttag_LIBRARY} ${GSTREAMER_gstvideo_LIBRARY})
list(REMOVE_DUPLICATES GSTREAMER_LIBRARIES)
SET(GSTREAMER_FOUND TRUE)
#ENDIF (GSTREAMER_gst_INCLUDE_DIR AND GSTREAMER_gstconfig_INCLUDE_DIR AND
# GSTREAMER_gstaudio_LIBRARY AND GSTREAMER_gstbase_LIBRARY AND GSTREAMER_gstcontroller_LIBRARY AND
# GSTREAMER_gstdataprotocol_LIBRARY AND GSTREAMER_gstinterfaces_LIBRARY AND GSTREAMER_gstnet_LIBRARY AND
# GSTREAMER_gstnetbuffer_LIBRARY AND GSTREAMER_gstpbutils_LIBRARY AND GSTREAMER_gstreamer_LIBRARY AND
# GSTREAMER_gstriff_LIBRARY AND GSTREAMER_gstrtp_LIBRARY AND GSTREAMER_gstrtsp_LIBRARY AND GSTREAMER_gstsdp_LIBRARY AND
# GSTREAMER_gsttag_LIBRARY AND GSTREAMER_gstvideo_LIBRARY)
MARK_AS_ADVANCED(GSTREAMER_INCLUDE_DIR GSTREAMER_LIBRARIES GSTREAMER_BASE_LIBRARY GSTREAMER_INTERFACE_LIBRARY GSTREAMER_VIDEO_LIBRARY)

View File

@ -1,3 +1,7 @@
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})
@ -5,6 +9,7 @@ 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)

View File

@ -1,3 +1,7 @@
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})
@ -5,6 +9,7 @@ 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)

View File

@ -1,17 +1,50 @@
FILE(TO_CMAKE_PATH "$ENV{NIIMAQ_DIR}" TRY1_DIR)
FILE(TO_CMAKE_PATH "${NIIMAQ_DIR}" TRY2_DIR)
FILE(GLOB NIIMAQ_DIR ${TRY1_DIR} ${TRY2_DIR})
# - Try to find National Instruments IMAQ
# Once done this will define
#
# NIIMAQ_FOUND - system has NI-IMAQ
# NIIMAQ_INCLUDE_DIR - the NI-IMAQ include directory
# NIIMAQ_LIBRARIES - the libraries needed to use NI-IMAQ
FIND_PATH(NIIMAQ_INCLUDE_DIR niimaq.h
PATHS "${NIIMAQ_DIR}/Shared/ExternalCompilerSupport/C/Include" "${NIIMAQ_DIR}/Include"
ENV INCLUDE DOC "Directory containing niimaq.h include file")
# Copyright (c) 2006, Tim Beaulen <tbscope@gmail.com>
# Copyright (c) 2010, United States Government, Joshua M. Doe <oss@nvl.army.mil>
#
# Redistribution and use is allowed according to the terms of the BSD license.
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
FIND_LIBRARY(NIIMAQ_LIBRARY NAMES imaq
PATHS "${NIIMAQ_DIR}/Shared/ExternalCompilerSupport/C/Lib32/MSVC" "${NIIMAQ_DIR}/Lib32/MSVC"
ENV LIB
DOC "niimaq library to link with"
NO_SYSTEM_ENVIRONMENT_PATH)
IF (NIIMAQ_INCLUDE_DIR AND NIIMAQ_LIBRARIES)
# in cache already
SET(NIIMAQ_FIND_QUIETLY TRUE)
ELSE (NIIMAQ_INCLUDE_DIR AND NIIMAQ_LIBRARIES)
SET(NIIMAQ_FIND_QUIETLY FALSE)
ENDIF (NIIMAQ_INCLUDE_DIR AND NIIMAQ_LIBRARIES)
IF (NIIMAQ_INCLUDE_DIR AND NIIMAQ_LIBRARY)
SET(NIIMAQ_FOUND TRUE)
ENDIF (NIIMAQ_INCLUDE_DIR AND NIIMAQ_LIBRARY)
IF (NOT NIIMAQ_DIR)
SET (NIIMAQ_DIR "C:/Program Files/National Instruments" CACHE PATH "Directory containing NI includes and libraries")
ENDIF (NOT NIIMAQ_DIR)
FIND_PATH (NIIMAQ_INCLUDE_DIR niimaq.h
PATHS
"${NIIMAQ_DIR}/Shared/ExternalCompilerSupport/C/Include"
DOC "Directory containing niimaq.h include file")
FIND_LIBRARY (NIIMAQ_LIBRARIES NAMES imaq
PATHS
"${NIIMAQ_DIR}/Shared/ExternalCompilerSupport/C/Lib32/MSVC"
DOC "niimaq library to link with")
IF (NIIMAQ_INCLUDE_DIR)
#MESSAGE(STATUS "DEBUG: Found NI-IMAQ include dir: ${NIIMAQ_INCLUDE_DIR}")
ELSE (NIIMAQ_INCLUDE_DIR)
MESSAGE(STATUS "NI-IMAQ: WARNING: include dir not found")
ENDIF (NIIMAQ_INCLUDE_DIR)
IF (NIIMAQ_LIBRARIES)
#MESSAGE(STATUS "DEBUG: Found NI-IMAQ library: ${NIIMAQ_LIBRARIES}")
ELSE (NIIMAQ_LIBRARIES)
MESSAGE(STATUS "NI-IMAQ: WARNING: library not found")
ENDIF (NIIMAQ_LIBRARIES)
INCLUDE (FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS (NIIMAQ DEFAULT_MSG NIIMAQ_INCLUDE_DIR NIIMAQ_LIBRARIES)
MARK_AS_ADVANCED(NIIMAQ_INCLUDE_DIR NIIMAQ_LIBRARIES)

View File

@ -1,20 +1,24 @@
add_definitions(-DHAVE_CONFIG_H)
add_definitions (-DHAVE_CONFIG_H)
set ( SOURCES
set (SOURCES
main.c
gstvideolevels.c )
gstvideolevels.c)
set ( HEADERS
gstvideolevels.h )
set (HEADERS
gstvideolevels.h)
include_directories(AFTER
. )
add_library ( libgstvision MODULE
${SOURCES}
${HEADERS} )
${HEADERS})
target_link_libraries ( libgstvision
general ${GLIB2_LIBRARIES}
general ${GSTREAMER_LIBRARIES} )
general ${GSTREAMER_LIBRARIES}
general ${GSTREAMER_BASE_LIBRARY}
general ${GSTREAMER_VIDEO_LIBRARY})
install (TARGETS libgstnvl
LIBRARY DESTINATION lib/gstreamer-0.10)

View File

@ -5,17 +5,16 @@ set LIBICONV_DIR=%GSTREAMER_DIR%
set GLIB2_DIR=%GSTREAMER_DIR%
set NIIMAQ_DIR=C:\Program Files\National Instruments
rem Plugins will be installed under %CMAKE_PREFIX_PATH%\lib\gstreamer-0.10
set CMAKE_PREFIX_PATH=C:\gstreamer
rem cd mingw32
rem del *ache* && cmake -G "MinGW Makefiles" ..
rem cd vs8
rem del *ache* && cmake -G "Visual Studio 8 2005" ..
rem cd vs9
rem del *ache* && cmake -G "Visual Studio 9 2008" ..
cd vs9
del *ache* && cmake -G "Visual Studio 9 2008" ..
rem cd codeblocks
rem del *ache* && cmake -G "CodeBlocks - MinGW Makefiles" ..
cmd
rem cmd
rem ########################################################################
cmake-gui

View File

@ -17,4 +17,5 @@ add_library ( libgstimaq MODULE
target_link_libraries ( libgstimaq
general ${GLIB2_LIBRARIES}
general ${GSTREAMER_LIBRARIES}
general ${NIIMAQ_LIBRARY} )
general ${GSTREAMER_BASE_LIBRARY}
general ${NIIMAQ_LIBRARIES} )