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.