Integration
Contents
2018.04
Released 2018-05-01, tagged as v2018.04.
Dependency changes
- Building for Android now requires CMake 3.7 with builtin Android crosscompilation support, the old toolchains were removed. Only the Clang and libc++ toolchain is now supported, support for GCC and libstdc++ was dropped, as it was still missing some important C++11 functionality. See Crosscompiling for Android for more information.
Changes and improvements
- Second experimental version of the DartIntegration library —
DartIntegration::DartObject
andDartIntegration::DartSkeleton
got replaced with DartIntegration::Object and DartIntegration::World , which is now able to track updates to all shapes and propagate that to the user. See mosra/magnum-integration#29 , mosra/magnum-integration#30 .
Build system
- Homebrew macOS packages were updated to install the stable version by default
- Fixed the Debian package after introducing
SOVERSION
to all libraries (see mosra/magnum#237 ) - Fixed the Debian package to not include a revision. While just a warning on Ubuntu, it's a hard error on Debian. (See mosra/
corrade#44 .)
2018.02
Released 2018-02-15, tagged as v2018.02. See the release announcement for a high-level overview.
Dependency changes
- Completely removed NaCl support (see https:/
/ )blog.chromium.org/ 2017/ 05/ goodbye-pnacl-hello-webassembly.html - Dropped support for the old MinGW32 (only MinGW-w64 is supported now)
- Bumped minimal CMake version to 2.8.12
- Removed support for macOS 10.8 and older
- Dropped the
compatibility
branch and all support for MSVC 2013 and GCC < 4.7
New features
- MSVC 2015 and MSVC 2017 support in
master
branch - ANGLE ES2/ES3 support, ability to create desktop GLES contexts on Windows
- Windows Phone/Store support via ANGLE
- iOS support
- WebAssembly support when building for Emscripten
- WebGL 2.0 support
- New experimental DartIntegration library, integrating DART Dynamic Animation and Robotics Toolkit (see mosra/
magnum-integration#28 ) - New OvrIntegration library, integrating Oculus SDK (see mosra/
magnum-integration#3 , mosra/magnum-integration#4 , mosra/magnum-integration#5 , mosra/magnum-integration#6 , mosra/magnum-integration#7 , mosra/magnum-integration#8 , mosra/magnum-integration#9 , mosra/magnum-integration#10 , mosra/magnum-integration#12 , mosra/magnum-integration#13 , mosra/magnum-integration#15 , mosra/magnum-integration#17 ) - New BulletIntegration::
DebugDraw class for simple and easy physics debugging (see mosra/magnum-integration#11 , mosra/magnum-integration#21 )
Changes and improvements
- Extended math type conversion in BulletIntegration, improved tests for BulletIntegration::
MotionState (see mosra/magnum-integration#22 ) - Fixed linker errors when using BulletIntegration compiled as DLL on Windows
- Various code modernization improvements (see mosra/
magnum-integration#25 )
Build system
- Continuous testing for Linux, macOS, Windows MSVC, Windows MinGW, Windows RT, iOS, Android and Emscripten on Travis CI and AppVeyor CI, with code coverage on codecov.io; replacing the unmaintained and outdated Jenkins configuration
- Support for CMake subprojects. You can now clone Magnum Plugins into a subdirectory in your project and add it using
add_subdirectory()
. Thefind_package()
command will then use the CMake subproject instead of looking for it in system-wide locations. - Reworked CMake buildsystem to use the new imported target workflow, see Integration library usage with CMake for more information
- CMake targets are now organized in folders for better development experience in IDEs such as Visual Studio or Xcode
- Added a Homebrew package
MACOSX_RPATH
is now enabled by default on CMake 3.0+FindMagnumIntegration.cmake
now properly handles Bullet installations with both debug and release libraries (see mosra/magnum-integration#14 )- Fixed static BulletIntegration libraries being treated as dynamic (see mosra/
magnum-integration#16 ) - Enabling only C++ in CMake
project()
call, if possible, to speed up initial CMake run
Bug fixes
- Properly respecting the
BUILD_STATIC
CMake option when building and avoiding treatment of static libraries as dynamic on Windows - Various compilation fixes (see mosra/
magnum-integration#23 , mosra/magnum-integration#24 , mosra/magnum-integration#27 )
Deprecated APIs
BulletIntegration::DebugDraw::Mode
enum andBulletIntegration::DebugDraw::Modes
enum set are deprecated, use BulletIntegration::DebugDraw:: and BulletIntegration::DebugMode DebugDraw:: insteadDebugModes
Potential compatibility breakages, removed APIs
No APIs were removed since last release.
Documentation
- New documentation theme powered by m.css and related massive updates of everything
- The Downloading and building integration libraries documentation now prefers package installation instead of manual build
Changelogs for previous versions are available in Archived integration changelogs.