CMake: Fix dbus automagic

Allows to disable dbus usage even on systems where dbus is installed.
This commit is contained in:
Haelwenn (lanodan) Monnier 2025-04-20 04:42:08 +02:00
parent 48e22d246d
commit cd534b4462
4 changed files with 13 additions and 6 deletions

View File

@ -307,6 +307,7 @@ if(UNIX)
endif()
unset(FLTK_GRAPHICS_CAIRO CACHE)
set(FLTK_GRAPHICS_CAIRO TRUE CACHE BOOL "all drawing to X11 windows uses Cairo")
option(FLTK_USE_DBUS "use D-Bus" ON)
option(FLTK_USE_SYSTEM_LIBDECOR "use libdecor from the system" ON)
set(USE_SYSTEM_LIBDECOR 1)
unset(FLTK_USE_XRENDER CACHE)

View File

@ -44,9 +44,12 @@ if(WIN32)
elseif(APPLE AND NOT FLTK_BACKEND_X11)
list(APPEND FLTK_LDLIBS ${FLTK_COCOA_FRAMEWORKS})
elseif(FLTK_BACKEND_WAYLAND)
foreach(_lib WLDCURSOR WLDCLIENT XKBCOMMON DBUS)
foreach(_lib WLDCURSOR WLDCLIENT XKBCOMMON)
list(APPEND FLTK_LDLIBS "${${_lib}_LDFLAGS}")
endforeach()
if(FLTK_USE_DBUS)
list(APPEND FLTK_LDLIBS "${DBUS_LDFLAGS}")
endif(FLTK_USE_DBUS)
if(USE_SYSTEM_LIBDECOR)
list(APPEND FLTK_LDLIBS ${SYSTEM_LIBDECOR_LDFLAGS})
endif(USE_SYSTEM_LIBDECOR)

View File

@ -334,6 +334,7 @@ if(FLTK_BACKEND_WAYLAND)
else()
fl_summary("" "Libdecor = Bundled")
endif()
fl_summary_yn("Use DBUS" DBUS_FOUND)
endif(FLTK_BACKEND_WAYLAND)
message("")

View File

@ -533,14 +533,16 @@ if(FLTK_USE_X11)
endif(FLTK_USE_X11)
if(FLTK_BACKEND_WAYLAND)
pkg_check_modules(DBUS IMPORTED_TARGET dbus-1)
set(IDIRS "${CMAKE_CURRENT_BINARY_DIR}")
set(CDEFS "_GNU_SOURCE;HAVE_MEMFD_CREATE;HAVE_MKOSTEMP;HAVE_POSIX_FALLOCATE")
set(COPTS "-fPIC")
if(DBUS_FOUND)
set(CDEFS "${CDEFS};HAS_DBUS")
set(IDIRS "${IDIRS};${DBUS_INCLUDE_DIRS}")
endif(DBUS_FOUND)
if(FLTK_USE_DBUS)
pkg_check_modules(DBUS IMPORTED_TARGET dbus-1)
if(DBUS_FOUND)
set(CDEFS "${CDEFS};HAS_DBUS")
set(IDIRS "${IDIRS};${DBUS_INCLUDE_DIRS}")
endif(DBUS_FOUND)
endif(FLTK_USE_DBUS)
if(USE_SYSTEM_LIBDECOR)
set(CDEFS "${CDEFS};USE_SYSTEM_LIBDECOR;LIBDECOR_PLUGIN_DIR=${LIBDECOR_PLUGIN_DIR}")
if(GTK_FOUND)