2010 Winter Project Week CMAKE Build process

From NAMIC Wiki
Jump to: navigation, search
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.

The Linux version of the SuperBuild script is now very close to functional.

We are revisiting the CPack RPM functionality to provide more binary options for users on Linux.

In addition, we are revisiting the cut a new Slicer release during the programming week (3.4.2).

References