Difference between revisions of "2010 Summer Project Week Superbuild"

From NAMIC Wiki
Jump to: navigation, search
(Created page with '__NOTOC__ <gallery> Image:PW-SLC2010.png|Projects List <! --Image:genuFAp.jpg|Scatter plot of the original FA data through the genu of the c…')
 
 
(7 intermediate revisions by the same user not shown)
Line 3: Line 3:
 
Image:PW-SLC2010.png|[[2010_Winter_Project_Week#Projects|Projects List]]
 
Image:PW-SLC2010.png|[[2010_Winter_Project_Week#Projects|Projects List]]
 
<! --Image:genuFAp.jpg|Scatter plot of the original FA data through the genu of the corpus callosum of a normal brain.-- >
 
<! --Image:genuFAp.jpg|Scatter plot of the original FA data through the genu of the corpus callosum of a normal brain.-- >
 +
Image:CMake-logo-triangle-high-res.png
 
</gallery>
 
</gallery>
  
 
==Key Investigators==
 
==Key Investigators==
 
* BWH: Katie Hayes
 
* BWH: Katie Hayes
* Kitware: David Partyka, JCFR
+
* Kitware: David Partyka, Jean-Christophe Fillion-Robin
  
  
 
<div style="margin: 20px;">
 
<div style="margin: 20px;">
<div style="width: 27%; float: left; padding-right: 3%;">
+
<div style="width: 30%; float: left; padding-right: 3%;">
  
 
<h3>Objective</h3>
 
<h3>Objective</h3>
  
Support and maintain the build and release process as well as unit testing of Slicer through the use of CMake and CDash. Our effort is to update the build system of Slicer, currently a collection of tcl scripts, to a new CMake based system.
+
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.
 +
 
 +
</div>
 +
 
 +
<div style="width: 30%; float: left; padding-right: 3%;">
 +
 
 +
<h3>Approach, Plan</h3>
 +
 
 +
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.
 +
 
 +
</div>
 +
 
 +
<div style="width: 30%; float: left; padding-right: 3%;">
 +
 
 +
<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>

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.