[gtk3] Add a Caja extension description file.

Nemo uses a GObject interface for this, whereas Caja uses a file.

FIXME: Caja shows the same description for both the property page and the
menu extensions. Either figure out a way to disambiguate them, or combine
the two plugins into a single plugin with multiple interfaces.
This commit is contained in:
David Korth 2024-09-26 21:28:10 -04:00
parent d53371138c
commit ee2bcb1ba4
3 changed files with 23 additions and 1 deletions

View File

@ -5,6 +5,7 @@
# - LibCajaExtension_LIBRARIES: libcaja-extension libraries.
# - LibCajaExtension_DEFINITIONS: Compiler switches required for using libcaja-extension.
# - LibCajaExtension_EXTENSION_DIR: Extensions directory. (for installation)
# - LibCajaExtension_EXTENSION_DESC_DIR: Extensions description directory. (for installation)
#
# In addition, a target Gnome::libcaja-extension will be created with all of
# these definitions.
@ -22,9 +23,13 @@ FIND_LIBRARY_PKG_CONFIG(LibCajaExtension
Mate::libcaja-extension # imported target
)
# Extensions directory.
# Extensions library directory
IF(LibCajaExtension_FOUND AND NOT LibCajaExtension_EXTENSION_DIR)
MESSAGE(WARNING "LibCajaExtension_EXTENSION_DIR is not set; using defaults.")
INCLUDE(DirInstallPaths)
SET(LibCajaExtension_EXTENSION_DIR "${CMAKE_INSTALL_PREFIX}/${DIR_INSTALL_LIB}/caja/extensions-2.0" CACHE INTERNAL "LibCajaExtension_EXTENSION_DIR")
ENDIF(LibCajaExtension_FOUND AND NOT LibCajaExtension_EXTENSION_DIR)
# Extensions descriptions directory
# NOTE: Not in the pkgconfig file.
SET(LibCajaExtension_EXTENSION_DESC_DIR "${CMAKE_INSTALL_PREFIX}/share/caja/extensions" CACHE INTERNAL "LibCajaExtension_EXTENSION_DESC_DIR")

View File

@ -86,6 +86,9 @@ IF(ENABLE_ACHIEVEMENTS)
SET(${PROJECT_NAME}-notify_SRCS ${${PROJECT_NAME}-notify_SRCS})
ENDIF(ENABLE_ACHIEVEMENTS)
# Write the caja-extension file.
CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}.caja-extension.in" "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.caja-extension")
# Sources and headers (GTK3-specific)
SET(${PROJECT_NAME}_SRCS
${${PROJECT_NAME}_SRCS}
@ -201,6 +204,12 @@ IF(BUILD_GTK3)
COMPONENT "plugin"
)
# Install the Caja extension description file.
INSTALL(FILES "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.caja-extension"
DESTINATION "${LibCajaExtension_EXTENSION_DESC_DIR}"
COMPONENT "plugin"
)
# Check if a split debug file should be installed.
IF(INSTALL_DEBUG)
# FIXME: Generator expression $<TARGET_PROPERTY:${_target},PDB> didn't work with CPack-3.6.1.

View File

@ -0,0 +1,8 @@
[Caja Extension]
Icon=media-flash
Name=ROM Properties Page shell extension
Description=Provides a properties page and thumbnails for various ROM image, disc image, and texture file formats.
Author=David Korth <gerbilsoft@gerbilsoft.com>
Copyright=Copyright (c) 2016-2024 by David Korth
Version=@VERSION_STRING@
Website=https://github.com/GerbilSoft/rom-properties