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
- Windows
- OS X
- Android 1.5 (API Level 3) and higher
- Windows RT (Store/Phone)
- Google Chrome (through Native Client,
both
newlib
andglibc
toolchains are supported) - HTML5/JavaScript (through Emscripten)
- 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 package/
subdirectory, or compile and install everything manually. Note that Doxygen
documentation contains more comprehensive guide for building, packaging and
crosscompiling.
- 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. GCC 4.6, 4.5, 4.4 and MSVC 2013
support involves some ugly workarounds and thus is available only in
compatibility
branch. - 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
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 ;-)
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
doxygen
in root directory (i.e. where Doxyfile
is). Resulting HTML documentation
will be in build/doc/
directory.
The library comes with handful of examples, contained in 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 ../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
- Gitter -- https://gitter.im/mosra/magnum
- IRC -- join
#magnum-engine
channel on freenode - Google Groups -- https://groups.google.com/forum/#!forum/magnum-engine
- Twitter -- https://twitter.com/czmosra
- E-mail -- mosra@centrum.cz
- Jabber -- mosra@jabbim.cz
See CREDITS.md file for details. Big thanks to everyone involved!
Corrade is licensed under MIT/Expat license, see COPYING file for details.