/* This file is part of Magnum. Copyright © 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018 Vladimír Vondruš Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ namespace Magnum { /** @mainpage Magnum * *Lightweight and modular C++11/C++14 graphics middleware for games and data visualization.* This is a documentation for the Magnum Project. To see high-level feature overview, project goals or read the developer blog, head over to the [project homepage](http://magnum.graphics/). @section mainpage-building Building Magnum You can either use packaging scripts, which are stored in the `package/` subdirectory [of the Git repository](https://github.com/mosra/magnum/tree/master/package), or compile and install everything manually. A short guide is below, for better introduction it's advised to read through the @ref getting-started "Getting Started Guide". Complete building documentation covering all platforms and feature sets is in the @ref building page. @subsection mainpage-building-dependencies 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 - **Corrade** - Plugin management and utility library. See how to get it at http://doc.magnum.graphics/corrade/. @subsection mainpage-building-compilation Compilation, installation The library (for example with support for SDL2 applications) can be built and installed using these commands: @code{.sh} git clone git://github.com/mosra/magnum && cd magnum mkdir -p build && cd build cmake .. \ -DCMAKE_INSTALL_PREFIX=/usr \ -DWITH_SDL2APPLICATION=ON make -j make install # sudo may be required @endcode @subsection mainpage-building-tests 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 @ref Corrade::TestSuite "TestSuite" framework and can be run using @code{.sh} ctest --output-on-failure @endcode in build directory. Everything should pass ;) @subsection mainpage-building-doc Building documentation The documentation, which you are currently reading, is written using [Doxygen](https://doxygen.org). It can be build by running @code{.sh} doxygen @endcode in the root directory (i.e. where `Doxyfile` is). You may need to create the `build/` directory if it doesn't exist yet. Resulting HTML documentation will be in the `build/doc/` directory. @section mainpage-getting-started Getting started The best way to get started is to read the thorough @ref getting-started "guide to download, build, install and start using Magnum" in your project. After that, there are various @ref example-index "tutorials and examples" and a complete @ref features "feature guide" explaining all aspects of the library. @section mainpage-contact Contact & support If you want to contribute to Magnum, 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 @ref building "how to download and build Magnum" and also a guide about @ref coding-style "coding style and best practices" which you should follow to keep the library as consistent and maintainable as possible. - Project homepage --- http://magnum.graphics/ - Documentation --- http://doc.magnum.graphics/ - GitHub project page --- https://github.com/mosra/magnum - Gitter community chat --- https://gitter.im/mosra/magnum - IRC --- join the \#magnum-engine channel on freenode - Google Groups mailing list --- magnum-engine@googlegroups.com ([archive](https://groups.google.com/forum/#!forum/magnum-engine)) - Author's personal Twitter --- https://twitter.com/czmosra - Author's personal e-mail --- mosra@centrum.cz See also the [Contact & Support page](http://magnum.graphics/contact/) on the project website for further information. @section mainpage-license License Magnum is licensed under the MIT/Expat license: > > Copyright © 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018 > Vladimír Vondruš <mosra@centrum.cz> and contributors > > Permission is hereby granted, free of charge, to any person obtaining a > copy of this software and associated documentation files (the "Software"), > to deal in the Software without restriction, including without limitation > the rights to use, copy, modify, merge, publish, distribute, sublicense, > and/or sell copies of the Software, and to permit persons to whom the > Software is furnished to do so, subject to the following conditions: > > The above copyright notice and this permission notice shall be included > in all copies or substantial portions of the Software. > > THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR > IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, > FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL > THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER > LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING > FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER > DEALINGS IN THE SOFTWARE. > */ }