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

Name Default Relevance Description
BUILD_DOX_STYLE OFF If ON, build the documentation streamliner doxstyle (for developers, see Formatting the source code)
BUILD_MAKE_UP OFF If ON, build the MakeUp desktop utility, see MakeUp, the graphical interface for SKIRT parameter files
BUILD_SKIRT ON If ON, build the SKIRT command line program, see User Guide
BUILD_SMILE_SHAPES OFF If ON, build the SMILE shapes example (for developers, see The shapes example program)
BUILD_SMILE_TOOL OFF If ON, build the smiletool command-line utility (for developers and advanced users, see The smiletool command-line utility)
BUILD_WITH_MPI OFF If ON, use the message-passing interface (MPI) to enable multi-processing in SKIRT, see Enable multi-processing for SKIRT (Unix or macOS)
CMAKE_BUILD_TYPE Release The type of build, usually Release or Debug.
CMAKE_CXX_COMPILER auto (*) The path to the C++ compiler used for the code
CMAKE_C_COMPILER auto (*) The path to the "plain" C compiler used for the code
CMAKE_INSTALL_PREFIX auto This variable is not used for the SKIRT code
GIT_EXECUTABLE auto (*) The path to the executable for the git command line tool
MPI_CXX_COMPILER auto (*) BUILD_WITH_MPI The path to the C++ compiler used for compiling files that refer to MPI headers
MPI_CXX_INCLUDE_PATH auto (*) BUILD_WITH_MPI The path to the include directory(ies) for the MPI headers
MPI_CXX_LIBRARIES auto (*) BUILD_WITH_MPI The path to the library directory(ies) for the MPI libraries
Qt5Core_DIR auto (*) BUILD_MAKE_UP The path to the directory for the Qt5Core module
Qt5Gui_DIR auto (*) BUILD_MAKE_UP The path to the directory for the Qt5Gui module
Qt5Widgets_DIR auto (*) BUILD_MAKE_UP The 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.