Commit 382edfe5 authored by Sebastian Eichelbaum's avatar Sebastian Eichelbaum
Browse files

[CHANGE] - our build system now supports module toolboxes. All our current...

[CHANGE] - our build system now supports module toolboxes. All our current modules where sorted into one of the toolboxes. The file modules-user.toolbox is not versioned and can be used for user defined lists of modules.
parent f7af0624
......@@ -40,6 +40,8 @@ syntax: regexp
^tools/numCores/Makefile$
^tools/numCores/cmake_install.cmake$
# user toolboxes are not versioned
^src/modules/modules-user.toolbox$
syntax: glob
.project
......
......@@ -90,6 +90,9 @@ ELSE()
INCLUDE_DIRECTORIES( ${OPENSCENEGRAPH_INCLUDE_DIRS} )
ENDIF()
# some modules need the teem library (http://teem.sourceforge.net/)
find_package( Teem PATHS /usr/local/lib QUIET )
# other options:
#---------------
# Set default build type
......
ADD_SUBDIRECTORY( applyMask )
ADD_SUBDIRECTORY( arbitraryPlane )
ADD_SUBDIRECTORY( arbitraryRois )
ADD_SUBDIRECTORY( atlasSurfaces )
ADD_SUBDIRECTORY( boundingBox )
ADD_SUBDIRECTORY( clusterParamDisplay )
ADD_SUBDIRECTORY( clusterSlicer )
ADD_SUBDIRECTORY( contourTree )
ADD_SUBDIRECTORY( coordinateSystem )
ADD_SUBDIRECTORY( dataTypeConversion )
ADD_SUBDIRECTORY( detTractClustering )
ADD_SUBDIRECTORY( detTractCulling )
ADD_SUBDIRECTORY( deterministicFTMori )
ADD_SUBDIRECTORY( distanceMap )
ADD_SUBDIRECTORY( distanceMapIsosurface )
ADD_SUBDIRECTORY( eegView )
ADD_SUBDIRECTORY( effectiveConnectivityCluster )
ADD_SUBDIRECTORY( fiberSelection )
ADD_SUBDIRECTORY( fiberTransform )
ADD_SUBDIRECTORY( gaussFiltering )
ADD_SUBDIRECTORY( gridRenderer )
ADD_SUBDIRECTORY( histogramEqualization )
ADD_SUBDIRECTORY( hud )
ADD_SUBDIRECTORY( imageExtractor )
ADD_SUBDIRECTORY( isosurfaceRaytracer )
ADD_SUBDIRECTORY( lic )
ADD_SUBDIRECTORY( marchingCubes )
ADD_SUBDIRECTORY( meshReader )
ADD_SUBDIRECTORY( probTractDisplay )
ADD_SUBDIRECTORY( scalarSegmentation )
ADD_SUBDIRECTORY( splineSurface )
ADD_SUBDIRECTORY( superquadricGlyphs )
ADD_SUBDIRECTORY( surfaceParameterAnimator )
ADD_SUBDIRECTORY( template )
ADD_SUBDIRECTORY( triangleMeshRenderer )
ADD_SUBDIRECTORY( vectorPlot )
ADD_SUBDIRECTORY( voxelizer )
ADD_SUBDIRECTORY( writeNIfTI )
ADD_SUBDIRECTORY( writeTracts )
# Toolbox mechanism. This is a nice possibility to turn on/off several modules. This can speed up build times if unneeded modules are turned off.
option( OW_MODULE_TOOLBOX_ALL "Turn all toolboxes on." OFF )
option( OW_MODULE_TOOLBOX_BASE "All the basic functionality modules. These modules are useful and needed for common visualizatuion tasks." ON )
option( OW_MODULE_TOOLBOX_EEG "EEG data processing and visualization." ON )
option( OW_MODULE_TOOLBOX_IMAGEPROCESSING "Image processing tools like filters." ON )
option( OW_MODULE_TOOLBOX_IO "Reader and Writer for several kinds of data." ON )
# this option is a simple list of all modules not in the above lists.
option( OW_MODULE_TOOLBOX_OTHERS "Advanced processing and visualization tools currently in development which have not been categorized to one of the other toolboxes." ON )
# Include needed lists
if( OW_MODULE_TOOLBOX_BASE OR OW_MODULE_TOOLBOX_ALL )
include( modules-base.toolbox )
endif( OW_MODULE_TOOLBOX_BASE OR OW_MODULE_TOOLBOX_ALL )
if( OW_MODULE_TOOLBOX_EEG OR OW_MODULE_TOOLBOX_ALL )
include( modules-eeg.toolbox )
endif( OW_MODULE_TOOLBOX_EEG OR OW_MODULE_TOOLBOX_ALL )
if( OW_MODULE_TOOLBOX_IMAGEPROCESSING OR OW_MODULE_TOOLBOX_ALL )
include( modules-imageprocessing.toolbox )
endif( OW_MODULE_TOOLBOX_IMAGEPROCESSING OR OW_MODULE_TOOLBOX_ALL )
if( OW_MODULE_TOOLBOX_IO OR OW_MODULE_TOOLBOX_ALL )
include( modules-io.toolbox )
endif( OW_MODULE_TOOLBOX_IO OR OW_MODULE_TOOLBOX_ALL )
if( OW_MODULE_TOOLBOX_OTHERS OR OW_MODULE_TOOLBOX_ALL )
include( modules-others.toolbox )
endif( OW_MODULE_TOOLBOX_OTHERS OR OW_MODULE_TOOLBOX_ALL )
# optional user toolbox which is not unter version control allowing all to only compile their modules needed.
include( modules-user.toolbox OPTIONAL )
# Modules needing teem library (http://teem.sourceforge.net/)
find_package( Teem PATHS /usr/local/lib QUIET )
IF( Teem_FOUND )
MESSAGE( STATUS "Teem found. Enabled building of modules needing the teem libraries." )
ADD_SUBDIRECTORY( homeGlyphs )
ELSE()
MESSAGE( STATUS "Teem NOT found. Disabled building of modules needing the teem libraries." )
ENDIF()
# mostly modules from our default whitelist
ADD_SUBDIRECTORY( arbitraryRois )
ADD_SUBDIRECTORY( boundingBox )
ADD_SUBDIRECTORY( coordinateSystem )
ADD_SUBDIRECTORY( distanceMap )
ADD_SUBDIRECTORY( distanceMapIsosurface )
ADD_SUBDIRECTORY( gridRenderer )
ADD_SUBDIRECTORY( hud )
ADD_SUBDIRECTORY( isosurfaceRaytracer )
ADD_SUBDIRECTORY( lic )
ADD_SUBDIRECTORY( marchingCubes )
ADD_SUBDIRECTORY( superquadricGlyphs )
ADD_SUBDIRECTORY( template )
ADD_SUBDIRECTORY( triangleMeshRenderer )
ADD_SUBDIRECTORY( vectorPlot )
ADD_SUBDIRECTORY( voxelizer )
ADD_SUBDIRECTORY( eegView )
ADD_SUBDIRECTORY( gaussFiltering )
ADD_SUBDIRECTORY( histogramEqualization )
ADD_SUBDIRECTORY( meshReader )
ADD_SUBDIRECTORY( writeNIfTI )
ADD_SUBDIRECTORY( writeTracts )
ADD_SUBDIRECTORY( atlasSurfaces )
ADD_SUBDIRECTORY( clusterParamDisplay )
ADD_SUBDIRECTORY( clusterSlicer )
ADD_SUBDIRECTORY( contourTree )
ADD_SUBDIRECTORY( dataTypeConversion )
ADD_SUBDIRECTORY( detTractClustering )
ADD_SUBDIRECTORY( detTractCulling )
ADD_SUBDIRECTORY( deterministicFTMori )
ADD_SUBDIRECTORY( effectiveConnectivityCluster )
ADD_SUBDIRECTORY( fiberSelection )
ADD_SUBDIRECTORY( fiberTransform )
ADD_SUBDIRECTORY( imageExtractor )
ADD_SUBDIRECTORY( probTractDisplay )
ADD_SUBDIRECTORY( scalarSegmentation )
ADD_SUBDIRECTORY( splineSurface )
ADD_SUBDIRECTORY( surfaceParameterAnimator )
ADD_SUBDIRECTORY( applyMask )
ADD_SUBDIRECTORY( arbitraryPlane )
IF( Teem_FOUND )
ADD_SUBDIRECTORY( homeGlyphs )
ENDIF()
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment