INCLUDE(${ParaView_SOURCE_DIR}/CMake/ParaViewPlugins.cmake)

MACRO(paraview_build_optional_plugin name comment subdirectory default)
  OPTION(PARAVIEW_BUILD_PLUGIN_${name} "Build ${comment}" ${default})
  MARK_AS_ADVANCED(PARAVIEW_BUILD_PLUGIN_${name})
  IF(PARAVIEW_BUILD_PLUGIN_${name})
    MESSAGE(STATUS "Plugin: ${comment} enabled")
    ADD_SUBDIRECTORY("${subdirectory}")
  ELSE(PARAVIEW_BUILD_PLUGIN_${name})
    MESSAGE(STATUS "Plugin: ${comment} disabled")
  ENDIF(PARAVIEW_BUILD_PLUGIN_${name})
ENDMACRO(paraview_build_optional_plugin)

if (PARAVIEW_BUILD_StreamingParaView)
  add_subdirectory(Streaming)
else (PARAVIEW_BUILD_StreamingParaView)
  paraview_build_optional_plugin(Streaming "Streaming Plugin" Streaming OFF)
endif (PARAVIEW_BUILD_StreamingParaView)

paraview_build_optional_plugin(Array "Array" Array OFF)
#paraview_build_optional_plugin(ChartViewFrame "ChartViewFrame" ChartViewFrame OFF)
#paraview_build_optional_plugin(ClientAttributeView "ClientAttributeView" ClientAttributeView OFF)
#paraview_build_optional_plugin(ClientChartView "ClientChartView" ClientChartView OFF)
paraview_build_optional_plugin(ClientGeoView "ClientGeoView" ClientGeoView OFF)
paraview_build_optional_plugin(ClientGeoView2D "ClientGeoView2D" ClientGeoView2D OFF)
paraview_build_optional_plugin(ClientGraphView "ClientGraphView" ClientGraphView OFF)
paraview_build_optional_plugin(ClientHierarchyView "ClientHierarchyView" ClientHierarchyView OFF)
paraview_build_optional_plugin(ClientRecordView "ClientRecordView" ClientRecordView OFF)
paraview_build_optional_plugin(ClientTableView "ClientTableView" ClientTableView OFF)
paraview_build_optional_plugin(ClientTreeView "ClientTreeView" ClientTreeView OFF)
paraview_build_optional_plugin(CommonToolbar "CommonToolbar" CommonToolbar OFF)
IF(PARAVIEW_BUILD_QT_GUI)
  paraview_build_optional_plugin(CosmoFilters "Cosmology Filters" CosmoFilters ON)
ENDIF(PARAVIEW_BUILD_QT_GUI)
paraview_build_optional_plugin(GraphLayoutFilterPanel "GraphLayoutFilterPanel" GraphLayoutFilterPanel OFF)
paraview_build_optional_plugin(Infovis "Infovis" Infovis OFF)
paraview_build_optional_plugin(Moments, "Filters for Flux and Circulation Fields" Moments ON)
paraview_build_optional_plugin(netCDFReaders "netCDFReaders" netCDFReaders OFF)
paraview_build_optional_plugin(Prism "Prism" PrismPlugins ON)
paraview_build_optional_plugin(PointSprite "Point Sprites" PointSprite ON) 
paraview_build_optional_plugin(pvblot "pvblot" pvblot OFF)
paraview_build_optional_plugin(SLACTools "SLACTools" SLACTools ON)
paraview_build_optional_plugin(SQLDatabaseGraphSourcePanel "SQLDatabaseGraphSourcePanel" SQLDatabaseGraphSourcePanel OFF) 
paraview_build_optional_plugin(SQLDatabaseTableSourcePanel "SQLDatabaseTableSourcePanel" SQLDatabaseTableSourcePanel OFF) 
paraview_build_optional_plugin(SplitTableFieldPanel "SplitTableFieldPanel" SplitTableFieldPanel OFF) 
paraview_build_optional_plugin(StatisticsToolbar "StatisticsToolbar" StatisticsToolbar OFF) 
paraview_build_optional_plugin(TableToGraphPanel "TableToGraphPanel" TableToGraphPanel OFF) 
paraview_build_optional_plugin(TableToSparseArrayPanel "TableToSparseArrayPanel" TableToSparseArrayPanel OFF) 
paraview_build_optional_plugin(ThresholdTablePanel "ThresholdTablePanel" ThresholdTablePanel OFF) 
paraview_build_optional_plugin(ClientGraphViewFrame "ClientGraphViewFrame" ClientGraphViewFrame OFF)
paraview_build_optional_plugin(VisItReaderPlugin "VisItReaderPlugin" VisItDatabaseBridge OFF) 
paraview_build_optional_plugin(H5PartReader "Reader for *.h5part files" H5PartReader ON)

