include(CMakeDependentOption)

project(VolumeVizExamples)

# Show this option only in OIV_DEV_BUILD
# set OIV_VOLUMEVIZ_CONFIGURATION to FALSE to avoid running VolumeViz ARTs in all configurations
cmake_dependent_option(OIV_VOLUMEVIZ_CONFIGURATION "Execute VolumeViz ARTs in all configurations (raycasting, slicing...)" TRUE "OIV_DEV_BUILD" TRUE)

set(OIV_MODULE VolumeViz)

if (NOT OIV_LOCAL_PROJECT AND OIV_VOLUMEVIZ_CONFIGURATION)
  ADD_TEST_CONF("CONF_RAYCASTING_OFF")
endif()

link_libraries( "${VolumeViz_LIBRARIES}" )
link_libraries( "${DialogViz_LIBRARIES}" )
link_libraries( "${ScaleViz_LIBRARIES}" )

if(APPLE)
  link_libraries( "${QT_LIBRARIES}" )
endif()

if(NOT WIN32 AND NOT APPLE)
 link_libraries( Xm )
 link_libraries( Xt )
endif()

if(OIV_ENABLE_QT_DEMOS)
  add_subdirectory(DicomSimpleViewer)
  add_subdirectory(simpleVvizViewer)
  add_subdirectory(TransparencyCurveEditor)
endif()

add_subdirectory(2DTransferFunction)
add_subdirectory(ambientOcclusion)
add_subdirectory(bonesMuscles)
add_subdirectory(colorMap)
add_subdirectory(converter)
add_subdirectory(CSGClippingGroup)
add_subdirectory(custom)
add_subdirectory(customCompressor)
add_subdirectory(CustomReader)
add_subdirectory(customTags)
add_subdirectory(CustomWriter)
add_subdirectory(dataTransform)
add_subdirectory(deferredLighting)
add_subdirectory(edge2D)
add_subdirectory(editing)
add_subdirectory(getLDMData)
add_subdirectory(GL_VolumeRender)
add_subdirectory(horizonClipping)
add_subdirectory(horizonInVolume)
add_subdirectory(horizonIsolines)
add_subdirectory(horizonShiftProjection)
add_subdirectory(LargeSliceSupport)
add_subdirectory(LDMAsyncCache)
add_subdirectory(LDMWriter)
add_subdirectory(Machining)
add_subdirectory(multiChannel)
add_subdirectory(multiData)
add_subdirectory(multiTransferFunctions)
add_subdirectory(multiVolumes)
add_subdirectory(physicalRendering)
add_subdirectory(renderModes)
add_subdirectory(roiManip)
add_subdirectory(segmentedInterpolation)
add_subdirectory(SegY)
add_subdirectory(SegY-2D)
add_subdirectory(simpleClippingGroup)
add_subdirectory(simpleFenceSlice)
add_subdirectory(simpleGridClipping)
add_subdirectory(simpleHorizon)
add_subdirectory(simpleHorizonInMemory)
add_subdirectory(simpleHorizonRGBA)
add_subdirectory(simpleInteractiveParameters)
add_subdirectory(simpleIsosurface)
add_subdirectory(simpleLightedVolume)
add_subdirectory(simpleShader)
add_subdirectory(simpleShadows)
add_subdirectory(simpleSliceRGBA)
add_subdirectory(simpleVolume)
add_subdirectory(simpleVolumeAxis)
add_subdirectory(simpleVolumeMask)
add_subdirectory(surfaceScalar)
add_subdirectory(UndefinedVoxel)
add_subdirectory(UniformTiles)
add_subdirectory(VolRend)
add_subdirectory(volumeDataDrawStyle)
add_subdirectory(volumeDataEditing)
add_subdirectory(volumeExtract)
add_subdirectory(volumeGeometry)
add_subdirectory(volumeMaskEditing)
add_subdirectory(volumePickingGpu)
add_subdirectory(volumePipeClipping)
add_subdirectory(volumeProjection)
add_subdirectory(volumeSkin)
add_subdirectory(volumeTransform)
add_subdirectory(VVIZ-template-SG)


if(NOT APPLE)
  add_subdirectory(Compute)
endif()
