Ticket #27 (closed task: fixed)
Opened 2010-02-19T11:36:01-06:00
Last modified 2011-01-14T15:20:24-06:00
Simplify compilation and deployment of FARSIGHT+Bio-Formats
Reported by: | curtis | Owned by: | hinerm |
---|---|---|---|
Priority: | minor | Milestone: |
|
Component: | FARSIGHT | Version: | |
Severity: | non-issue | Keywords: | |
Cc: | Blocked By: | ||
Blocking: |
Description
To facilitate using Bio-Formats from within FARSIGHT, we have created a Bio-Formats ITK ImageIO plugin, which uses CMake for build configuration.
Unfortunately, it is a complex, time-consuming process to actually build all the tools involved in deploying Bio-Formats within FARSIGHT:
- Build FARSIGHT itself, which depends on: VXL, QT, ITK, VTK
- Build Bio-Formats C++ bindings, which depends on: Java, Jace
- Build Bio-Formats ITK plugin, which depends on: Bio-Formats C++ bindings, ITK
- Set ITK plugin autoload path properly to find the Bio-Formats ITK plugin shared library
We would like to minimize the complexity of building these tools on each of the three major target platforms—Windows, Mac OS X and Linux—in both 32-bit and 64-bit modes.
CMake is a good start for cross-platform C++ compilation, but it still exposes a lot of complexity in the form of build settings and flags. We would like to create a more streamlined means of building the system on each platform. The cache folder in the FARSIGHT source code distribution has build scripts for Mac OS X that set various CMake build flags appropriately for the system, but the scripts still need work.
Ultimately, CTest should be used somehow to verify that builds continue to be functional (see this page for more details).
Change History
comment:1 Changed 2010-09-17T17:21:49-05:00 by curtis
- Owner changed from bselinsky to hiner
- Status changed from new to assigned
- Milestone changed from progress-report to biweekly-2010: Nov-01 to Nov-12
comment:4 Changed 2011-01-14T15:20:24-06:00 by curtis
- Status changed from accepted to closed
- Resolution set to fixed
Rather than using CTest, we can use our Hudson system. See ticket #141.
As for the complexity of building, it is difficult to fully escape it. In the case of bf-cpp, one thing that will help will be to convert jar2lib into a Maven plugin (ticket #173). But building VXL, QT, ITK, VTK, FTK et. al will still be a pain.