Difference between revisions of "2010 Winter Project Week CMAKE Build process"

From NAMIC Wiki
Jump to: navigation, search
Line 15: Line 15:
 
<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.
+
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.
  
  
Line 32: Line 32:
 
Our approach:  
 
Our approach:  
  
This will be achieved through rewriting the fiducial list widget.
+
Slicer and most of it's components presently use CMake individually but are driven and pieced together by the aforementioned tcl scripts into a single application. Our goal is to make use of the features and power of CMake, such as it's new EXTERNAL_PROJECT feature, to replace the tcl build system and simplify building Slicer. There are also tie-ins to the new QT gui where by CMake can be employed to locate and configure the build system to make use of QT in a much simpler manner than the existing tcl build system.
 
 
The main challenge is maintaining the same behaviour as currently in Slicer3.
 
 
 
Our plan is first to continue debugging and finalise the integration.
 
  
 
</div>
 
</div>
Line 44: Line 40:
 
<h3>Progress</h3>
 
<h3>Progress</h3>
  
 +
Presently the in progress development of this system can be located within the Slicer subversion repository in the Scripts directory in a file called SlicerSuperBuild.cmake
  
 +
http://svn.slicer.org/Slicer3/trunk/Scripts/SlicerSuperBuild.cmake
  
 
+
This script can presently build all of Slicer and it's components for Windows and about half of the components on Linux. As we continue to progress it will build all components on Linux and Mac. In it's current state I would estimate that it is approximately 60% complete.
 
</div>
 
</div>
 
</div>
 
</div>

Revision as of 15:22, 4 January 2010

Home < 2010 Winter Project Week CMAKE Build process

Key Investigators

  • BWH: Katie Hayes
  • Kitware: David Partyka


Objective

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.





Approach, Plan

Our approach:

Slicer and most of it's components presently use CMake individually but are driven and pieced together by the aforementioned tcl scripts into a single application. Our goal is to make use of the features and power of CMake, such as it's new EXTERNAL_PROJECT feature, to replace the tcl build system and simplify building Slicer. There are also tie-ins to the new QT gui where by CMake can be employed to locate and configure the build system to make use of QT in a much simpler manner than the existing tcl build system.

Progress

Presently the in progress development of this system can be located within the Slicer subversion repository in the Scripts directory in a file called SlicerSuperBuild.cmake

http://svn.slicer.org/Slicer3/trunk/Scripts/SlicerSuperBuild.cmake

This script can presently build all of Slicer and it's components for Windows and about half of the components on Linux. As we continue to progress it will build all components on Linux and Mac. In it's current state I would estimate that it is approximately 60% complete.

References