mirror of
https://github.com/GerbilSoft/rom-properties.git
synced 2025-06-19 03:55:43 -04:00
[gtk] LibNautilusExtension for GTK4 installs its pkgconfig file as libnautilus-extension-4.pc.
Need to explicitly check for v4. Otherwise, the v3 check will fail, and it'll just use defaults. [cmake] FindLibNautilusExtension4.cmake: Add a v4 check file.
This commit is contained in:
parent
32dfd4fe8e
commit
eeebb80f93
30
cmake/libs/FindLibNautilusExtension4.cmake
Normal file
30
cmake/libs/FindLibNautilusExtension4.cmake
Normal file
@ -0,0 +1,30 @@
|
||||
# Find Gnome's libnautilus-extension.so.4 libraries and headers.
|
||||
# If found, the following variables will be defined:
|
||||
# - LibNautilusExtension4_FOUND: System has libnautilus-extension.
|
||||
# - LibNautilusExtension4_INCLUDE_DIRS: libnautilus-extension include directories.
|
||||
# - LibNautilusExtension4_LIBRARIES: libnautilus-extension libraries.
|
||||
# - LibNautilusExtension4_DEFINITIONS: Compiler switches required for using libnautilus-extension.
|
||||
# - LibNautilusExtension4_EXTENSION_DIR: Extensions directory. (for installation)
|
||||
#
|
||||
# In addition, a target Gnome::libnautilus-extension-4 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(LibNautilusExtension4
|
||||
libnautilus-extension-4 # pkgconfig
|
||||
libnautilus-extension/nautilus-properties-item.h # header
|
||||
nautilus-extension # library
|
||||
Gnome::libnautilus-extension-4 # imported target
|
||||
)
|
||||
|
||||
# Extensions directory.
|
||||
IF(LibNautilusExtension4_FOUND AND NOT LibNautilusExtension4_EXTENSION_DIR)
|
||||
MESSAGE(WARNING "LibNautilusExtension4_EXTENSION_DIR is not set; using defaults.")
|
||||
INCLUDE(DirInstallPaths)
|
||||
SET(LibNautilusExtension4_EXTENSION_DIR "${CMAKE_INSTALL_PREFIX}/${DIR_INSTALL_LIB}/nautilus/extensions-4" CACHE INTERNAL "LibNautilusExtension4_EXTENSION_DIR")
|
||||
ENDIF(LibNautilusExtension4_FOUND AND NOT LibNautilusExtension4_EXTENSION_DIR)
|
@ -24,22 +24,21 @@ IF(GLib2_FOUND AND GObject2_FOUND AND GIO_FOUND AND GIO-UNIX_FOUND AND CairoGObj
|
||||
# initialization function is called.
|
||||
|
||||
# Nautilus (GNOME)
|
||||
FIND_PACKAGE(LibNautilusExtension)
|
||||
FIND_PACKAGE(LibNautilusExtension) # v3
|
||||
IF(LibNautilusExtension_FOUND)
|
||||
# Check if it's v3 or v4.
|
||||
IF(LibNautilusExtension_EXTENSION_DIR MATCHES 3\.0$)
|
||||
# v3: Use the directory as-is.
|
||||
SET(LibNautilusExtension3_EXTENSION_DIR "${LibNautilusExtension_EXTENSION_DIR}")
|
||||
ELSEIF(LibNautilusExtension_EXTENSION_DIR MATCHES 4\.0$)
|
||||
# v4: Replace the version number with 3.0.
|
||||
STRING(REPLACE "extensions-4" "extensions-3.0" LibNautilusExtension3_EXTENSION_DIR "${LibNautilusExtension_EXTENSION_DIR}")
|
||||
ELSE()
|
||||
MESSAGE(STATUS "Unrecognized LibNautilusExtension version found. Using the default extensions directory.")
|
||||
SET(LibNautilusExtension3_EXTENSION_DIR "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/nautilus/extensions-3.0")
|
||||
ENDIF()
|
||||
# Found v3.
|
||||
SET(LibNautilusExtension3_EXTENSION_DIR "${LibNautilusExtension_EXTENSION_DIR}")
|
||||
ELSE(LibNautilusExtension_FOUND)
|
||||
MESSAGE(STATUS "LibNautilusExtension not found. Using the default extensions directory.")
|
||||
SET(LibNautilusExtension3_EXTENSION_DIR "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/nautilus/extensions-3.0")
|
||||
# Check if v4 is installed.
|
||||
FIND_PACKAGE(LibNautilusExtension4)
|
||||
IF(LibNautilusExtension4_FOUND)
|
||||
# v4: Replace the version number with 3.0.
|
||||
STRING(REPLACE "extensions-4" "extensions-3.0" LibNautilusExtension3_EXTENSION_DIR "${LibNautilusExtension4_EXTENSION_DIR}")
|
||||
ELSE(LibNautilusExtension4_FOUND)
|
||||
# Neither v3 nor v4 were found.
|
||||
MESSAGE(STATUS "LibNautilusExtension not found. Using the default extensions directory.")
|
||||
SET(LibNautilusExtension3_EXTENSION_DIR "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/nautilus/extensions-3.0")
|
||||
ENDIF(LibNautilusExtension4_FOUND)
|
||||
ENDIF(LibNautilusExtension_FOUND)
|
||||
|
||||
# Caja (MATE)
|
||||
|
@ -19,23 +19,21 @@ IF(GLib2_FOUND AND GObject2_FOUND AND GIO_FOUND AND GIO-UNIX_FOUND AND GdkPixbuf
|
||||
# initialization function is called.
|
||||
|
||||
# Nautilus (GNOME)
|
||||
FIND_PACKAGE(LibNautilusExtension)
|
||||
IF(LibNautilusExtension_FOUND)
|
||||
# Check if it's v3 or v4.
|
||||
IF(LibNautilusExtension_EXTENSION_DIR MATCHES 4\.0$)
|
||||
# v4: Use the directory as-is.
|
||||
SET(LibNautilusExtension4_EXTENSION_DIR "${LibNautilusExtension_EXTENSION_DIR}")
|
||||
ELSEIF(LibNautilusExtension_EXTENSION_DIR MATCHES 3\.0$)
|
||||
FIND_PACKAGE(LibNautilusExtension4) # v4
|
||||
IF(LibNautilusExtension4_FOUND)
|
||||
# Found v4.
|
||||
ELSE(LibNautilusExtension4_FOUND)
|
||||
# Check if v3 is installed.
|
||||
FIND_PACKAGE(LibNautilusExtension)
|
||||
IF(LibNautilusExtension)
|
||||
# v3: Replace the version number with 4.
|
||||
STRING(REPLACE "extensions-3.0" "extensions-4.0" LibNautilusExtension4_EXTENSION_DIR "${LibNautilusExtension_EXTENSION_DIR}")
|
||||
ELSE()
|
||||
MESSAGE(STATUS "Unrecognized LibNautilusExtension version found. Using the default extensions directory.")
|
||||
STRING(REPLACE "extensions-3.0" "extensions-4.0" LibNautilusExtension4_EXTENSION_DIR "${LibNautilusExtension_EXTENSION_DIR}")
|
||||
ELSE(LibNautilusExtension)
|
||||
# Neither v3 nor v4 were found.
|
||||
MESSAGE(STATUS "LibNautilusExtension4 not found. Using the default extensions directory.")
|
||||
SET(LibNautilusExtension4_EXTENSION_DIR "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/nautilus/extensions-4")
|
||||
ENDIF()
|
||||
ELSE(LibNautilusExtension_FOUND)
|
||||
MESSAGE(STATUS "LibNautilusExtension not found. Using the default extensions directory.")
|
||||
SET(LibNautilusExtension4_EXTENSION_DIR "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/nautilus/extensions-4")
|
||||
ENDIF(LibNautilusExtension_FOUND)
|
||||
ENDIF(LibNautilusExtension)
|
||||
ENDIF(LibNautilusExtension4_FOUND)
|
||||
ELSE()
|
||||
# GTK 4.x (or required dependencies) were not found.
|
||||
# Disable the GTK4 frontend.
|
||||
|
@ -68,25 +68,23 @@ IF(BUILD_GTK2)
|
||||
ENDIF(BUILD_GTK2)
|
||||
IF(BUILD_GTK3 OR BUILD_GTK4)
|
||||
# Nautilus (GNOME)
|
||||
FIND_PACKAGE(LibNautilusExtension)
|
||||
IF(LibNautilusExtension_FOUND)
|
||||
# Check if it's v3 or v4.
|
||||
IF(LibNautilusExtension_EXTENSION_DIR MATCHES 3\.0$)
|
||||
SET(LibNautilusExtension3_EXTENSION_DIR "${LibNautilusExtension_EXTENSION_DIR}")
|
||||
STRING(REPLACE "extensions-3.0" "extensions-4" LibNautilusExtension4_EXTENSION_DIR "${LibNautilusExtension_EXTENSION_DIR}")
|
||||
ELSEIF(LibNautilusExtension_EXTENSION_DIR MATCHES 4\.0$)
|
||||
STRING(REPLACE "extensions-4" "extensions-3.0" LibNautilusExtension3_EXTENSION_DIR "${LibNautilusExtension_EXTENSION_DIR}")
|
||||
SET(LibNautilusExtension4_EXTENSION_DIR "${LibNautilusExtension_EXTENSION_DIR}")
|
||||
ELSE()
|
||||
MESSAGE(STATUS "Unrecognized LibNautilusExtension version found. Using the default extensions directory.")
|
||||
SET(LibNautilusExtension3_EXTENSION_DIR "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/nautilus/extensions-3.0")
|
||||
SET(LibNautilusExtension4_EXTENSION_DIR "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/nautilus/extensions-4")
|
||||
ENDIF()
|
||||
ELSE(LibNautilusExtension_FOUND)
|
||||
FIND_PACKAGE(LibNautilusExtension) # v3
|
||||
FIND_PACKAGE(LibNautilusExtension4) # v4
|
||||
IF(LibNautilusExtension_FOUND AND LibNautilusExtnsion4_FOUND)
|
||||
# Found both versions. (...not normally possible?)
|
||||
ELSEIF(LibNautilusExtension_FOUND)
|
||||
# Found v3 but not v4. Use defaults for v4.
|
||||
SET(LibNautilusExtension3_EXTENSION_DIR "${LibNautilusExtension_EXTENSION_DIR}")
|
||||
STRING(REPLACE "extensions-3.0" "extensions-4" LibNautilusExtension4_EXTENSION_DIR "${LibNautilusExtension_EXTENSION_DIR}")
|
||||
ELSEIF(LibNautilusExtension4_FOUND)
|
||||
# Found v4 but not v3. Use defaults for v3.
|
||||
STRING(REPLACE "extensions-4" "extensions-3.0" LibNautilusExtension3_EXTENSION_DIR "${LibNautilusExtension_EXTENSION_DIR}")
|
||||
ELSE()
|
||||
# Neither v3 nor v4 were found.
|
||||
MESSAGE(STATUS "LibNautilusExtension not found. Using the default extensions directory.")
|
||||
SET(LibNautilusExtension3_EXTENSION_DIR "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/nautilus/extensions-3.0")
|
||||
SET(LibNautilusExtension4_EXTENSION_DIR "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/nautilus/extensions-4")
|
||||
ENDIF(LibNautilusExtension_FOUND)
|
||||
ENDIF()
|
||||
ENDIF(BUILD_GTK3 OR BUILD_GTK4)
|
||||
|
||||
# Check for C library functions.
|
||||
|
Loading…
Reference in New Issue
Block a user