project(gui)

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

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

set(gui_UIS
  MonitoringDialog.ui
)

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

qt4_add_resources(gui_QRC MonitoringGuiIcons.qrc)

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

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

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_definitions(-DCOMPILE_MML_MONIGORING_GUI_TOOL)

# add lib as a camitk tool
camitk_tool(STATIC
 LIBNAME monitoringgui
 SOURCES ${gui_SRCS}
 INCLUDE_DIRECTORIES ${MML_INCLUDE_DIRECTORIES} ${CAMITK_INCLUDE_DIR}/monitoring ${QT_INCLUDE_DIR}
)

add_dependencies(monitoringgui monitoring)

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

add_executable(benchmarkgui ${gui_SRCS})

target_link_libraries(benchmarkgui ${gui_LIBRARIES})

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

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