TubeTK/Build Instructions: Difference between revisions

From KitwarePublic
Jump to navigationJump to search
No edit summary
Line 58: Line 58:
  VTK_USE_QVTK
  VTK_USE_QVTK


= Recommended Compilation Options =
= Optional (rigorous) Compilation Options =


* For Linux developers (and Linux dashboard machines) we recommend:
* For Linux developers (and Linux dashboard machines) we recommend:
** CMAKE_CXX_FLAGS:STRING=-W -Wall -Wextra -Wshadow -Wno-system-headers -Wwrite-strings -Wno-deprecated -Woverloaded-virtual -Weffc++
** CMAKE_CXX_FLAGS:STRING=-W -Wall -Wextra -Wshadow -Wno-system-headers -Wwrite-strings -Wno-deprecated -Woverloaded-virtual
*** The -Weffc++ option might be over-kill, but I'd like to try it at first...
** CMAKE_C_FLAGS:STRING=-W -Wall -Wextra -Wshadow -Wno-system-headers -Wwrite-strings
** CMAKE_C_FLAGS:STRING=-W -Wall -Wextra -Wshadow -Wno-system-headers -Wwrite-strings
* A summary of warning options for gcc and g++ are given at:
* A summary of warning options for gcc and g++ are given at:

Revision as of 17:27, 2 September 2010

Recommended Build Procedure

  • Install CMake
  • Download TubeTK via git
  • Configure the build using CMake
    • mkdir tubetk-Release
    • cd tubetk-Release
    • ccmake ../tubetk
    • Confirm the following CMake variables
      • TubeTK_USE_SUPERBUILD should be ON
        • If "ON", then cmake will fetch and compile TCLAP, ModuleDescriptionParser, and GenerateCLP from the Slicer3 svn repository.
      • TubeTK_SUPERBUILD_ITK should be ON
        • If "ON", then cmake will fetch and compile ITK as part of the build process.
        • If "OFF", then you will need to specify the path to ITK-Release in the CMake var ITK_DIR
      • TubeTK_USE_QT should be OFF
        • If you have Qt 4.6.3 or greater installed, you can turn it on.
    • Generate the build files by pressing "generate" in cmake
    • Perform initial build using your compiler at the top-level of tubetk-Release
    • Subsequent builds should be initiated in the subdir tubetk-Release/TubeTK-Build to save time

Alternative (more complex) Procedure

These instructions assume expertise in CMake, ITK, and software compilation in general.

Install pre-requisites

ITK

  • Build ITKv3.20.0 using the following cmake vars
    • You MUST checkout the v3.20.0 tag of ITK. ITKv4 will not work.
BUILD_SHARED_LIBS = OFF (or ON, but libs are VERY small in ITK because of templates)
ITK_USE_LIBXML2 = ON
ITK_USE_REVIEW = ON
ITK_USE_OPTIMIZED_REGISTRATION_METHODS = ON
ITK_USE_TRANSFORM_IO_FACTORIES = ON
CMAKE_CXX_FLAGS = -fPIC
CMAKE_C_FLAGS = -fPIC

The last two (adding -fPIC to both c and cxx flags) can be ignored if you build with shared libs ON.

Qt 4.6

  • Tips for installing Open Source Qt to run with Visual Studio
    1. Open a visual studio command shell.
    2. Go to the Qt source directory and run "configure -platform win32-msvc2005". This will tell Qt to prepare itself for being compiled by the Visual Studio compiler. If you use another version of VS than 2005, replace win32-msvc-2005 with the appropriate one.
    3. Type "nmake" and take a break when it compiles.
    4. Add QMAKESPEC=win32-msvc2005 as a system environment variable and add QTDIR=your_dir into the system path. It is done.
  • Tips for installing Qt on Linux
    1. apt-get qt4

VTK (future requirement)

BUILD_SHARED_LIBS = ON
VTK_USE_GUISupport = ON
VTK_USE_QVTK

Optional (rigorous) Compilation Options

References

  • Superbuild and EXTERNAL_PROJECTS
    • Dave Cole's article in the October Kitware Source [1]