Skip to content

Installing STIR with CMake

Kris Thielemans edited this page Nov 25, 2024 · 1 revision

Installing STIR with CMake

CMake is a cross-platform tool for building projects. First check some of these external links:

Step 1: Run cmake

First select source directory: STIR Select build directory. Best to use one level up from STIR. Call it anything you like, but e.g. STIR-bin. The following lines apply on Linx/MaxOS with ccmake, but you can use cmake-gui etc as well.

mkdir STIR-bin
cd STIR-bin
ccmake -S ../STIR

Press Configure button (or c key) You might get a "help" screen with some information, which you'll need to cloes (After reading the information of courses). For example, if some required libraries are missing, it will tell you. e.g. saying that FindBoost.cmake cannot find boost. You then get back to a screen with the configuration variables, where you can adjust things. For example, if you installed boost somewhere where cmake didn't find it, you can edit its location there. Similarly, for the ECAT LLN library you can specify the location of its include files and the library you want to link with.

You will want to change CMAKE_INSTALL_PREFIX to somewhere where you have write permissions.

If you change one of the variables, you will have to configure again. Once you are happy, you have to press generate.

For example, on my Linux system, the variables end up to something like this.

     AVW_ROOT_DIR
     BOOST_ROOT
     BUILD_SHARED_LIBS                OFF
     CMAKE_BUILD_TYPE
     CMAKE_INSTALL_PREFIX             /home/kris/
     CURSES_CURSES_H_PATH             /usr/include
     CURSES_FORM_LIBRARY              /usr/lib/libform.so
     CURSES_HAVE_CURSES_H             /usr/include/curses.h
     DISABLE_AVW                      OFF
     DISABLE_LLN_MATRIX               OFF
     DISABLE_RDF                      OFF
     DISABLE_STIR_LOCAL               OFF
     GRAPHICS                         X
     LLN_INCLUDE_DIRS                 /home/kris/devel/lln/ecat
     LLN_LIBRARIES                    /home/kris/devel/lln/ecat/debuggcc_64/libecat.a
     RDF_INCLUDE_DIRS                 RDF_INCLUDE_DIRS-NOTFOUND
     RDF_LIBRARIES                    RDF_LIBRARIES-NOTFOUND
     STIR_LOCAL                       /home/kris/devel/STIR/local
     STIR_MPI                         OFF
     STIR_OPENMP                      OFF

After this, you can quit CMake.

Check the STIR User's Guide for more information.

Stage 2: actual compilation

The previous step used CMake to generate files for the build system appropriate for your OS. Now, you need to use the build system to compile STIR. We just list the 2 most common ones:

Unix-type systems: make

CMake will have created a series of directories in STIRbin with a series of Makefiles. To build STIR, you just type

make

If there are compilation problems, you might want to see the compilation commands:

make VERBOSE=1

You would normally finish with

make install