2008 Winter Project Week:CPack
From NAMIC Wiki
Home < 2008 Winter Project Week:CPack
Key Investigators
- BWH: Katie Hayes, Steve Pieper
- Kitware: Bill Hoffman, Sebastien Barre, Will Schroeder, Stephen Aylward
Objective
We have created a list of outstanding CPack and CMake issues and bugs (see below) that we would like to get working by the end of the AHM.
Approach, Plan
Our challenge is to rework the existing CPack and CMake framework to incorporate bugfixes, and get Slicer3 to compile and pack with newer versions of the C-tools. Our main purpose at the Project Week is to collaborate on bugfixes and decide how to approach the issues.
Progress
January 2008 Project Week
- During the project week, we fixed some outstanding CMake/CPack issues. These changes are not going to be back ported into CMake 2.4.2, but will be made available in future releases. Most of these issues will be resolved when Slicer moves to CMake version 2.6.0.
- During the project meeting, we tagged the official Slicer version 3.0 release. The builds from this branch are the official stable release for Slicer 3.0, and are available here.
- Other changes in the build infrastructure from the project week include moving many of the Slicer3 support libraries to newer versions. These versions are still being tested to ensure compatibility. We are planning to move Tcl and Tk to version 8.4.17 or 8.5. We are also planning on moving CMake to the latest 2.4.x release, and to 2.6 when it is released.
- RPM and .deb support will be in CMake version 2.6, as will fixes for STGZ issues on some Linux platforms. We are planning on testing the beta CMake 2.6 when it becomes available.
- We will also move to newer versions of VTK and ITK, the specific version numbers and release dates are TBA.
- We had a productive meeting about the future of the getbuildtest scripts and whether or not that functionality can be moved entirely within the CMake infrastructure.
- We are looking into creating a "NA-MICSetup" program, akin to Cygwin's setup program, that will offer different versions of Slicer for different users, including end users, module developers, core developers, and Dashboard machines. This program will also allow more flexibility in choosing different versions of support libraries during the compilation process. Our next task for this project is to develop a design requirements document, which we expect will be complete in the next 3-4 months.
- Experiments with the new BuildSystem and downloadable modules are described in the Slicer3:Build/Modules page and can be found in NAMICSandBox/BuildSystem. A few FILE(DOWNLOAD) command has been added to CMake, and (heavily commented) CMake macros are committed to the Sandbox to test technical feasibility.
Outstanding CPack Issues and Bugs
Gathered for AHM 2008 in Salt Lake City.
Issues:
Katie is hand editing some ITK 3.4 files - niftilib and znzlib cmake_install.cmake files
- Katie is testing changes to ITK to fix this bug.
Jim and Sebastien - ongoing
RPM support needs testing / validation
- Awaiting CMake release 2.6.0
Some 32-bit Linux platforms are having trouble with self-extracting STGZ installer, see this bug report.
Windows installer is adding to the Path environment variable in spite of being told not to (seen on Slicer3 for Cmake 2.4.2 and 2.4.7)
Building Slicer3 against an installed VTK rather than a build tree causes trouble; see mail trail from slicer-devel.
- Sebastien is on the case, see bug report
C-tools vs. getbuildtest build strategies make continuing support for CPack and compiling difficult.
- CMake/CPack support for "NAMICSetup" executable instead of running ctest -S
- Like Cygwin setup - do you want to be: "End User", "Module Developer", "Dashboard", "Uber Developer"
- Need design requirements document/wiki page for NAMICSetup
- Timeline - 3-4 months?