Installation Guide

# System requirements

The SKIRT project is intended to be truly cross-platform. It is written in standard C++14, which is supported by all recent C++ compilers, and it uses the CMake build system, which is widely available. As a result, the SKIRT project should compile and run on any recent 64-bit version of Unix, Mac OS X, and Microsoft Windows.

The source code for the SKIRT project is hosted on GitHub. You can download the code as a ZIP archive, but the recommended method is to use a git client, which is widely available. The documentation on this web site is generated from the source code through Doxygen. You don't need to install Doxygen and the related tools unless you are a substantial contributor to the code.

The default and most basic build configuration includes a fully-functional version of the SKIRT command-line program with support for multiple parallel threads in a single process. In this configuration, the project has no external dependencies other than the C++ compiler and the CMake build tool. Additional capabilities that may depend on external components can be enabled through user-configurable build options:

• To enable the multi-processing capabilities of SKIRT, the host system must provide an implementation of the standard Message Passing Interface (MPI).
• It is possible to build FitSKIRT without MPI, i.e. using multi-threading only. In a realistic research setting, however, FitSKIRT will most likely require the use of multi-processing. Furthermore, if the reference images use point-spread functions with a customized form (as opposed to Gaussian), it is recommended to install a third-party fast-fourier transform libary to accelerate the convolution calculations for the simulated images.
• The optional MakeUp utility uses the Qt development environment to implement its graphical user interface, so a recent version of the Qt framework must be installed to build this utility.

# Types of installation

Your approach to installing the SKIRT project depends on your usage intentions and computer system. We can recognize two main types of environment:

• A laptop or desktop computer running Mac OS X, a Linux distribution such as Ubuntu, or Microsoft Windows. In this environment you are likely to select tools that offer a graphical user interface. If you'd like to manage SKIRT or FitSKIRT configuration files with the graphical wizard offered by the MakeUp tool, then you need to install the Qt libraries. In that case, you can just as well use Qt Creator to build the SKIRT project. Alternatively, you can perform certain tasks on the command line or even skip graphical user interfaces entirely.
• A remote server, most likely running a Linux distribution such as Ubuntu or Scientific Linux, or some proprietary Unix flavor. In this environment you are likely to perform most or all tasks on the command line, although it is often possible to use graphical interfaces through a remote windowing system.