mirror of
https://github.com/GerbilSoft/rom-properties.git
synced 2025-06-19 03:55:43 -04:00
Fix some issues causing XFCE to be incorrectly enabled if GTK2 is missing.
BUILD_XFCE is an option; BUILD_GTK2 is not. We should probably get rid of BUILD_GTK2 entirely, since I'm not planning on adding support for GNOME 2 Nautilus anytime soon. Also, don't attempt to build rom-properties-glib if none of the GTK UI frontends are being built. Fixes CMake issues when building on KDE Neon. (KF6 testing)
This commit is contained in:
parent
ef20c58260
commit
16554a91aa
@ -167,10 +167,10 @@ ENDIF(BUILD_KDE4)
|
|||||||
IF(BUILD_KF5)
|
IF(BUILD_KF5)
|
||||||
SET(UI_FRONTENDS "${UI_FRONTENDS} KF5")
|
SET(UI_FRONTENDS "${UI_FRONTENDS} KF5")
|
||||||
ENDIF(BUILD_KF5)
|
ENDIF(BUILD_KF5)
|
||||||
IF(BUILD_GTK2)
|
IF(BUILD_XFCE)
|
||||||
# NOTE: The GTK+ 2.x plugin is XFCE only right now.
|
# NOTE: The GTK+ 2.x plugin is XFCE only right now.
|
||||||
SET(UI_FRONTENDS "${UI_FRONTENDS} XFCE")
|
SET(UI_FRONTENDS "${UI_FRONTENDS} XFCE")
|
||||||
ENDIF(BUILD_GTK2)
|
ENDIF(BUILD_XFCE)
|
||||||
IF(BUILD_GTK3)
|
IF(BUILD_GTK3)
|
||||||
SET(UI_FRONTENDS "${UI_FRONTENDS} GTK3")
|
SET(UI_FRONTENDS "${UI_FRONTENDS} GTK3")
|
||||||
ENDIF(BUILD_GTK3)
|
ENDIF(BUILD_GTK3)
|
||||||
|
@ -26,7 +26,7 @@ IF(UNIX AND NOT APPLE)
|
|||||||
OPTION_UI(KDE4 "Build the KDE4 plugin.")
|
OPTION_UI(KDE4 "Build the KDE4 plugin.")
|
||||||
OPTION_UI(KF5 "Build the KDE Frameworks 5 plugin.")
|
OPTION_UI(KF5 "Build the KDE Frameworks 5 plugin.")
|
||||||
#OPTION_UI(KF6 "Build the KDE Frameworks 6 plugin. (EXPERIMENTAL)") # NOTE: Only enable if debugging!
|
#OPTION_UI(KF6 "Build the KDE Frameworks 6 plugin. (EXPERIMENTAL)") # NOTE: Only enable if debugging!
|
||||||
OPTION_UI(XFCE "Build the XFCE (GTK+ 2.x) plugin.")
|
OPTION_UI(XFCE "Build the XFCE (GTK+ 2.x) plugin. (Thunar 1.7 and earlier)")
|
||||||
OPTION_UI(GTK3 "Build the GTK+ 3.x plugin.")
|
OPTION_UI(GTK3 "Build the GTK+ 3.x plugin.")
|
||||||
OPTION_UI(GTK4 "Build the GTK 4.x plugin. (EXPERIMENTAL)")
|
OPTION_UI(GTK4 "Build the GTK 4.x plugin. (EXPERIMENTAL)")
|
||||||
|
|
||||||
|
@ -184,7 +184,9 @@ IF(GLib2_FOUND AND GObject2_FOUND AND GIO_FOUND AND GIO-UNIX_FOUND)
|
|||||||
FIND_PACKAGE(GdkPixbuf2)
|
FIND_PACKAGE(GdkPixbuf2)
|
||||||
IF(NOT GdkPixbuf2_FOUND)
|
IF(NOT GdkPixbuf2_FOUND)
|
||||||
# Cannot build GTK2 frontends.
|
# Cannot build GTK2 frontends.
|
||||||
SET(BUILD_GTK2 OFF CACHE INTERNAL "Build the GTK+ 2.x plugin." FORCE)
|
SET(BUILD_GTK2 OFF)
|
||||||
|
SET(BUILD_GTK2 OFF PARENT_SCOPE)
|
||||||
|
SET(BUILD_XFCE OFF CACHE INTERNAL "Build the XFCE (GTK+ 2.x) plugin." FORCE)
|
||||||
ENDIF(NOT GdkPixbuf2_FOUND)
|
ENDIF(NOT GdkPixbuf2_FOUND)
|
||||||
FIND_PACKAGE(Cairo)
|
FIND_PACKAGE(Cairo)
|
||||||
IF(NOT Cairo_FOUND)
|
IF(NOT Cairo_FOUND)
|
||||||
@ -194,7 +196,9 @@ IF(GLib2_FOUND AND GObject2_FOUND AND GIO_FOUND AND GIO-UNIX_FOUND)
|
|||||||
ENDIF(NOT Cairo_FOUND)
|
ENDIF(NOT Cairo_FOUND)
|
||||||
ELSE(GLib2_FOUND AND GObject2_FOUND AND GIO_FOUND AND GIO-UNIX_FOUND)
|
ELSE(GLib2_FOUND AND GObject2_FOUND AND GIO_FOUND AND GIO-UNIX_FOUND)
|
||||||
# Cannot build any GTK+ frontends.
|
# Cannot build any GTK+ frontends.
|
||||||
SET(BUILD_GTK2 OFF CACHE INTERNAL "Build the GTK+ 2.x plugin." FORCE)
|
SET(BUILD_GTK2 OFF)
|
||||||
|
SET(BUILD_GTK2 OFF PARENT_SCOPE)
|
||||||
|
SET(BUILD_XFCE OFF CACHE INTERNAL "Build the XFCE (GTK+ 2.x) plugin." FORCE)
|
||||||
SET(BUILD_GTK3 OFF CACHE INTERNAL "Build the GTK+ 3.x plugin." FORCE)
|
SET(BUILD_GTK3 OFF CACHE INTERNAL "Build the GTK+ 3.x plugin." FORCE)
|
||||||
SET(BUILD_GTK4 OFF CACHE INTERNAL "Build the GTK 4.x plugin." FORCE)
|
SET(BUILD_GTK4 OFF CACHE INTERNAL "Build the GTK 4.x plugin." FORCE)
|
||||||
ENDIF(GLib2_FOUND AND GObject2_FOUND AND GIO_FOUND AND GIO-UNIX_FOUND)
|
ENDIF(GLib2_FOUND AND GObject2_FOUND AND GIO_FOUND AND GIO-UNIX_FOUND)
|
||||||
@ -226,6 +230,7 @@ ENDIF(GSound_FOUND)
|
|||||||
# Write the config.h file.
|
# Write the config.h file.
|
||||||
CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/config.gtk.h.in" "${CMAKE_CURRENT_BINARY_DIR}/config.gtk.h")
|
CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/config.gtk.h.in" "${CMAKE_CURRENT_BINARY_DIR}/config.gtk.h")
|
||||||
|
|
||||||
|
IF(BUILD_GTK2 OR BUILD_GTK3 OR BUILD_GTK4)
|
||||||
# GLib common library
|
# GLib common library
|
||||||
ADD_LIBRARY(rom-properties-glib STATIC
|
ADD_LIBRARY(rom-properties-glib STATIC
|
||||||
${${PROJECT_NAME}_GLib_SRCS}
|
${${PROJECT_NAME}_GLib_SRCS}
|
||||||
@ -241,6 +246,7 @@ TARGET_INCLUDE_DIRECTORIES(rom-properties-glib
|
|||||||
TARGET_LINK_LIBRARIES(rom-properties-glib PUBLIC glibresources)
|
TARGET_LINK_LIBRARIES(rom-properties-glib PUBLIC glibresources)
|
||||||
TARGET_LINK_LIBRARIES(rom-properties-glib PUBLIC GLib2::gio-unix GLib2::gio GLib2::gobject GLib2::glib)
|
TARGET_LINK_LIBRARIES(rom-properties-glib PUBLIC GLib2::gio-unix GLib2::gio GLib2::gobject GLib2::glib)
|
||||||
TARGET_LINK_LIBRARIES(rom-properties-glib PRIVATE romdata) # for config.librptext.h
|
TARGET_LINK_LIBRARIES(rom-properties-glib PRIVATE romdata) # for config.librptext.h
|
||||||
|
ENDIF(BUILD_GTK2 OR BUILD_GTK3 OR BUILD_GTK4)
|
||||||
|
|
||||||
# Unix: Add -fpic/-fPIC in order to use this static library in plugins.
|
# Unix: Add -fpic/-fPIC in order to use this static library in plugins.
|
||||||
# NOTE: This will be propagated to subprojects.
|
# NOTE: This will be propagated to subprojects.
|
||||||
@ -250,15 +256,16 @@ IF(UNIX AND NOT APPLE)
|
|||||||
ENDIF(UNIX AND NOT APPLE)
|
ENDIF(UNIX AND NOT APPLE)
|
||||||
|
|
||||||
# Build GTK+ 2.x frontends.
|
# Build GTK+ 2.x frontends.
|
||||||
IF(BUILD_GTK2)
|
IF(BUILD_XFCE)
|
||||||
# GTK2 minimum is 2.18.0. (gtk_widget_set_visible)
|
# GTK2 minimum is 2.18.0. (gtk_widget_set_visible)
|
||||||
FIND_PACKAGE(GTK2 2.18.0 ${REQUIRE_GTK2} COMPONENTS gtk)
|
FIND_PACKAGE(GTK2 2.18.0 ${REQUIRE_GTK2} COMPONENTS gtk)
|
||||||
IF(GTK2_FOUND)
|
IF(GTK2_FOUND)
|
||||||
ADD_SUBDIRECTORY(xfce)
|
ADD_SUBDIRECTORY(xfce)
|
||||||
ELSE(GTK2_FOUND)
|
ELSE(GTK2_FOUND)
|
||||||
SET(BUILD_GTK2 OFF CACHE INTERNAL "Build the GTK+ 2.x plugin." FORCE)
|
SET(BUILD_GTK2 OFF PARENT_SCOPE)
|
||||||
|
SET(BUILD_XFCE OFF CACHE INTERNAL "Build the GTK+ 2.x plugin." FORCE)
|
||||||
ENDIF(GTK2_FOUND)
|
ENDIF(GTK2_FOUND)
|
||||||
ENDIF(BUILD_GTK2)
|
ENDIF(BUILD_XFCE)
|
||||||
|
|
||||||
# Build GTK+ 3.x frontends.
|
# Build GTK+ 3.x frontends.
|
||||||
IF(BUILD_GTK3)
|
IF(BUILD_GTK3)
|
||||||
|
@ -38,7 +38,9 @@ IF(GLib2_FOUND AND GObject2_FOUND AND GIO_FOUND AND GIO-UNIX_FOUND AND GdkPixbuf
|
|||||||
ELSE()
|
ELSE()
|
||||||
# GTK+ 2.x (or required dependencies) were not found.
|
# GTK+ 2.x (or required dependencies) were not found.
|
||||||
# Disable the XFCE frontend.
|
# Disable the XFCE frontend.
|
||||||
SET(BUILD_GTK2 OFF CACHE INTERNAL "Build the XFCE (GTK+ 2.x) plugin. (Thunar 1.7 and earlier)" FORCE)
|
SET(BUILD_GTK2 OFF)
|
||||||
|
SET(BUILD_GTK2 OFF PARENT_SCOPE)
|
||||||
|
SET(BUILD_XFCE OFF CACHE INTERNAL "Build the XFCE (GTK+ 2.x) plugin. (Thunar 1.7 and earlier)" FORCE)
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
# Ensure we don't use functions not available in GLib 2.34.
|
# Ensure we don't use functions not available in GLib 2.34.
|
||||||
@ -110,7 +112,7 @@ IF(HAVE_GSOUND OR (HAVE_LIBCANBERRA AND HAVE_LIBCANBERRA_GTK2))
|
|||||||
SET(${PROJECT_NAME}_H ${${PROJECT_NAME}_H} ../MessageSound.hpp)
|
SET(${PROJECT_NAME}_H ${${PROJECT_NAME}_H} ../MessageSound.hpp)
|
||||||
ENDIF(HAVE_GSOUND OR (HAVE_LIBCANBERRA AND HAVE_LIBCANBERRA_GTK2))
|
ENDIF(HAVE_GSOUND OR (HAVE_LIBCANBERRA AND HAVE_LIBCANBERRA_GTK2))
|
||||||
|
|
||||||
IF(BUILD_GTK2)
|
IF(BUILD_XFCE)
|
||||||
ADD_LIBRARY(${PROJECT_NAME} MODULE ${${PROJECT_NAME}_SRCS} ${${PROJECT_NAME}_H})
|
ADD_LIBRARY(${PROJECT_NAME} MODULE ${${PROJECT_NAME}_SRCS} ${${PROJECT_NAME}_H})
|
||||||
IF(ENABLE_PCH)
|
IF(ENABLE_PCH)
|
||||||
TARGET_PRECOMPILE_HEADERS(${PROJECT_NAME} PRIVATE
|
TARGET_PRECOMPILE_HEADERS(${PROJECT_NAME} PRIVATE
|
||||||
@ -152,13 +154,13 @@ IF(BUILD_GTK2)
|
|||||||
# (Requires removing the "-D" switches.)
|
# (Requires removing the "-D" switches.)
|
||||||
ADD_DEFINITIONS(${GTK2_DEFINITIONS})
|
ADD_DEFINITIONS(${GTK2_DEFINITIONS})
|
||||||
TARGET_COMPILE_DEFINITIONS(${PROJECT_NAME} PRIVATE RP_UI_XFCE)
|
TARGET_COMPILE_DEFINITIONS(${PROJECT_NAME} PRIVATE RP_UI_XFCE)
|
||||||
ENDIF(BUILD_GTK2)
|
ENDIF(BUILD_XFCE)
|
||||||
|
|
||||||
#######################
|
#######################
|
||||||
# Install the plugin. #
|
# Install the plugin. #
|
||||||
#######################
|
#######################
|
||||||
|
|
||||||
IF(BUILD_GTK2)
|
IF(BUILD_XFCE)
|
||||||
# FIXME: ${ThunarX2_EXTENSIONS_DIR} always uses the system prefix.
|
# FIXME: ${ThunarX2_EXTENSIONS_DIR} always uses the system prefix.
|
||||||
# This should be adjusted to ${CMAKE_INSTALL_PREFIX}.
|
# This should be adjusted to ${CMAKE_INSTALL_PREFIX}.
|
||||||
INSTALL(TARGETS ${PROJECT_NAME}
|
INSTALL(TARGETS ${PROJECT_NAME}
|
||||||
@ -177,4 +179,4 @@ IF(BUILD_GTK2)
|
|||||||
)
|
)
|
||||||
ENDIF(DEBUG_FILENAME)
|
ENDIF(DEBUG_FILENAME)
|
||||||
ENDIF(INSTALL_DEBUG)
|
ENDIF(INSTALL_DEBUG)
|
||||||
ENDIF(BUILD_GTK2)
|
ENDIF(BUILD_XFCE)
|
||||||
|
Loading…
Reference in New Issue
Block a user