Documentation/Nightly/Developers/DirectoryStructure

From SlicerWiki
Jump to: navigation, search
Home < Documentation < Nightly < Developers < DirectoryStructure


Back to Build System

Slicer

Build tree

Slicer_HOME
 |
 + bin
 |  |
 |  + designer
 |  |
 |  + iconengines
 |
 + lib
 |  |
 |  + Slicer-X.Y
 |      |
 |      + cli-modules
 |      |
 |      + qt-loadable-modules
 |      |
 |      + qt-scripted-modules
 |
 + share
   |
   + Slicer-X.Y
      |
      + cli-modules
      |   |
      |   + CLIModuleName1
      |   |
      .   .
      |   |
      |   + CLIModuleNameN
      |
      + qt-loadable-modules
      |   |
      |   + QtLoadableModuleName1
      |   |
      .   .
      |   |
      |   + QtLoadableModuleNameN
      |
      + qt-scripted-modules
      |   |
      |   + QtScriptedModuleName1
      |   |
      .   .
      |   |
      |   + QtScriptedModuleNameN
      |
      + Tcl
      |
      + ParameterSets
      |
      + ColorFiles
    
 

Install tree

Slicer_HOME
 |
 + bin
 |
 + lib
 |  |
 |  + QtPlugins 
 |  |   |
 |  |   + designer
 |  |   |
 |  |   + imageformats
 |  |   |
 |  |   + iconengines
 |  |   |
 |  |   + sqldrivers
 |  |
 |  + Slicer-X.Y
 |      |
 |      + cli-modules
 |      |
 |      + qt-loadable-modules
 |      |
 |      + qt-scripted-modules
 |
 + share
   |
   + Slicer-X.Y
      |
      + cli-modules
      |   |
      |   + CLIModuleName1
      |   |
      .   .
      |   |
      |   + CLIModuleNameN
      |
      + qt-loadable-modules
      |   |
      |   + QtLoadableModuleName1
      |   |
      .   .
      |   |
      |   + QtLoadableModuleNameN
      |
      + qt-scripted-modules
      |   |
      |   + QtScriptedModuleName1
      |   |
      .   .
      |   |
      |   + QtScriptedModuleNameN
      |
      + Tcl
      |
      + ParameterSets
      |
      + ColorFiles
    
 

Note The X and Y in Slicer-X.Y respectively stand for Slicer_MAJOR_VERSION and Slicer_MINOR_VERSION

Extension install and build tree

Extensions installation path can be specified in the Extension settings. See here for more details.

INSTALL_LOCATION
 |
 + lib
 |  |
 |  + Slicer-X.Y
 |      |
 |      + cli-modules
 |      |
 |      + qt-loadable-modules
 |      |
 |      + qt-scripted-modules
 |
 + share
   |
   + Slicer-X.Y
      |
      + cli-modules
      |   |
      |   + CLIModuleName1
      |   |
      .   .
      |   |
      |   + CLIModuleNameN
      |
      + qt-loadable-modules
      |   |
      |   + QtLoadableModuleName1
      |   |
      .   .
      |   |
      |   + QtLoadableModuleNameN
      |
      + qt-scripted-modules
         |
         + QtScriptedModuleName1
         |
         .
         |
         + QtScriptedModuleNameN
      

API

  • vtkSlicerApplicationLogic provides some convenient functions allowing to obtain the share directory associated with a given module filepath.
  • Note also that if vtkSlicerConfigure is included the macros Slicer_CLIMODULES_SUBDIR, Slicer_QTLOADABLEMODULES_SUBDIR and Slicer_QTSCRIPTEDMODULES_SUBDIR will be available.
  • Application settings (including the search path for modules/extensions) are stored in a .ini file. The location of the file depends on the OS:
    • Linux + Mac OS X: ~/.config/www.na-mic.org/Slicer.ini
    • Windows: C:\Users\USERNAME\AppData\Roaming\NA-MIC\Slicer.ini