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:: DebugMode and BulletIntegration:: DebugDraw:: DebugModes instead
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.