Similarly to changes done in Magnum itself, this now generalizes the
Emscripten file bundling to Android as well and additionally makes CTest
check for file presence before running the tests.
They are too broad -- for example there is PaintShopPro PAL file or Halo
PAL file with nothing in common, I know at least 10 formats that are RAW
and all of them are completely different (camera bayer? compressed
camera bayer? how much bits? what? videos? memory dump? huh?).
Please note that this is not exactly backwards compatible, but as most
uses of the plugin library are without interacting with CMake, it
shouldn't be as painful, hopefully. In any case, recreate the build dir
and update your copy of Find*.cmake modules to avoid weird things
happening.
User-facing changes:
* Documentation of Find*.cmake modules converted to reStructuredText to
follow official CMake guidelines.
* The newfangled way to link the plugins is to use
MagnumPlugins::JpegImporter instead of
${MAGNUMPLUGINS_JPEGIMPORTER_LIBRARIES} and
${MAGNUMPLUGINS_JPEGIMPORTER_INCLUDE_DIRS}.
* The old ${MAGNUMPLUGINS_*_LIBRARIES} are deprecated and
just expand to MagnumPlugins::* target and are exposed only if
building with BUILD_DEPRECATED.
* The old ${MAGNUMPLUGINS_*_INCLUDE_DIRS} are removed, as the
MagnumPlugins::* targets cover that now as well.
Internal changes:
* Removed global state in favor of target-specific settings.
I *love* this system and the amazing intricaties of dllexport/dllimport
attributes. Seventy new macros for all corner cases and ten new files
just to get this fucking thing right. It never gets old. Never. 99% of
the build system bureaucracy WOULD NOT BE NEEDED IF THAT THING HAD SANE
DESIGN LIKE EVERYWHERE ELSE. GAAAAH. AAAAAAAAARGH.