Developer information

Build requirements

The required tools to build OVITO from source are:

Tool/PackageRequirementNotes
C++ compilerrequiredCompiler must support the C++11 standard (e.g. GNU g++ 4.8 or newer)
CMakerequiredThe build system used by OVITO (CMake 2.8.12 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:

LibraryRequirementNotes
Qt5requiredUsed for OVITO's graphical user interface (version 5.2 or higher required)
zlibrequiredRequired for reading and writing compressed files.
BoostrequiredOVITO uses some utility classes from this C++ library.
Boost.PythonoptionalRequired by OVITO's Python script engine (PyScript plugin). Is part of the Boost library.
CGALoptionalComputational Geometry Algorithms Library, which is used by OVITO to compute Delaunay tessellations. This is required to build the CrystalAnalysis plugin with the Construct surface mesh modifier.
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.
muparserincludedA math expression parser library. OVITO's source distribution contains a copy of this library, which will be used if not found on the system.
QCustomPlotincludedFor plotting and data visualization. OVITO's source distribution contains a copy of this library, which will be used if not found on the system.
BotanincludedA crypto library used by OVITO's built-in SSH client. OVITO's source distribution contains a copy of this library, which will be used if not found on the system.
QSshincludedRequired for the built-in SSH client. OVITO's source distribution contains a slightly modified copy of this library, which is automatically used.
TachyonincludedRequired to build the Tachyon renderer plugin. OVITO's source distribution contains a slightly modified copy of this library, which is automatically used.
Voro++includedVoronoi cell construction routine required by the Voronoi analysis modifier. OVITO's source distribution contains a copy of this library, which will be used if not found on the system.