The SKIRT project
advanced radiative transfer for astrophysics
Use the SKIRT build options (all platforms)

This topic contains the following sections:

For instructions on how to configure build options, see one of the following:

Introduction to build options

The SKIRT build process is driven by the CMake utility, which supports many operating systems and offers a flexible system to adjust a build to local requirements and circumstances. To this end, CMake manages a set of "variables" that control the build process. In the context of the SKIRT code, we recognize three categories of CMake variables:

  • Primary build options to include additional programs or to enable extra capabilities (the "out-of-the-box" SKIRT code configuration builds just the SKIRT command-line program without external dependencies). The variable names for these options start with "BUILD_".
  • Secondary build options for which CMake usually finds the appropriate values, but which can be adjusted by the user if needed. For example, there is a build option to specify the path to the C++ compiler used for the code.
  • Advanced variables which are almost never to be touched by a user, and which are displayed by CMake only upon special request.

The table in the following section includes the primary and secondary build options relevant for building the SKIRT code. If the need should ever arise for adjusting an advanced variable, your favorite web search engine will hopefully guide you to the answer.

Alphabetical list of build options

NameDefaultRelevanceDescription
BUILD_DOX_STYLEOFFIf ON, build the documentation streamliner doxstyle (for developers, see Formatting the source code)
BUILD_MAKE_UPOFFIf ON, build the MakeUp desktop utility, see MakeUp, the graphical interface for SKIRT parameter files
BUILD_SKIRTONIf ON, build the SKIRT command line program, see User Guide
BUILD_SMILE_SHAPESOFFIf ON, build the SMILE shapes example (for developers, see The shapes example program)
BUILD_SMILE_TOOLOFFIf ON, build the smiletool command-line utility (for developers and advanced users, see The smiletool command-line utility)
BUILD_WITH_MPIOFFIf ON, use the message-passing interface (MPI) to enable multi-processing in SKIRT, see Enable multi-processing for SKIRT (Unix or macOS)
CMAKE_BUILD_TYPEReleaseThe type of build, usually Release or Debug.
CMAKE_CXX_COMPILERauto (*)The path to the C++ compiler used for the code
CMAKE_C_COMPILERauto (*)The path to the "plain" C compiler used for the code
CMAKE_INSTALL_PREFIXauto This variable is not used for the SKIRT code
GIT_EXECUTABLEauto (*)The path to the executable for the git command line tool
MPI_CXX_COMPILERauto (*)BUILD_WITH_MPIThe path to the C++ compiler used for compiling files that refer to MPI headers
MPI_CXX_INCLUDE_PATHauto (*)BUILD_WITH_MPIThe path to the include directory(ies) for the MPI headers
MPI_CXX_LIBRARIESauto (*)BUILD_WITH_MPIThe path to the library directory(ies) for the MPI libraries
Qt5Core_DIRauto (*)BUILD_MAKE_UPThe path to the directory for the Qt5Core module
Qt5Gui_DIRauto (*)BUILD_MAKE_UPThe path to the directory for the Qt5Gui module
Qt5Widgets_DIRauto (*)BUILD_MAKE_UPThe path to the directory for the Qt5Widgets module

(*) auto means that CMake usually finds the appropriate path without user intervention. In case CMake fails (e.g. the proposed path is empty, contains a string such as "NOTFOUND", or points to the wrong executable or library), you can manually override the value of the variable with the correct path.