# Find the BCM-package (VC control)
find_package(BCM REQUIRED)
include_directories(${BCM_INCLUDE_DIRS})

# Define the current source locations
SET(CURRENT_HEADER_DIR ${CMAKE_SOURCE_DIR}/include/grabber)
SET(CURRENT_SOURCE_DIR ${CMAKE_SOURCE_DIR}/libsrc/grabber/dispmanx)

# Group the headers that go through the MOC compiler
SET(DispmanxGrabberQT_HEADERS
	${CURRENT_HEADER_DIR}/DispmanxWrapper.h
)

SET(DispmanxGrabberHEADERS
	${CURRENT_HEADER_DIR}/DispmanxFrameGrabber.h
)

SET(DispmanxGrabberSOURCES
	${CURRENT_SOURCE_DIR}/DispmanxWrapper.cpp
	${CURRENT_SOURCE_DIR}/DispmanxFrameGrabber.cpp
)

if(ENABLE_QT5)
	QT5_WRAP_CPP(DispmanxGrabberHEADERS_MOC ${DispmanxGrabberQT_HEADERS})
else(ENABLE_QT5)
	QT4_WRAP_CPP(DispmanxGrabberHEADERS_MOC ${DispmanxGrabberQT_HEADERS})
endif(ENABLE_QT5)

add_library(dispmanx-grabber
	${DispmanxGrabberHEADERS}
	${DispmanxGrabberQT_HEADERS}
	${DispmanxGrabberHEADERS_MOC}
	${DispmanxGrabberSOURCES}
)

target_link_libraries(dispmanx-grabber
	hyperion
	${QT_LIBRARIES}
	${BCM_LIBRARIES}
)