TubeTK/Build Instructions: Difference between revisions

From KitwarePublic
Jump to navigationJump to search
 
(43 intermediate revisions by 3 users not shown)
Line 1: Line 1:
= Process =
There are two ways of building TubeTK:


TubeTK has been tested on Windows, OS X, and Linux.
* (Option 1) Slicer-Dependent Build
* (Option 2) Stand-Alone Build


The process consists of the following steps
If you are going to use TubeTK as a library for building your own C++ programs or for processing data using the command-line or scripts, it is sufficient to build TubeTK as a (Option 2) Stand-Alone Build.
* Install requirements
 
* Optionally install recommendations
If you want a graphical user interface (albeit to a limited subset of TubeTK's methods), you should follow the (Option 1) Slicer-Dependent Build instructions.
 
= (Option 1) Slicer-Dependent Build =
 
It uses a compiled version of Slicer to provide its dependencies. 
 
In this build format,
# TubeTK produces a set of libraries and command-line programs that can be used to process images from the command line and to build other applications.
# TubeTK methods are available from within the Slicer application against which it is built.
 
This build format is tested nightly on Windows, OS X, and Linux machines.
 
This build format has the following steps:
* Install requirements and options
* Download source
* Download source
* Configure using CMake
* Configure using CMake
* Build
* Build


== Install Requirements ==
== Install Requirements and Options ==
* CMake
* GIT


=== CMake ===
=== CMake ===
CMake 3.4 or greater is required.
* The Mac/Windows binaries can be downloaded from [http://cmake.org http://cmake.org]
* The linux installation from source is easiest.  Assuming an older version of cmake is already installed, and you want to install v3.4.1, do the following:
sudo apt-get build-dep cmake
sudo apt-get install libgtkmm-2.4-dev glade-gtk2 libglademm-2.4-dev
git clone http://github.com:/Kitware/CMake.git
cd CMake
git checkout v3.4.1
cd ..
mkdir CMake-Release
cd CMake-Release
cmake ../CMake -DCMAKE_BUILD_TYPE=Release
make -j8
=== Slicer ===
* If you are building the Stand-Alone version of TubeTK, you do not need to build Slicer.
* If you are building the Slicer-Dependent version of TubeTK, you must build Slicer from source:
** Source: http://www.slicer.org/slicerWiki/index.php/Documentation/Nightly/Developers/Build_Instructions
<b>Notes:</b>
* To address the multiple dependencies required (and optional) for VTK, we recommend installing the build dependencies of ParaView prior to building Slicer:
sudo apt-get build-dep paraview
=== Boost (optional) ===
Download and build Boost:
* http://www.boost.org/
<b>Notes:</b>
* Linux: TubeTK creates dynamic libraries that have static links to Boost libraries.  Since Boost static libraries on Linux are not compiled with fPIC, you must compile Boost from source to use it with TubeTK.
** <code> ./bootstrap.sh <br> </code>
** <code> ./bjam -j14 </code>
** <code> ./bjam cxxflags=-fPIC cflags=-fPIC -a link=static -j14 </code>
* Mac: if compiling for compatibility with older versions of MacOS, you may need to build boost using the following command:
** <code> ./b2 toolset=clang cxxflags="-stdlib=libstdc++" linkflags="-stdlib=libstdc++" link=static install -a </code>
** Slicer and TubeTK matches its build environment with the environment used to build qmake.  This means that all code build using Slicer and TubeTK must also build using that environment.  So, on some systems you will need to specify stdlib=libstdc++ (for 10.8) or stdlib-libc++ (for 10.9 and beyond).  See the comments starting in line 103 of https://github.com/Slicer/Slicer/blob/master/CMake/SlicerBlockSetCMakeOSXVariables.cmake
== Download Source ==
Download the source via git
* <code> git clone https://github.com/KitwareMedical/TubeTK TubeTK </code>
== Configure ==
Create a directory, outside of the source directory, to hold the compilation
* <code> mkdir TubeTK-Release </code>
* <code> cd TubeTK-Release </code>
Within that compilation directory, run cmake and point it to where the source is located. We recommend using a cmake with a GUI configuration editor.  This is the default on Windows and Mac.  On Linux (or from Mac command-line) type:
* <code> cmake-gui ../TubeTK </code>
Set the following CMake variables
* TubeTK_USE_SLICER = On
* Slicer_DIR = <Path to your Slicer build directory>
* Linux and Mac only, also set:
** CMAKE_BUILD_TYPE = <same build type as Slicer installation: Debug or Release>
== Build ==
=== Windows ===
Load the TubeTK solution file in Visual Studio
* <code> Select File -> Open -> Project/Solution -> open TubeTK-Release/TubeTK.sln </code>
** INITIAL BUILD: Perform the initial build using the TubeTK.sln file at the top-level of TubeTK-Release.  This will update and build the libraries that TubeTK depends on (ex. VTK, ITK), and then build TubeTK.
** SUBSEQUENT BUILDS: Subsequent builds <b>MUST</b> be initiated using the TubeTK.sln file in the subdir <b>TubeTK-Release/TubeTK-build</b>.  This will build TubeTK only.  You may have to periodically build from the top-level of TubeTK-Release to get updates to the libraries that TubeTK depends on.
* Choose your build type: Release, Debug, etc.  It MUST match the build type chosen for Slicer.
* <code> Right click on the "ALL_BUILD" project and select "Build". </code>
=== Linux and OS X ===
* INITIAL BUILD: Perform the initial build using your compiler at the top-level of TubeTK-Release.  This will update and build the libraries that TubeTK depends on (ex. VTK, ITK), and then build TubeTK.
** <code> cd TubeTK-Release </code>
** <code> make -j8 </code>
* SUBSEQUENT BUILDS: Subsequent builds <b>MUST</b> be initiated in the subdir TubeTK-Release/TubeTK-build.  This will build TubeTK only.  You may have to periodically build from the top-level of TubeTK-Release to get updates to the libraries that TubeTK depends on.
** <code> cd TubeTK-Release/TubeTK-build </code>
** <code> make -j8 </code>
= (Option 2) Stand-Alone Build =
In this build format, TubeTK produces a set of libraries and command-line programs that can be used to process images from the command line and to build other applications.
This build format is tested nightly on Windows, OS X, and Linux machines.
This build format has the following steps:
* Install requirements and options
* Download source
* Configure using CMake
* Build


Install the latest stable release.
== Install Requirements and Options ==
* http://www.cmake.org


=== GIT ===
=== GIT ===
Line 25: Line 125:
** http://msysgit.github.io/
** http://msysgit.github.io/
* Linux
* Linux
sudo apt-get install git
** <code> sudo apt-get install git </code>
* Mac
** git is included with MacOS


= Recommendations =
=== Qt ===
QT version 4.8.6 or 4.8.7 is REQUIRED.
* Windows
** You will want the 64-bit version of Qt, with WebKIT support.  See details at:
http://www.slicer.org/slicerWiki/index.php/Documentation/Nightly/Developers/Build_Instructions/Prerequisites/Qt#Windows_3
* Linux
** Qt is included with most versions of Linux
* Mac
** Download the installer from
*** http://download.qt.io/archive/qt/4.8/


* Slicer
=== CMake ===
* Boost
CMake 3.0 or greater is required.
 
* The Mac/Windows binaries can be downloaded from http://cmake.org
== Resolving Recommendations ==
* The linux installation from source is easiest.  Assuming an older version of cmake is already installed, and you want to install v3.4.1, do the following:
 
sudo apt-get build-dep cmake
=== Slicer ===
sudo apt-get install libgtkmm-2.4-dev glade-gtk2 libglademm-2.4-dev
git clone http://github.com:/Kitware/CMake.git
cd CMake
git checkout v3.4.1
cd ..
mkdir CMake-Release
cd CMake-Release
cmake ../CMake -DCMAKE_BUILD_TYPE=Release
make -j8


Download and install the latest stable release of Slicer.  You can use either binaries or compile from source.
=== Boost (optional) ===
* Source: http://www.slicer.org/slicerWiki/index.php/Documentation/Nightly/Developers/Build_Instructions
* Binaries: http://download.slicer.org/
 
Oddities
* There is a bug in Slicer v4.4.0 that prevents it from compiling on OSX 10.9.  The simple fix is pending integration into Master.  You can apply it manually.  See https://github.com/Slicer/Slicer/pull/189/files
 
=== Boost ===


Download and build Boost:
Download and build Boost:
* http://www.boost.org/
* http://www.boost.org/


Oddities
<b>Notes:</b>
* We do not recommend the pre-built versions of Boost on most modern platformsMost binary distributions don't support 64bit builds.  You should build with appropriate options, such as:
* Linux: TubeTK creates dynamic libraries that have static links to Boost librariesSince Boost static libraries on Linux are not compiled with fPIC, you must compile Boost from source to use it with TubeTK.
./bootstrap.sh --prefix=/usr/local/boost-1_57
** <code> ./bootstrap.sh <br> </code>
sudo ./b2 address-model=64 cflags=-fPIC cxxflags="-fPIC -std=c++11" link=static install
** <code> ./bjam -j14 </code>
** <code> ./bjam cxxflags=-fPIC cflags=-fPIC -a link=static -j14 </code>


= Download, Configure, and Build =
=== Python (optional) ===


You have two options:
Versions 2.7.x is supported at this time.


== 1. Download, configure, and build manually ==
Download and install per system instructions at:
 
* https://www.python.org/downloads/
=== 1a. Clone the Git repository ===
* Windows
==== Windows, Linux, and OS X: Command-line Option ====
** Pre-compiled version of numpy, scipy, etc are available as wheels at:
cd <where you want the top-level source directory to be>
http://www.lfd.uci.edu/~gohlke/pythonlibs/
git clone https://github.com/TubeTK/TubeTK TubeTK
** Using these wheels is recommended over Anaconda and other installation packages, because they also include and expose versions of Qt (for example) that are incompatible with Slicer and TubeTK.
* Linux and Mac
==== Windows, Linux, and OS X: Using the GitHub gui ====
** Python is already included with most Linux and Mac variants.
Follow the directions for cloning a repo to your machine
* On the right side of the page, you'll find a button to "Clone in Desktop". Click this.
* The GitHub app will open.
* Log in if it asks you to, and specify a convenient location on your computer for the project folder.
 
=== 1b. Configure ===
 
mkdir TubeTK-Release
cd TubeTK-Release
ccmake ../TubeTK


=== 1c. Build ===
== Download Source ==


==== Windows ====
Download the source via git
Microsoft Visual Studio
* <code> git clone https://github.com/KitwareMedical/TubeTK TubeTK </code>
* Load the TubeTK solution file
** Select File -> Open -> Project/Solution -> open TubeTK-Release/TubeTK.sln
* Perform the initial build using your compiler at the top-level of TubeTK-Release.  This will update and build the libraries that TubeTK depends on (ex. VTK, ITK), and then build TubeTK.
** Right click on the "ALL_BUILD" project and select "Build".
* Subsequent builds should be initiated in the subdir TubeTK-Release/TubeTK-build to save time.  This will build TubeTK only.  You may have to periodically build from the top-level of TubeTK-Release to get updates to the libraries that TubeTK depends on.
** Right click on the "TubeTK" project and select "Build".


==== Linux and OS X ====
== Configure ==
* Perform the initial build using your compiler at the top-level of TubeTK-Release.  This will update and build the libraries that TubeTK depends on (ex. VTK, ITK), and then build TubeTK.
cd $HOME/TubeTK-Release
make
* Subsequent builds should be initiated in the subdir TubeTK-Release/TubeTK-build to save time.  This will build TubeTK only.  You may have to periodically build from the top-level of TubeTK-Release to get updates to the libraries that TubeTK depends on.
cd $HOME/TubeTK-Release/TubeTK-build
make
== 2. Dashboard Testing==
*Details  on setting up a nightly dashboard :  [[TubeTK/Dashboard Scripts]].


Before starting the configuration, make sure that you have <code>virtualenv</code> installed ('''Linux Only''').


== 3. Have CTest do all of the work ==
If not, just install it with :
<br>
* <code> sudo apt-get install pyton-pip </code>
<br>
* <code> pip install virtualenv </code>
<em> THIS METHOD IS NOT WORKING AT THIS TIME - WE NEED TO UPDATE THE BUILD FILES MENTIONED BELOW. </em>
<br>
<br>
<em> SORRY FOR THE INCONVENIENCE - PLEASE USE THE MANUAL BUILD METHOD DESCRIBED ABOVE</em>
<br>
<br>


This is the recommended approach for people who will be using and developing in TubeTK.  It not only builds and tests TubeTK with minimal effort, but it also submits your build as an "experimental" on the TubeTK dashboard - this allows us to more easily help you debug errors during the build process:


* Download a ctest configuration file for TubeTK
Create a directory, outside of the source directory, to hold the compilation
:Linux: [https://github.com/TubeTK/TubeTK/blob/master/CMake/TubeTK_InitialBuild_Linux.cmake TubeTK_InitialBuild_Linux.cmake]
* <code> mkdir TubeTK-Release </code>
:OS X:[https://github.com/TubeTK/TubeTK/blob/master/CMake/TubeTK_InitialBuild_Mac.cmake TubeTK_InitialBuild_Mac.cmake]
* <code> cd TubeTK-Release </code>
:Windows: [https://github.com/TubeTK/TubeTK/blob/master/CMake/TubeTK_InitialBuild_Windows.cmake TubeTK_InitialBuild_Windows.cmake]
* Edit it to match your environment
** Only the variables in the first portion of the file should be edited.  They are clearly marked and self explanatory.  Additional details are at [[TubeTK/Dashboard Scripts]].
* Run ctest and submit an experimental dashboard
:Fedora and Ubuntu:
:<code>ctest -S TubeTK_InitialBuild_Linux.cmake</code>
:Red Hat Enterprise Linux:
:<code>ctest28 -S TubeTK_InitialBuild_Linux.cmake</code>
:OS X:
:<code>ctest -S TubeTK_InitialBuild_Mac.cmake</code>
:Windows:
:<code>ctest -S TubeTK_InitialBuild_Windows.cmake</code>
:This will download the source code, configure it, build it, test it, and then submit the results to the [http://open.cdash.org/index.php?project=TubeTK TubeTK Dashboard].


= Advanced =
Within that compilation directory, run cmake and point it to where the source is located. We recommend using a cmake with a GUI configuration editor.  This is the default on Windows and Mac.  On Linux (or from Mac command-line) type:
* <code> cmake-gui ../TubeTK </code>


== Using KWStyle ==
Linux and Mac only, set the CMake variables:
For introductory information, see: [http://public.kitware.com/KWStyle/ http://public.kitware.com/KWStyle/].
* CMAKE_BUILD_TYPE = <same build type as Slicer installation: Debug or Release>
  git clone http://public.kitware.com/KWStyle.git $HOME/KWStyle
  mkdir $HOME/KWStyle-Release
  cd $HOME/KWStyle-Release
  cmake -DCMAKE_BUILD_TYPE=Release ../KWStyle
  make
  sudo make install


  cd $HOME/TubeTK-Release
== Build ==
  cmake -DTubeTK_USE_KWSTYLE=ON -DKWSTYLE_EXECUTABLE=/usr/local/bin/KWStyle .
  make
  make StyleCheck


== Using a pre-existing ITK, JsonCpp, or VTK installation ==
=== Windows ===
You can also configure CMake variables to use an existing JsonCpp installation instead of an embedded version.
Load the TubeTK solution file in Visual Studio
cd $HOME/TubeTK-Release
* <code> Select File -> Open -> Project/Solution -> open TubeTK-Release/TubeTK.sln </code>
  cmake -DUSE_SYSTEM_JSONCPP .
** Perform the initial build using your compiler at the top-level of TubeTK-Release.  This will update and build the libraries that TubeTK depends on (ex. VTK, ITK), and then build TubeTK.
* <code> Right click on the "ALL_BUILD" project and select "Build". </code>
** Subsequent builds should be initiated in the subdir TubeTK-Release/TubeTK-build to save time.  This will build TubeTK only. You may have to periodically build from the top-level of TubeTK-Release to get updates to the libraries that TubeTK depends on.
*** <code> Right click on the "TubeTK" project and select "Build". </code>


You can also configure CMake variables to use an existing ITK or VTK installation instead of an embedded versions.  This is not recommended, because of inter-dependencies that require specific version of these libraries, and built using specific options, to be used.
=== Linux and OS X ===
* USE_SYSTEM_ITK: OFF
Perform the initial build using your compiler at the top-level of TubeTK-Release.  This will update and build the libraries that TubeTK depends on (ex. VTK, ITK), and then build TubeTK.
** If "ON", then you can tell TubeTK to use an ITK build that is already present on your system (using the CMake variable ITK_DIR).
* <code> cd $HOME/TubeTK-Release </code>
* USE_SYSTEM_VTK: OFF
* <code> make </code>
** If "ON", then you can tell TubeTK to use a VTK build that is already present on your system (using the CMake variable VTK_DIR).  See the warning below.
Subsequent builds should be initiated in the subdir TubeTK-Release/TubeTK-build to save time.  This will build TubeTK only.  You may have to periodically build from the top-level of TubeTK-Release to get updates to the libraries that TubeTK depends on.
* <code> cd $HOME/TubeTK-Release/TubeTK-build </code>
* <code> make </code>


* Dependency on VTK version and build options
** Note that TubeTK relies on VTK from 3D Slicer (https://github.com/Slicer/VTK)
** The 3D Slicer fork of VTK contains enhancements that have not yet made it into the VTK repository itself.


[[Category:TubeTK|Build Instructions]]
[[Category:TubeTK|Build Instructions]]

Latest revision as of 12:11, 1 November 2016

There are two ways of building TubeTK:

  • (Option 1) Slicer-Dependent Build
  • (Option 2) Stand-Alone Build

If you are going to use TubeTK as a library for building your own C++ programs or for processing data using the command-line or scripts, it is sufficient to build TubeTK as a (Option 2) Stand-Alone Build.

If you want a graphical user interface (albeit to a limited subset of TubeTK's methods), you should follow the (Option 1) Slicer-Dependent Build instructions.

(Option 1) Slicer-Dependent Build

It uses a compiled version of Slicer to provide its dependencies.

In this build format,

  1. TubeTK produces a set of libraries and command-line programs that can be used to process images from the command line and to build other applications.
  2. TubeTK methods are available from within the Slicer application against which it is built.

This build format is tested nightly on Windows, OS X, and Linux machines.

This build format has the following steps:

  • Install requirements and options
  • Download source
  • Configure using CMake
  • Build

Install Requirements and Options

CMake

CMake 3.4 or greater is required.

  • The Mac/Windows binaries can be downloaded from http://cmake.org
  • The linux installation from source is easiest. Assuming an older version of cmake is already installed, and you want to install v3.4.1, do the following:
sudo apt-get build-dep cmake
sudo apt-get install libgtkmm-2.4-dev glade-gtk2 libglademm-2.4-dev
git clone http://github.com:/Kitware/CMake.git
cd CMake
git checkout v3.4.1
cd ..
mkdir CMake-Release
cd CMake-Release
cmake ../CMake -DCMAKE_BUILD_TYPE=Release
make -j8

Slicer

  • If you are building the Stand-Alone version of TubeTK, you do not need to build Slicer.

Notes:

  • To address the multiple dependencies required (and optional) for VTK, we recommend installing the build dependencies of ParaView prior to building Slicer:
sudo apt-get build-dep paraview


Boost (optional)

Download and build Boost:

Notes:

  • Linux: TubeTK creates dynamic libraries that have static links to Boost libraries. Since Boost static libraries on Linux are not compiled with fPIC, you must compile Boost from source to use it with TubeTK.
    • ./bootstrap.sh
    • ./bjam -j14
    • ./bjam cxxflags=-fPIC cflags=-fPIC -a link=static -j14
  • Mac: if compiling for compatibility with older versions of MacOS, you may need to build boost using the following command:
    • ./b2 toolset=clang cxxflags="-stdlib=libstdc++" linkflags="-stdlib=libstdc++" link=static install -a
    • Slicer and TubeTK matches its build environment with the environment used to build qmake. This means that all code build using Slicer and TubeTK must also build using that environment. So, on some systems you will need to specify stdlib=libstdc++ (for 10.8) or stdlib-libc++ (for 10.9 and beyond). See the comments starting in line 103 of https://github.com/Slicer/Slicer/blob/master/CMake/SlicerBlockSetCMakeOSXVariables.cmake

Download Source

Download the source via git

Configure

Create a directory, outside of the source directory, to hold the compilation

  • mkdir TubeTK-Release
  • cd TubeTK-Release

Within that compilation directory, run cmake and point it to where the source is located. We recommend using a cmake with a GUI configuration editor. This is the default on Windows and Mac. On Linux (or from Mac command-line) type:

  • cmake-gui ../TubeTK

Set the following CMake variables

  • TubeTK_USE_SLICER = On
  • Slicer_DIR = <Path to your Slicer build directory>
  • Linux and Mac only, also set:
    • CMAKE_BUILD_TYPE = <same build type as Slicer installation: Debug or Release>

Build

Windows

Load the TubeTK solution file in Visual Studio

  • Select File -> Open -> Project/Solution -> open TubeTK-Release/TubeTK.sln
    • INITIAL BUILD: Perform the initial build using the TubeTK.sln file at the top-level of TubeTK-Release. This will update and build the libraries that TubeTK depends on (ex. VTK, ITK), and then build TubeTK.
    • SUBSEQUENT BUILDS: Subsequent builds MUST be initiated using the TubeTK.sln file in the subdir TubeTK-Release/TubeTK-build. This will build TubeTK only. You may have to periodically build from the top-level of TubeTK-Release to get updates to the libraries that TubeTK depends on.
  • Choose your build type: Release, Debug, etc. It MUST match the build type chosen for Slicer.
  • Right click on the "ALL_BUILD" project and select "Build".

Linux and OS X

  • INITIAL BUILD: Perform the initial build using your compiler at the top-level of TubeTK-Release. This will update and build the libraries that TubeTK depends on (ex. VTK, ITK), and then build TubeTK.
    • cd TubeTK-Release
    • make -j8
  • SUBSEQUENT BUILDS: Subsequent builds MUST be initiated in the subdir TubeTK-Release/TubeTK-build. This will build TubeTK only. You may have to periodically build from the top-level of TubeTK-Release to get updates to the libraries that TubeTK depends on.
    • cd TubeTK-Release/TubeTK-build
    • make -j8

(Option 2) Stand-Alone Build

In this build format, TubeTK produces a set of libraries and command-line programs that can be used to process images from the command line and to build other applications.

This build format is tested nightly on Windows, OS X, and Linux machines.

This build format has the following steps:

  • Install requirements and options
  • Download source
  • Configure using CMake
  • Build

Install Requirements and Options

GIT

Install the latest stable release.

Qt

QT version 4.8.6 or 4.8.7 is REQUIRED.

  • Windows
    • You will want the 64-bit version of Qt, with WebKIT support. See details at:

http://www.slicer.org/slicerWiki/index.php/Documentation/Nightly/Developers/Build_Instructions/Prerequisites/Qt#Windows_3

CMake

CMake 3.0 or greater is required.

  • The Mac/Windows binaries can be downloaded from http://cmake.org
  • The linux installation from source is easiest. Assuming an older version of cmake is already installed, and you want to install v3.4.1, do the following:
sudo apt-get build-dep cmake
sudo apt-get install libgtkmm-2.4-dev glade-gtk2 libglademm-2.4-dev
git clone http://github.com:/Kitware/CMake.git
cd CMake
git checkout v3.4.1
cd ..
mkdir CMake-Release
cd CMake-Release
cmake ../CMake -DCMAKE_BUILD_TYPE=Release
make -j8

Boost (optional)

Download and build Boost:

Notes:

  • Linux: TubeTK creates dynamic libraries that have static links to Boost libraries. Since Boost static libraries on Linux are not compiled with fPIC, you must compile Boost from source to use it with TubeTK.
    • ./bootstrap.sh
    • ./bjam -j14
    • ./bjam cxxflags=-fPIC cflags=-fPIC -a link=static -j14

Python (optional)

Versions 2.7.x is supported at this time.

Download and install per system instructions at:

http://www.lfd.uci.edu/~gohlke/pythonlibs/

    • Using these wheels is recommended over Anaconda and other installation packages, because they also include and expose versions of Qt (for example) that are incompatible with Slicer and TubeTK.
  • Linux and Mac
    • Python is already included with most Linux and Mac variants.

Download Source

Download the source via git

Configure

Before starting the configuration, make sure that you have virtualenv installed (Linux Only).

If not, just install it with :

  • sudo apt-get install pyton-pip
  • pip install virtualenv


Create a directory, outside of the source directory, to hold the compilation

  • mkdir TubeTK-Release
  • cd TubeTK-Release

Within that compilation directory, run cmake and point it to where the source is located. We recommend using a cmake with a GUI configuration editor. This is the default on Windows and Mac. On Linux (or from Mac command-line) type:

  • cmake-gui ../TubeTK

Linux and Mac only, set the CMake variables:

  • CMAKE_BUILD_TYPE = <same build type as Slicer installation: Debug or Release>

Build

Windows

Load the TubeTK solution file in Visual Studio

  • Select File -> Open -> Project/Solution -> open TubeTK-Release/TubeTK.sln
    • Perform the initial build using your compiler at the top-level of TubeTK-Release. This will update and build the libraries that TubeTK depends on (ex. VTK, ITK), and then build TubeTK.
  • Right click on the "ALL_BUILD" project and select "Build".
    • Subsequent builds should be initiated in the subdir TubeTK-Release/TubeTK-build to save time. This will build TubeTK only. You may have to periodically build from the top-level of TubeTK-Release to get updates to the libraries that TubeTK depends on.
      • Right click on the "TubeTK" project and select "Build".

Linux and OS X

Perform the initial build using your compiler at the top-level of TubeTK-Release. This will update and build the libraries that TubeTK depends on (ex. VTK, ITK), and then build TubeTK.

  • cd $HOME/TubeTK-Release
  • make

Subsequent builds should be initiated in the subdir TubeTK-Release/TubeTK-build to save time. This will build TubeTK only. You may have to periodically build from the top-level of TubeTK-Release to get updates to the libraries that TubeTK depends on.

  • cd $HOME/TubeTK-Release/TubeTK-build
  • make