# Developer information

The source code of OVITO is hosted in a Git repository on SourceForge.

## Requirements

OVITO is written in C++ and makes use of the C++11 language standard. The following platform/compiler combinations are known to work and are used to build the official binaries:

- Linux: GNU g++ version 4.7 or higher

- Microsoft Windows: MinGW toolchain with g++ version 4.7 or higher

- Apple Mac OS X: Clang compiler included in Apple's Xcode command line tools

OVITO makes use of the Qt cross-platform application framework and requires version 5.2.x or higher of the Qt library. Especially on Mac OS X, but also on other platforms, at least version 5.2.1 of the library is recommended, which fixes a serious input-focus bug. Newer Linux distributions already include development packages of the Qt library. Users of older Linux distributions, Windows, or Mac OS X should download the offical Qt installer. Windows users should fetch the MinGW/OpenGL variant of the Qt library, because Microsoft's MSVC 2012 compiler does not fully support C++11 language features yet that are needed to compile OVITO.

If you want to build OVITO with video output support, you need the Libav video-encoding framework. Sources are available at http://libav.org. OVITO has been successfully built against release series 0.8 of that library. Prebuilt packages are available for Windows and most Linux distros. On Mac OS X, the Libav libraries can be obtained by installing the ffmpeg-devel package through the MacPorts package manager.

Finally, to compile OVITO, the CMake cross-platform build system is required, which is available from the offical website www.cmake.org, or through a Linux package manager and MacPorts on Mac OS X. At least version 2.8.11 of CMake is required.

Take a look at the files in `/doc/develop/` of the source package to find more instructions on how to build OVITO from source.