corrade (v.) — "To scrape together, to gather together from various sources"
Corrade is a multiplatform utility library written in C++11/C++14. It's used as a base for the Magnum graphics engine, among other things.
- Project homepage — http://magnum.graphics/corrade/
- Documentation — http://doc.magnum.graphics/corrade/
- GitHub project page — https://github.com/mosra/corrade
- Linux and embedded Linux
- Windows, Windows RT (Store/Phone)
- macOS, iOS
- Android
- Web (asm.js or WebAssembly), through Emscripten
See the Magnum Project Build Status page for detailed per-platform build status.
- Low-level utilities to bridge platform differences when accessing OS functionality, filesystem, console and environment
- Lightweight container implementations, complementing STL features with focus on compilation speed, ease of use and performance
- Test framework emphasizing flexibility, extensibility, minimal use of macros and clarity of diagnostic output
- Plugin management library with static and dynamic plugins, dependency handling and hot code reload
- Signal/slot connection library with full type safety
Check also the Magnum Project Feature Overview pages for further information.
You can either use packaging scripts, which are stored in the package/
subdirectory, or compile and install everything manually. A short guide is
below, for complete documentation for all platforms head over to the
Corrade documentation.
- 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. For Windows you can also use MinGW-w64.
- CMake >= 2.8.12
The library can be built and installed using these commands:
git clone git://github.com/mosra/corrade && cd corrade
mkdir -p build && cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr ..
make -j
make install # sudo may be required
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 using Doxygen. It can be built by running
doxygen
in the root directory (i.e. where Doxyfile
is). Resulting HTML documentation
will be in the build/doc/
directory. You may need to create the build/
directory if it doesn't exist yet. Snapshot of the documentation is
also available for online viewing.
The best way to get started is to read some examples and tutorials. Sources for them are contained in the src/examples
directory and are built separately, requiring Corrade to be installed:
mkdir -p build-examples
cd build-examples
cmake ../src/examples
make -j
If you want to contribute to Corrade, if you spotted a bug, need a feature or have an awesome idea, you can get a copy of the sources from GitHub and start right away! There is the already mentioned guide about how to download and build Corrade and also a guide about coding style and best practices which you should follow to keep the library as consistent and maintainable as possible.
- Project homepage — http://magnum.graphics/corrade/
- Documentation — http://doc.magnum.graphics/corrade/
- GitHub project page — https://github.com/mosra/corrade
- Gitter community chat — https://gitter.im/mosra/magnum
- IRC — join the
#magnum-engine
channel on freenode - Google Groups mailing list — [email protected] (archive)
- Author's personal Twitter — https://twitter.com/czmosra
- Author's personal e-mail — [email protected]
See also the Magnum Project Contact & Support page for further information.
See the CREDITS.md file for details. Big thanks to everyone involved!
Corrade is licensed under the MIT/Expat license, see the COPYING file for details.