

LIST(APPEND VIDEOSOURCE_SRC_FILES videosource.cpp iniparser.cpp
		bmpvideosource.cpp opencv_vs.cpp videosource.h
		iniparser.h bmpvideosource.h opencv_vs.h )


#
# Firewire cameras with libdc1394
#
FIND_LIBRARY(DC1394_LIBRARY dc1394 PATHS /opt/local/lib /usr/local/lib /sw/lib /usr/lib)
FIND_PATH(DC1394_INCLUDE_DIR dc1394/dc1394.h PATHS /usr/include /usr/local/include /opt/local/include /sw/include)
IF (DC1394_LIBRARY AND DC1394_INCLUDE_DIR)
	LIST(APPEND VIDEOSOURCE_LIBRARIES ${DC1394_LIBRARY})
	SET(WITH_DC1394_SRC ON)
	LIST(APPEND VIDEOSOURCE_SRC_FILES dc1394vs.cpp dc1394vs.h)
	INCLUDE_DIRECTORIES(${DC1394_INCLUDE_DIR})
	ADD_DEFINITIONS(-DWITH_DC1394)
ENDIF (DC1394_LIBRARY AND DC1394_INCLUDE_DIR)

#
# DirectShow support
#
FIND_PACKAGE(DirectShow)
IF(DIRECTSHOW_FOUND)
	LIST(APPEND VIDEOSOURCE_LIBRARIES ${DIRECTSHOW_LIBRARIES})
	INCLUDE_DIRECTORIES(${DIRECTSHOW_INCLUDE_DIR})
	SET(WITH_DSHOW_SRC ON)
	ADD_DEFINITIONS(-DWITH_DSHOWCB -DWITH_DSHOWFILE)
	LIST(APPEND VIDEOSOURCE_SRC_FILES  dshowcb.cpp dshowfile.cpp stdafx.cpp 
			stdafx.h dshowcb.h dshowfile.h)
ENDIF(DIRECTSHOW_FOUND)

#
# mplayer/mencoder through pipes
#
IF (UNIX)
	FIND_PROGRAM(PRG_MENCODER NAMES mencoder)
	SET(WITH_MENCODER_SRC ON)
	LIST(APPEND VIDEOSOURCE_SRC_FILES bidirpipe.cpp bidirpipe.h mplayer.cpp mplayer.h)
	ADD_DEFINITIONS(-DWITH_MPLAYER)
ENDIF(UNIX)

INCLUDE_DIRECTORIES( ${OpenCV_INCLUDE_DIRS} )
ADD_LIBRARY(videosource ${VIDEOSOURCE_SRC_FILES})

SET(VIDEOSOURCE_INCLUDE_DIR ${PROJECT_SOURCE_DIR}/videosource PARENT_SCOPE)
LIST(APPEND VIDEOSOURCE_LIBRARIES videosource)
SET(VIDEOSOURCE_LIBRARIES ${VIDEOSOURCE_LIBRARIES} PARENT_SCOPE)

SET_TARGET_PROPERTIES(videosource PROPERTIES PUBLIC_HEADER 
		"videosource.h;iniparser.h" )

INSTALL(TARGETS videosource 
	ARCHIVE DESTINATION "lib" 
	PUBLIC_HEADER DESTINATION "include/videosource" 
	COMPONENT videosource_lib_headers)
