Developer information

Build requirements

The required tools to build OVITO from source are:

C++ compilerrequiredCompiler must support the C++14 standard (e.g. GNU g++ 4.8 or newer)
CMakerequiredThe build system used by OVITO (CMake 3.1 or newer required)
GitrequiredThe distributed version control system needed to retrieve OVITO's source code
xsltprocoptionalThe XSLT processor for generating the user manual
DocBookoptionalThe XSL stylesheets required to generate the user manual in HTML format
DoxygenoptionalGenerates the C++ API documentation from OVITO's source code
PythonoptionalRequired by OVITO's Python script engine (PyScript plugin). Python 2.x and 3.x are supported.
NumPyoptionalRequired by OVITO's Python script engine (PyScript plugin).
PyQt5optionalRequired by OVITO's Python script engine (PyScript plugin).
SphinxoptionalTool for creating the Python scripting interface documentation

The library dependencies are:

Qt5requiredUsed for OVITO's graphical user interface (version 5.4 or newer)
zlibrequiredRequired for reading and writing compressed files.
BoostrequiredOVITO uses some utility classes from this C++ library.
libsshrequiredUsed by OVITO's built-in SSH client for remote data access.
LibavoptionalAudio and video processing libraries used by OVITO to write movie files.
libnetcdfoptionalRequired by the NetCDF plugin to read NetCDF files
QScintilla2optionalText editing widget required by the PyScript plugin.
OSPRayoptionalRequired to build the OSPRay renderer plugin.
EmbreeoptionalRequired to build the OSPRay renderer plugin.

The sources of the following third-party libraries are included in the OVITO source distribution and will be automatically built and used if not present on the local system:

pybind11Required by OVITO's Python script engine (PyScript plugin).
muparserA math expression parser library.
QwtFor plotting and data visualization.
TachyonRequired to build the Tachyon renderer plugin.
Voro++Voronoi cell construction routine required by the Voronoi analysis modifier.
KISS FFTRequired by the Spatial Correlation Function plugin.