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

[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 ...@@ -40,6 +40,8 @@ syntax: regexp
^tools/numCores/Makefile$ ^tools/numCores/Makefile$
^tools/numCores/cmake_install.cmake$ ^tools/numCores/cmake_install.cmake$
# user toolboxes are not versioned
^src/modules/modules-user.toolbox$
syntax: glob syntax: glob
.project .project
......
...@@ -90,6 +90,9 @@ ELSE() ...@@ -90,6 +90,9 @@ ELSE()
INCLUDE_DIRECTORIES( ${OPENSCENEGRAPH_INCLUDE_DIRS} ) INCLUDE_DIRECTORIES( ${OPENSCENEGRAPH_INCLUDE_DIRS} )
ENDIF() ENDIF()
# some modules need the teem library (http://teem.sourceforge.net/)
find_package( Teem PATHS /usr/local/lib QUIET )
# other options: # other options:
#--------------- #---------------
# Set default build type # Set default build type
......
ADD_SUBDIRECTORY( applyMask ) # 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.
ADD_SUBDIRECTORY( arbitraryPlane ) option( OW_MODULE_TOOLBOX_ALL "Turn all toolboxes on." OFF )
ADD_SUBDIRECTORY( arbitraryRois ) option( OW_MODULE_TOOLBOX_BASE "All the basic functionality modules. These modules are useful and needed for common visualizatuion tasks." ON )
ADD_SUBDIRECTORY( atlasSurfaces ) option( OW_MODULE_TOOLBOX_EEG "EEG data processing and visualization." ON )
ADD_SUBDIRECTORY( boundingBox ) option( OW_MODULE_TOOLBOX_IMAGEPROCESSING "Image processing tools like filters." ON )
ADD_SUBDIRECTORY( clusterParamDisplay ) option( OW_MODULE_TOOLBOX_IO "Reader and Writer for several kinds of data." ON )
ADD_SUBDIRECTORY( clusterSlicer ) # this option is a simple list of all modules not in the above lists.
ADD_SUBDIRECTORY( contourTree ) 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 )
ADD_SUBDIRECTORY( coordinateSystem )
ADD_SUBDIRECTORY( dataTypeConversion ) # Include needed lists
ADD_SUBDIRECTORY( detTractClustering ) if( OW_MODULE_TOOLBOX_BASE OR OW_MODULE_TOOLBOX_ALL )
ADD_SUBDIRECTORY( detTractCulling ) include( modules-base.toolbox )
ADD_SUBDIRECTORY( deterministicFTMori ) endif( OW_MODULE_TOOLBOX_BASE OR OW_MODULE_TOOLBOX_ALL )
ADD_SUBDIRECTORY( distanceMap )
ADD_SUBDIRECTORY( distanceMapIsosurface ) if( OW_MODULE_TOOLBOX_EEG OR OW_MODULE_TOOLBOX_ALL )
ADD_SUBDIRECTORY( eegView ) include( modules-eeg.toolbox )
ADD_SUBDIRECTORY( effectiveConnectivityCluster ) endif( OW_MODULE_TOOLBOX_EEG OR OW_MODULE_TOOLBOX_ALL )
ADD_SUBDIRECTORY( fiberSelection )
ADD_SUBDIRECTORY( fiberTransform ) if( OW_MODULE_TOOLBOX_IMAGEPROCESSING OR OW_MODULE_TOOLBOX_ALL )
ADD_SUBDIRECTORY( gaussFiltering ) include( modules-imageprocessing.toolbox )
ADD_SUBDIRECTORY( gridRenderer ) endif( OW_MODULE_TOOLBOX_IMAGEPROCESSING OR OW_MODULE_TOOLBOX_ALL )
ADD_SUBDIRECTORY( histogramEqualization )
ADD_SUBDIRECTORY( hud ) if( OW_MODULE_TOOLBOX_IO OR OW_MODULE_TOOLBOX_ALL )
ADD_SUBDIRECTORY( imageExtractor ) include( modules-io.toolbox )
ADD_SUBDIRECTORY( isosurfaceRaytracer ) endif( OW_MODULE_TOOLBOX_IO OR OW_MODULE_TOOLBOX_ALL )
ADD_SUBDIRECTORY( lic )
ADD_SUBDIRECTORY( marchingCubes ) if( OW_MODULE_TOOLBOX_OTHERS OR OW_MODULE_TOOLBOX_ALL )
ADD_SUBDIRECTORY( meshReader ) include( modules-others.toolbox )
ADD_SUBDIRECTORY( probTractDisplay ) endif( OW_MODULE_TOOLBOX_OTHERS OR OW_MODULE_TOOLBOX_ALL )
ADD_SUBDIRECTORY( scalarSegmentation )
ADD_SUBDIRECTORY( splineSurface ) # optional user toolbox which is not unter version control allowing all to only compile their modules needed.
ADD_SUBDIRECTORY( superquadricGlyphs ) include( modules-user.toolbox OPTIONAL )
ADD_SUBDIRECTORY( surfaceParameterAnimator )
ADD_SUBDIRECTORY( template )
ADD_SUBDIRECTORY( triangleMeshRenderer )
ADD_SUBDIRECTORY( vectorPlot )
ADD_SUBDIRECTORY( voxelizer )
ADD_SUBDIRECTORY( writeNIfTI )
ADD_SUBDIRECTORY( writeTracts )
# 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