corrade (v.) - "To scrape together, to gather together from various sources"
Corrade is multiplatform utility library written in C++11/C++14.
- Linux and embedded Linux
- OS X
- Android 1.5 (API Level 3) and higher
- Google Chrome (through Native Client,
glibctoolchains are supported)
- Actively maintained Doxygen documentation with tutorials and examples. Snapshot is available at http://mosra.cz/blog/corrade-doc/.
- 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
subdirectory, or compile and install everything manually. Note that Doxygen
documentation contains more comprehensive guide for building, packaging and
- C++ compiler with good C++11 support. Currently there are two compilers
which are tested to have everything needed: GCC >= 4.6 and Clang
>= 3.1. On Windows you can use MinGW. GCC 4.5, 4.4 and MSVC 2013
support involves some ugly workarounds and thus is available only in
- CMake >= 2.8.9
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.
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
in build directory. Everything should pass ;-)
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
The library comes with handful of examples, contained in
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 ../examples make
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:
- Website -- http://mosra.cz/blog/corrade.php
- GitHub -- http://github.com/mosra/corrade
- Twitter -- https://twitter.com/czmosra
- E-mail -- firstname.lastname@example.org
- Jabber -- email@example.com
See CREDITS.md file for details. Big thanks to everyone involved!
Corrade is licensed under MIT/Expat license, see COPYING file for details.