# Build requirements

The prerequisites for building OVITO from source are:

Tool/Package | Requirement | Notes
--- | --- | ---
C++ compiler | required | Support for C++17 language standard is required
CMake | required | The build system used by OVITO (CMake 3.12 or newer required)
Git | required | The distributed version control system needed to retrieve the source code

The library dependencies are:

Library | Requirement | Notes
--- | --- | ---
Qt5 | required | Used for OVITO’s graphical user interface (version 5.12 or newer)
zlib | optional | Required for reading and writing compressed files.
Boost | required | OVITO uses some utility classes from this C++ library.
libssh | optional | Used by OVITO’s built-in SSH client for remote data access.
ffmpeg | optional | Video processing libraries used by OVITO to write movie files.
libnetcdf | optional | Required by the Amber/NetCDF file reader/writer plugin

The sources of the following third-party libraries are included in the OVITO source distribution and get compiled automatically as part of the build process:

Library | Notes
--- | ---
muparser | A math expression parser library.
Qwt | For plotting and data visualization.
Voro++ | Voronoi cell construction routine required by the Voronoi analysis modifier.
KISS FFT | Required by the Spatial correlation function plugin.