rom-properties/cmake/libs/FindBlkid.cmake
David Korth de43b12882 [tracker] Add support for tracker-3.0.
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.
2024-03-29 22:53:45 -04:00

23 lines
656 B
CMake

# Find Blkid libraries and headers.
# If found, the following variables will be defined:
# - Blkid_FOUND: System has Blkid.
# - Blkid_INCLUDE_DIRS: Blkid include directories.
# - Blkid_LIBRARIES: Blkid libraries.
# - Blkid_DEFINITIONS: Compiler switches required for using Blkid.
#
# In addition, a target Blkid::gio will be created with all of
# these definitions.
#
# References:
# - https://cmake.org/Wiki/CMake:How_To_Find_Libraries
# - http://francesco-cek.com/cmake-and-gtk-3-the-easy-way/
#
INCLUDE(FindLibraryPkgConfig)
FIND_LIBRARY_PKG_CONFIG(Blkid
blkid # pkgconfig
blkid/blkid.h # header
blkid # library
Blkid::blkid # imported target
)