cmake_minimum_required(VERSION 2.6)

# ITK
FIND_PACKAGE(ITK REQUIRED)
IF(ITK_FOUND)
	INCLUDE_DIRECTORIES(${ITK_INCLUDE_DIRS})
	INCLUDE(${ITK_USE_FILE})
ELSE()
	MESSAGE("ITK not found, but needed.")
ENDIF(ITK_FOUND)


# Qt4
FIND_PACKAGE(Qt4 REQUIRED)
IF(QT4_FOUND)
	INCLUDE_DIRECTORIES(${QT_INCLUDE_DIR})
	INCLUDE(${QT_USE_FILE})	
ELSE()
	MESSAGE("QT4 not found, but needed.")
ENDIF(QT4_FOUND)

# RITK
FIND_PACKAGE(RITK REQUIRED)
IF(RITK_FOUND)
	INCLUDE_DIRECTORIES(${RITK_INCLUDE_DIR})
	INCLUDE(${RITK_USE_FILE})	
ELSE()
	MESSAGE("RITK not found, but needed.")
ENDIF(RITK_FOUND)


#-----------------------------------------------------------------------------

SET(Visualization_HDRS
	VisualizationPluginFactory.h
	VisualizationPlugin.h
	VisualizationWidget.h
)

SET(Visualization_SRCS
	VisualizationPluginFactory.cxx
	VisualizationPlugin.cxx
	VisualizationWidget.cxx
)

#-----------------------------------------------------------------------------

# Qt
# all childs of qobject have to be put here
SET(Visualization_MOC_HDRS 	
	VisualizationPluginFactory.h
	VisualizationPlugin.h
	VisualizationWidget.h
)

SET(Visualization_UIS
	VisualizationWidget.ui
)

QT4_WRAP_UI(UI_HDRS ${Visualization_UIS})	
QT4_WRAP_CPP(MOC_SRCS ${Visualization_MOC_HDRS})

#-----------------------------------------------------------------------------

# Set the name for the library
SET(LIBRARY_NAME VisualizationPlugin)

# Set include directories
SET(Visualization_INCLUDE_DIRS
	${CMAKE_CURRENT_SOURCE_DIR}
	${CMAKE_CURRENT_BINARY_DIR}	
)

SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)

# QT plugin
ADD_DEFINITIONS(-DQT_PLUGIN)
ADD_DEFINITIONS(-DQT_SHARED)
#ADD_DEFINITIONS(-DQT_NO_DEBUG)

# Include directories for the plugin
INCLUDE_DIRECTORIES(${Visualization_INCLUDE_DIRS} ${RITK_INCLUDE_DIRS} ${QT_QTOPENGL_INCLUDE_DIR})

ADD_LIBRARY(${LIBRARY_NAME} SHARED ${Visualization_SRCS} ${Visualization_HDRS} ${MOC_SRCS} ${UI_HDRS})


TARGET_LINK_LIBRARIES(
	${LIBRARY_NAME}
	debug ${RITK_COMMON_LIBRARY_DEBUG}
	debug ${RITK_CORE_LIBRARY_DEBUG}
	debug ${RITK_VISUALIZATION_LIBRARY_DEBUG}
	optimized ${RITK_COMMON_LIBRARY}
	optimized ${RITK_CORE_LIBRARY}
	optimized ${RITK_VISUALIZATION_LIBRARY}
	${ITK_LIBRARIES} 
	${QT_LIBRARIES}
)

SET_TARGET_PROPERTIES(${LIBRARY_NAME} PROPERTIES 
	DEBUG_POSTFIX "d")

#-----------------------------------------------------------------------------
# Installation
INSTALL(TARGETS ${LIBRARY_NAME} CONFIGURATIONS RELEASE
	RUNTIME DESTINATION ${RITK_BINARY_DIR}/release/plugins 
	LIBRARY DESTINATION ${RITK_BINARY_DIR}/release/plugins 
)
INSTALL(TARGETS ${LIBRARY_NAME} CONFIGURATIONS DEBUG
	RUNTIME DESTINATION ${RITK_BINARY_DIR}/debug/plugins 
	LIBRARY DESTINATION ${RITK_BINARY_DIR}/debug/plugins 
)
 

