Slicer3:Build/Modules

From NAMIC Wiki
Jump to: navigation, search
Home < Slicer3:Build < Modules

News

  • TCON Monday 01/28/08: Steve Pieper, Terry G Lorber 2nd, Alex Yarmarkovich, Sebastien BARRE

Preliminary Design

Things that the module's (XML) description should be able to tell:

  • Name
  • Group
  • Description
  • Source Location
  • Home Page
  • Dependencies (on other Groups or Modules and what versions and/or options)
  • Version #

[and maybe:]

  • Icon
  • Author(s)
  • Acknowledgment(s)

Module Groups

  • Base
  • Segmentation
  • Registration
  • Filtering
  • Diffusion Imaging/Tractography
  • Modeling
  • Meshing
  • Image Guided Therapy
  • Rendering
  • Radiation Treatment
  • Microscopy
  • Astronomy
  • Utilities
  • Databases (XCEDE?)
  • Other

Misc.

Options users might want to specify when building:

  • src install vs. binary download
  • version #'s of libs (e.g. cvs tags or branches to use)
  • release build vs debug build
  • clean rebuild
  • update/refresh libraries
  • run tests and submit to dashboard
  • make an installation package
  • upload to web site

Downloadable Modules

XML files describing modules will be retrieved online automatically. A new CMake sub-command was added in the CVS HEAD: FILE DOWNLOAD:

 file(DOWNLOAD url file [TIMEOUT timeout] [STATUS status] [LOG log])

Example:

FILE(DOWNLOAD 
     "http://rss.slashdot.org/Slashdot/slashdot" 
     "${CMAKE_CURRENT_SOURCE_DIR}/slashdot_rss.xml" 
     STATUS status)

LIST(GET status 0 status_code)
LIST(GET status 1 status_string)

MESSAGE("STATUS Code = ${status_code}, STATUS string = ${status_string}")

This should display: STATUS Code = 0, STATUS String = "no error" and output the contents of the Slashdot.org RSS feed in the slashdot_rss.xml XML file.

Experiments

Experiments with the new BuildSystem and downloadable modules are described can be found in NAMICSandBox/BuildSystem. CMake macros are committed to the Sandbox to test technical feasibility.