Slicer3:Launcher

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

Requirements

One of the projects at the 2007 AHM was a review of the Slicer3 launcher.

A summary of the conculusions is:

  • for the shared library plugins to work the application needs to be built in shared mode (not static)
  • this means that shared library paths must be set before the application is started
  • a launcher can do this -- it is a small program that does not have shared library dependencies that sets paths and then executes the main application

Some other nice things the launcher can do:

  • since the launcher starts quickly, it can put up a splash screen for user feedback while the main program is loading
  • the launcher can catch abnormal termination conditions of the main program and provide user feedback

Implementation

The group decided to adopt the approach used by slicer2, which is based on the starkit/starpack technology for building small, stand alone programs that include a full tcl/tk interpreter.

The code and documentation are in Slicer3/Utilities/Launcher. The actual startup script is Slicer3/launch.tcl.in, which gets configured by cmake into Slicer3-build/lib/launch.tcl.