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.4 or newer)
zlibrequiredRequired for reading and writing compressed files.
BoostrequiredOVITO uses some utility classes from this C++ library.
pybind11includedRequired by OVITO's Python script engine (PyScript plugin).
LibavoptionalAudio and video processing libraries used by OVITO to write movie files.
libnetcdfoptionalRequired by the NetCDF plugin to read NetCDF files
FFTWoptionalRequired to build the Correlation Function plugin.
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.
QwtincludedFor plotting and data visualization.
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.
QtCreator SSH libraryincludedRequired 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.