C++ CMake Shell C Batchfile Makefile
Latest commit b87c50d May 19, 2017 @mosra package/ci: update to 14.04 on Travis, except for Android.
This was long overdue, moreover CMake 2.8.12 stopped working on 12.04
for some reason. On a plus side this finally allows us to not depend on
third-party PPAs anymore, unfortunately Android support is not on 14.04
yet, so in that case 12.04 is still used with manually downloaded CMake.


corrade (v.) - "To scrape together, to gather together from various sources"

Corrade is multiplatform utility library written in C++11/C++14.

Join the chat at https://gitter.im/mosra/magnum


  • Linux and embedded Linux Build Status Coverage Status
  • Windows Build Status
  • OS X Build Status
  • iOS Build Status
  • Android 1.5 (API Level 3) and higher
  • Windows RT (Store/Phone) Build Status
  • Google Chrome (through Native Client, both newlib and glibc toolchains are supported)
  • HTML5/JavaScript (through Emscripten) Build Status


  • Actively maintained Doxygen documentation with tutorials and examples. Snapshot is available at http://doc.magnum.graphics/corrade/.
  • Signal/slot connection library with compile-time argument checking.
  • Plugin management library with static and dynamic plugins and dependency handling.
  • Easy-to-use unit test framework and extensible debugging output.
  • Various utilities to ease multiplatform development.


You can either use packaging scripts, which are stored in package/ subdirectory, or compile and install everything manually. Note that Doxygen documentation contains more comprehensive guide for building, packaging and crosscompiling.

Minimal dependencies

  • C++ compiler with good C++11 support. Compilers which are tested to have everything needed are GCC >= 4.7, Clang >= 3.1 and MSVC >= 2015. On Windows you can also use MinGW-w64.
  • CMake >= 2.8.12

Note that full feature set is available only on GCC >= 4.8.1 and Clang >= 3.1 and compatibility mode with reduced feature set must be enabled for other compilers.

Compilation, installation

The library can be built and installed using these four commands:

mkdir -p build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr .. && make
make install

Building and running unit tests

If you want to build also unit tests (which are not built by default), pass -DBUILD_TESTS=ON to CMake. Unit tests use Corrade's own TestSuite framework and can be run using

ctest --output-on-failure

in build directory. Everything should pass ;-)

Building documentation

The documentation is written in Doxygen (preferrably 1.8 with Markdown support, but older versions should do good job too) and additionally uses Graphviz for class diagrams. The documentation can be build by running


in root directory (i.e. where Doxyfile is). Resulting HTML documentation will be in build/doc/ directory.

Building examples

The library comes with handful of examples, contained in src/examples/ directory. Each example is thoroughly explained in documentation. The examples require Corrade to be installed and they are built separately:

mkdir -p build-examples
cd build-examples
cmake ../src/examples


Want to learn more about the library? Found a bug or want to tell me an awesome idea? Feel free to visit my website or contact me at:


See CREDITS.md file for details. Big thanks to everyone involved!


Corrade is licensed under MIT/Expat license, see COPYING file for details.