|
|
|
|
/*
|
|
|
|
|
This file is part of Magnum.
|
|
|
|
|
|
|
|
|
|
Copyright © 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018
|
|
|
|
|
Vladimír Vondruš <mosra@centrum.cz>
|
|
|
|
|
|
|
|
|
|
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 to power your dreams.*
|
|
|
|
|
|
|
|
|
|
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 <tt>\#magnum-engine</tt> 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.
|
|
|
|
|
>
|
|
|
|
|
|
|
|
|
|
*/
|
|
|
|
|
}
|