mirror of
https://github.com/GerbilSoft/rom-properties.git
synced 2025-06-18 11:35:38 -04:00
[tracker] Enable the INSTALL rules.
While the code itself supports all three API versions, we're only supporting installing into a single version directory. Added auto-detection to detect what version is installed, plus a manual override using TRACKER_INSTALL_API_VERSION to explicitly specify which version to use. Ubuntu versions and Tracker API versions: - 16.04: v1 - 18.04: v2 - 20.04: v2 - 22.04: v3 - 24.04: v3 [debian] rules: Explicitly specify the API version so we don't need to install the Tracker packages when building.
This commit is contained in:
parent
e07de3a3c4
commit
4e5ce09a05
@ -324,6 +324,11 @@ IF(BUILD_TESTING)
|
||||
SET(EXTLIB_BUILD "${EXTLIB_BUILD}- Google Test\n")
|
||||
ENDIF(BUILD_TESTING)
|
||||
|
||||
IF(BUILD_TRACKER_EXTRACTOR)
|
||||
SET(TRACKER_API_DISPLAY "${TRACKER_INSTALL_API_VERSION}")
|
||||
ELSE(BUILD_TRACKER_EXTRACTOR)
|
||||
SET(TRACKER_API_DISPLAY "(none)")
|
||||
ENDIF(BUILD_TRACKER_EXTRACTOR)
|
||||
|
||||
INCLUDE(DirInstallPaths)
|
||||
MESSAGE(STATUS "
|
||||
@ -334,6 +339,7 @@ Build Summary:
|
||||
- Target CPU architecture: ${TARGET_CPU_ARCH}
|
||||
- Building these UI frontends: ${UI_FRONTENDS}
|
||||
- Building command-line frontend: ${CLI_BUILD_MSG}
|
||||
- GNOME Tracker API version: ${TRACKER_API_DISPLAY}
|
||||
- libromdata is built as: ${LIBROMDATA_LIB_TYPE}
|
||||
- Security mechanism: ${SECURITY_MECHANISM}
|
||||
- Decryption functionality: ${ENABLE_DECRYPTION_MSG}
|
||||
|
1
debian/rules
vendored
1
debian/rules
vendored
@ -24,6 +24,7 @@ CMAKE_OPTIONS := \
|
||||
-DBUILD_GTK3=ON \
|
||||
-DBUILD_GTK4=OFF \
|
||||
-DBUILD_CLI=ON \
|
||||
-DTRACKER_INSTALL_API_VERSION=1 \
|
||||
-DENABLE_PVRTC=ON \
|
||||
-DENABLE_OPENMP=ON \
|
||||
-DENABLE_LTO=OFF \
|
||||
|
@ -69,11 +69,55 @@ ENDIF(BUILD_TRACKER_EXTRACTOR)
|
||||
# Install the tracker extractor module. #
|
||||
#########################################
|
||||
|
||||
IF(0) #BUILD_TRACKER_EXTRACTOR)
|
||||
IF(BUILD_TRACKER_EXTRACTOR)
|
||||
SET(_desc "Tracker API version for installation: 1, 2, 3 (default is auto, requires tracker packages to be installed)")
|
||||
SET(TRACKER_INSTALL_API_VERSION AUTO CACHE STRING "${_desc}")
|
||||
SET_PROPERTY(CACHE TRACKER_INSTALL_API_VERSION PROPERTY STRINGS AUTO 1 2 3)
|
||||
IF(TRACKER_INSTALL_API_VERSION STREQUAL AUTO)
|
||||
# Determine which Tracker library is installed.
|
||||
FIND_LIBRARY(HAVE_TRACKER_SPARQL_3_0 NAMES libtracker-sparql-3.0.so libtracker-sparql-3.0.so.0)
|
||||
IF(HAVE_TRACKER_SPARQL_3_0)
|
||||
SET(TRACKER_INSTALL_API_VERSION 3 CACHE INTERNAL "${_desc}" FORCE)
|
||||
ELSE(HAVE_TRACKER_SPARQL_3_0)
|
||||
FIND_LIBRARY(HAVE_TRACKER_SPARQL_2_0 NAMES libtracker-sparql-2.0.so libtracker-sparql-2.0.so.0)
|
||||
IF(HAVE_TRACKER_SPARQL_2_0)
|
||||
SET(TRACKER_INSTALL_API_VERSION 2 CACHE INTERNAL "${_desc}" FORCE)
|
||||
ELSE(HAVE_TRACKER_SPARQL_2_0)
|
||||
FIND_LIBRARY(HAVE_TRACKER_SPARQL_1_0 NAMES libtracker-sparql-1.0.so libtracker-sparql-1.0.so.0)
|
||||
IF(HAVE_TRACKER_SPARQL_1_0)
|
||||
SET(TRACKER_INSTALL_API_VERSION 1 CACHE INTERNAL "${_desc}" FORCE)
|
||||
ELSE(HAVE_TRACKER_SPARQL_1_0)
|
||||
MESSAGE(FATAL_ERROR "Unable to detect a supported Tracker library; please set TRACKER_INSTALL_API_VERSION manually.")
|
||||
ENDIF(HAVE_TRACKER_SPARQL_1_0)
|
||||
ENDIF(HAVE_TRACKER_SPARQL_2_0)
|
||||
ENDIF(HAVE_TRACKER_SPARQL_3_0)
|
||||
ELSEIF(TRACKER_INSTALL_API_VERSION LESS 1 OR TRACKER_INSTALL_API_VERSION GREATER 3)
|
||||
MESSAGE(FATAL_ERROR "TRACKER_INSTALL_API_VERSION '${TRACKER_INSTALL_API_VERSION}' is invalid.")
|
||||
ENDIF()
|
||||
|
||||
# Determine paths based on API version.
|
||||
|
||||
# Rule files
|
||||
# - tracker-1.0: share/tracker/extract-rules/
|
||||
# - tracker-2.0: share/tracker-miners/extract-rules/
|
||||
# - tracker-3.0: share/tracker3-miners/extract-rules
|
||||
|
||||
# Extractor module
|
||||
# - tracker-1.0: lib/[arch]/tracker-1.0/extract-modules/libextract-[module].so
|
||||
# - tracker-2.0: lib/[arch]/tracker-miners-2.0/extract-modules/libextract-[module].so
|
||||
# - tracker-3.0: lib/[arch]/tracker-miners-3.0/extract-modules/libextract-[module].so
|
||||
|
||||
IF(TRACKER_INSTALL_API_VERSION EQUAL 3)
|
||||
SET(TRACKER_EXTRACT_RULES_DIR "share/tracker3-miners/extract-rules")
|
||||
SET(TRACKER_EXTRACT_MODULE_DIR "${DIR_INSTALL_LIB}/tracker-miners-3.0/extract-modules")
|
||||
ELSEIF(TRACKER_INSTALL_API_VERSION EQUAL 2)
|
||||
SET(TRACKER_EXTRACT_RULES_DIR "share/tracker-miners/extract-rules")
|
||||
SET(TRACKER_EXTRACT_MODULE_DIR "${DIR_INSTALL_LIB}/tracker-miners-2.0/extract-modules")
|
||||
ELSEIF(TRACKER_INSTALL_API_VERSION EQUAL 1)
|
||||
SET(TRACKER_EXTRACT_RULES_DIR "share/tracker/extract-rules")
|
||||
SET(TRACKER_EXTRACT_MODULE_DIR "${DIR_INSTALL_LIB}/tracker-1.0/extract-modules")
|
||||
ENDIF()
|
||||
|
||||
SET(RULE_FILES
|
||||
rules/14-rp-application-packages.rule
|
||||
rules/14-rp-audio.rule
|
||||
@ -86,12 +130,12 @@ IF(0) #BUILD_TRACKER_EXTRACTOR)
|
||||
rules/14-rp-textures.rule
|
||||
)
|
||||
INSTALL(FILES ${RULE_FILES}
|
||||
DESTINATION "share/tracker-miners/extract-rules"
|
||||
DESTINATION "${TRACKER_EXTRACT_RULES_DIR}"
|
||||
COMPONENT "plugin"
|
||||
)
|
||||
|
||||
# Extractor module
|
||||
# - tracker-1.0: lib/[arch]/tracker-1.0/extract-modules/libextract-[module].so
|
||||
# - tracker-2.0: lib/[arch]/tracker-miners-2.0/extract-modules/libextract-[module].so
|
||||
# - tracker-3.0: lib/[arch]/tracker-miners-3.0/extract-modules/libextract-[module].so
|
||||
ENDIF(0) #BUILD_TRACKER_EXTRACTOR)
|
||||
INSTALL(TARGETS ${PROJECT_NAME}
|
||||
DESTINATION "${TRACKER_EXTRACT_MODULE_DIR}"
|
||||
COMPONENT "plugin"
|
||||
)
|
||||
ENDIF(BUILD_TRACKER_EXTRACTOR)
|
||||
|
Loading…
Reference in New Issue
Block a user