Difference between revisions of "2010 Summer Project Week Superbuild"

From NAMIC Wiki
Jump to: navigation, search
 
(One intermediate revision by the same user not shown)
Line 12: Line 12:
  
 
<div style="margin: 20px;">
 
<div style="margin: 20px;">
<div style="width: 31%; float: left; padding-right: 3%;">
+
<div style="width: 30%; float: left; padding-right: 3%;">
  
 
<h3>Objective</h3>
 
<h3>Objective</h3>
Line 34: Line 34:
 
</div>
 
</div>
  
<div style="width: 33%; float: left; padding-right: 3%;">
+
<div style="width: 30%; float: left; padding-right: 3%;">
  
 
<h3>Progress</h3>
 
<h3>Progress</h3>
 +
We gave brief demonstration and a demo of using the super build system to build Slicer.
 +
 +
We assisted several users who were experiencing issues using super build. This was helpful as it also brought to light some bugs/missing features we needed such as allowing a way to specify what protocol git used for users who may be behind a firewall.
  
 +
We also received additional feedback regarding new features to allow a developer to use his system NUMPY/Python instead of the version built by Super Build as the system installed versions usually are built with optimizations.
  
 
</div>
 
</div>

Latest revision as of 17:32, 23 September 2010

Home < 2010 Summer Project Week Superbuild

Key Investigators

  • BWH: Katie Hayes
  • Kitware: David Partyka, Jean-Christophe Fillion-Robin


Objective

Support and maintain the build release process as well as testing of Slicer through the use of CMake and CDash. Our primary objective is to update the build system of Slicer, currently a collection of tcl scripts, to a new CMake based system. What we wish to achieve is simpler build system generation requiring only CMake, subversion and a supported compiler to build Slicer in a cross platform manner.

Approach, Plan

Our approach has been to replicate the functionality of getbuildtest.tcl and genlib.tcl through the use of the new External Project feature of CMake. The main challenges have been to implement External Project calls to build each of Slicer's 19 dependencies while also maintaining complete cross platform compatability with Slicer's support Platforms (Windows, Linux, Mac).

In our effort to maximize the success of Super Build on those platforms we have setup numerous dashboards that use the Super Build system performing nightly builds of Slicer's trunk repository.

During Project week we will:

  • Introduce the community to the new build system with a brief demonstration.
  • Iron out any lingering issues with the build system that we might not have experienced in our own testing.

Progress

We gave brief demonstration and a demo of using the super build system to build Slicer.

We assisted several users who were experiencing issues using super build. This was helpful as it also brought to light some bugs/missing features we needed such as allowing a way to specify what protocol git used for users who may be behind a firewall.

We also received additional feedback regarding new features to allow a developer to use his system NUMPY/Python instead of the version built by Super Build as the system installed versions usually are built with optimizations.