This will allow us to test the PugiXML code on AppVeyor.
TODO:
- Add an internal copy of PugiXML.
- Port everything from TinyXML2 to PugiXML.
- Remove TinyXML2.
NOTE: Ubuntu 16.04 doesn't have libfmt-dev, so rom-properties will no
longer build on Ubuntu 16.04 until an internal copy is added.
We'll probably use a header-only build for Ubuntu 16.04, and a DLL
build for Windows.
Besides the filename and path changes, these changes were needed:
- Tracker 3.3.0-alpha added a function tracker_file_get_content_identifier(),
which is used for the content identifier. I'm only calling this function
if we're using API version 3. (TODO: Only for 3.3.0 or later, maybe.)
- tracker_file_get_content_identifier() is part of libtracker-miners-common,
which is statically linked into every extractor. As such, we can't simply
dlsym() the function from libtracker_extract. (We *could* get it from one
of the existing extractors, since they're exporting all of the symbols,
but that's an implementation detail that could change later.)
- tracker-file-utils.c implements tracker_file_get_content_identifier().
This file requires libblkid and (optionally) BTRFS_IOC_INO_LOOKUP.
CMakeLists.txt now checks for those and links in libblkid.
- Add libblkid to other relevant files, plus FindBlkid.cmake.
- Rename the .rule files to 14- so they take precedence over tracker-3's
own 15-executable.rule and 15-games.rule.