project(gui)

find_package(Qt4 REQUIRED)
include(${QT_USE_FILE})

include_directories(${CMAKE_CURRENT_SOURCE_DIR}
                    ${CMAKE_CURRENT_BINARY_DIR}
		    ${MML_INCLUDE_DIRECTORIES}
		    ${QT_INCLUDE_DIR})

set(gui_LIBRARIES
  ${MML_LIBRARIES}
  ${QT_LIBRARIES}
  monitoring

)

set(gui_MOC_SRCS
  MonitoringDialog.h
  MonitoringDriver.h
  MonitoringGuiManager.h
)

set(gui_UIS
  MonitoringDialog.ui
)

qt4_wrap_ui(gui_UIS_H ${gui_UIS})
qt4_wrap_cpp(gui_MOC_UI ${gui_UIS_H})
qt4_wrap_cpp(gui_MOCS ${gui_MOC_SRCS})

qt4_add_resources(gui_QRC MonitoringGuiIcons.qrc)

set(gui_HEADERS 
  MonitoringDialog.h
  MonitoringDriver.h
  MonitoringGuiManager.h
  ${gui_UIS_H}
  ${gui_QRC}
)

set(gui_SRCS
  MonitoringDialog.cpp
  MonitoringDriver.cpp
  MonitoringGuiManager.cpp
  BenchmarkGui.cpp
  ${gui_HEADERS}
  ${gui_MOCS}
  ${gui_MOC_UI}
)

add_library(monitoringgui STATIC ${gui_SRCS})

if(MML_SOFA_SUPPORT)
	#FIXME Sofa support => fix sofa dependency properly
	if(WIN32)
		set(MML_SOFA_LIB_DIR ${MML_SOFA_DIR}/lib/win32/ReleaseVC9 ${MML_SOFA_DIR}/lib/win32 ${MML_SOFA_DIR}/lib ${MML_SOFA_DIR}/bin)
	else()
		set(MML_SOFA_LIB_DIR ${MML_SOFA_DIR}/lib/linux ${MML_SOFA_DIR}/lib)
	endif()
	link_directories(${MML_SOFA_LIB_DIR})
endif(MML_SOFA_SUPPORT)

add_executable(benchmarkgui ${gui_SRCS})

target_link_libraries(benchmarkgui ${gui_LIBRARIES})

#add_custom_target(monitoringgui ALL)

add_dependencies(monitoringgui monitoring)

#--------------
# installation
#--------------
export_headers(
  ${gui_HEADERS}
  COMPONENT monitoringgui
)

# lib installation
install(TARGETS monitoringgui
        ARCHIVE DESTINATION lib/${CAMITK_SHORT_VERSION_STRING}
        COMPONENT monitoringgui
)