CORRADE_GRACEFUL_ASSERT is set only on files where it makes sense, the
rest is shared between main and test libraries. Speeds up the
compilation like infinity times.
CMake 2.8.8 is required for OBJECT library target.
Reusing macros MAGNUM_EXPORT and friends already used for Windows
builds. For exported classes added MAGNUM_LOCAL to private members which
are not referenced from any inline function. Added explicit
MAGNUM_EXPORT to private members which are referenced. CMake provides
its own macro <target>_EXPORTS, using that instead of
set_target_properties().
The compiler will produce error anyway, because the body of the function
is not implemented, only in explicit template specializations. Deleting
the function would make sense if there was another function with the
same name taking different argument, which is not this case anyway.
Currently it was incorrectly stated that for using Math::Matrix or for
example Trade::MeshData it was sufficient to
#include <Matrix.h>
#include <MeshData.h>
which was obviously wrong, as Math/ (nor any other namespace-related
subdirectory) is not on include path. Now it states correctly that a
directory prefix is needed:
#include <Math/Matrix.h>
#include <Trade/MeshData.h>
The same is now fixed for classes in magnum-plugins repository.
Doxygen produces some false-positive warnings for Matrix and Vector
classes, but the generated documentation is fine. Worked around the
warnings by using @copybrief and @copydetails instead of @copydoc.
C++ allows creating arrays with initializer lists shorter than array
length, but for vectors and matrices it will be error prone and hard to
debug. Removed deleted constructor, as it is now catched with
static_assert as well. Also this was possible before (and wasn't catched
with the deleted constructor), now isn't:
Matrix<2, int> a(1, 2);
* Moved the enum and setter function to Camera, made it static, because
it doesn't depend on any particular scene and is camera (rendering)
related.
* Function features() didn't actually work, because setFeature() didn't
update private variable at all. Removed it altogether, because the
values are not stored anywhere, the enum now holds right values
(GL_*), which makes setFeature() function so much simpler.
* Scene class now doesn't have any non-inline functions, removed *.cpp.