SET( CMAKE_LIBRARY_OUTPUT_DIRECTORY
  ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/plugins
)

ADD_DEFINITIONS( -DQT_PLUGIN )

IF( ${CMAKE_BUILD_TYPE} MATCHES "Debug" )
  ADD_DEFINITIONS( -DQT_DEBUG )
ELSE( ${CMAKE_BUILD_TYPE} MATCHES "Debug" )
  ADD_DEFINITIONS( -DQT_NO_DEBUG )
ENDIF( ${CMAKE_BUILD_TYPE} MATCHES "Debug" )

INCLUDE_DIRECTORIES( BEFORE
  ${GOFIGURE2_SOURCE_DIR}/Interfaces
  ${CMAKE_CURRENT_BINARY_DIR}
)

SET( MEDIANPLUGIN_HDRS
  medianplugin.h
  QCellPreprocess.h
  ${QGoGUIINTERFACES_HDRS}
  )

SET( MEDIANPLUGIN_SRC
  medianplugin.cxx
  QCellPreprocess.cxx
  ${QGoGUIINTERFACES_SRC}
)

QT4_WRAP_UI( MEDIANPLUGIN_UI_HDRS
 CellPreprocess.ui
 )

QT4_WRAP_CPP( MEDIANPLUGIN_MOC
  ${MEDIANPLUGIN_HDRS}
  )

SET_SOURCE_FILES_PROPERTIES( ${MEDIANPLUGIN_SRC} PROPERTIES
  OBJECT_DEPENDS "${MEDIANPLUGIN_UI_HDRS}"
  )

SET_SOURCE_FILES_PROPERTIES( ${MEDIANPLUGIN_MOC} PROPERTIES
  OBJECT_DEPENDS "${MEDIANPLUGIN_UI_HDRS}"
  )

ADD_LIBRARY( ImageMedianPlugin MODULE
  ${MEDIANPLUGIN_MOC}
  ${MEDIANPLUGIN_SRC}
)

ADD_DEPENDENCIES( ImageMedianPlugin QGoGui )

TARGET_LINK_LIBRARIES( ImageMedianPlugin
  QGoGui
  ITKBasicFilters
)

#ADD_EXECUTABLE( medianpluginExample medianpluginMain.cxx )
#TARGET_LINK_LIBRARIES( medianpluginExample ${QT_LIBRARIES} )

FILE( GLOB __source_file_h "${CMAKE_CURRENT_SOURCE_DIR}/*.h" )
FILE( GLOB __source_file_txx "${CMAKE_CURRENT_SOURCE_DIR}/*.txx" )
FILE( GLOB __binary_file_h "${CMAKE_CURRENT_BINARY_DIR}/*.h" )
FILE( GLOB __binary_file_txx "${CMAKE_CURRENT_BINARY_DIR}/*.txx" )

INSTALL(
  FILES ${__source_file_h} ${__source_file_txx}
  ${__binary_file_h} ${__binary_file_txx}
  DESTINATION ${GOFIGURE2_INSTALL_HEADER_DIR}
  COMPONENT Development
)
