Skip to content

Commit

Permalink
[WPE] Make libgbm and libdrm conditional dependencies
Browse files Browse the repository at this point in the history
https://bugs.webkit.org/show_bug.cgi?id=255393

Reviewed by Žan Doberšek.

Like in 248522@main for GTK.

* Source/cmake/OptionsWPE.cmake:
- Make libgbm and libdrm conditional dependencies

Canonical link: https://commits.webkit.org/263491@main
  • Loading branch information
blino authored and zdobersek committed Apr 28, 2023
1 parent c43b814 commit 009bcae
Showing 1 changed file with 19 additions and 4 deletions.
23 changes: 19 additions & 4 deletions Source/cmake/OptionsWPE.cmake
Expand Up @@ -14,11 +14,9 @@ set(USER_AGENT_BRANDING "" CACHE STRING "Branding to add to user agent string")
find_package(Cairo 1.16.0 REQUIRED)
find_package(Fontconfig 2.13.0 REQUIRED)
find_package(Freetype 2.9.0 REQUIRED)
find_package(GBM REQUIRED)
find_package(HarfBuzz 1.4.2 REQUIRED COMPONENTS ICU)
find_package(ICU 61.2 REQUIRED COMPONENTS data i18n uc)
find_package(JPEG REQUIRED)
find_package(LibDRM REQUIRED)
find_package(LibEpoxy 1.4.0 REQUIRED)
find_package(LibGcrypt 1.6.0 REQUIRED)
find_package(LibXml2 2.8.0 REQUIRED)
Expand Down Expand Up @@ -97,6 +95,7 @@ WEBKIT_OPTION_DEFINE(ENABLE_INTROSPECTION "Whether to enable GObject introspecti
WEBKIT_OPTION_DEFINE(ENABLE_JOURNALD_LOG "Whether to enable journald logging" PUBLIC ON)
WEBKIT_OPTION_DEFINE(ENABLE_WPE_QT_API "Whether to enable support for the Qt5/QML plugin" PUBLIC ${ENABLE_DEVELOPER_MODE})
WEBKIT_OPTION_DEFINE(ENABLE_WPE_1_1_API "Whether to build WPE 1.1 instead of WPE 2.0" PUBLIC OFF)
WEBKIT_OPTION_DEFINE(USE_GBM "Whether to enable usage of GBM and libdrm." PUBLIC ON)
WEBKIT_OPTION_DEFINE(USE_JPEGXL "Whether to enable support for JPEG-XL images." PUBLIC ${ENABLE_EXPERIMENTAL_FEATURES})
WEBKIT_OPTION_DEFINE(USE_LCMS "Whether to enable support for image color management using libcms2." PUBLIC ON)
WEBKIT_OPTION_DEFINE(USE_OPENJPEG "Whether to enable support for JPEG2000 images." PUBLIC ON)
Expand Down Expand Up @@ -355,7 +354,6 @@ SET_AND_EXPOSE_TO_BUILD(HAVE_ACCESSIBILITY ${ENABLE_ACCESSIBILITY})
SET_AND_EXPOSE_TO_BUILD(USE_ATSPI ${ENABLE_ACCESSIBILITY})
SET_AND_EXPOSE_TO_BUILD(USE_CAIRO TRUE)
SET_AND_EXPOSE_TO_BUILD(USE_EGL TRUE)
SET_AND_EXPOSE_TO_BUILD(USE_GBM TRUE)
SET_AND_EXPOSE_TO_BUILD(USE_GCRYPT TRUE)
SET_AND_EXPOSE_TO_BUILD(USE_LIBEPOXY TRUE)
SET_AND_EXPOSE_TO_BUILD(USE_LIBWPE TRUE)
Expand All @@ -376,13 +374,30 @@ endif ()

SET_AND_EXPOSE_TO_BUILD(USE_TEXTURE_MAPPER TRUE)
SET_AND_EXPOSE_TO_BUILD(USE_TEXTURE_MAPPER_GL TRUE)
SET_AND_EXPOSE_TO_BUILD(USE_TEXTURE_MAPPER_DMABUF TRUE)
SET_AND_EXPOSE_TO_BUILD(USE_COORDINATED_GRAPHICS TRUE)
SET_AND_EXPOSE_TO_BUILD(USE_NICOSIA TRUE)
SET_AND_EXPOSE_TO_BUILD(USE_ANGLE ${ENABLE_WEBGL})
SET_AND_EXPOSE_TO_BUILD(USE_THEME_ADWAITA TRUE)
SET_AND_EXPOSE_TO_BUILD(HAVE_OS_DARK_MODE_SUPPORT 1)

if (USE_GBM)
# ANGLE-backed WebGL depends on DMABuf support, which at the moment is leveraged
# through libgbm and libdrm dependencies. When libgbm is enabled, make
# libdrm a requirement and define the USE_LIBGBM and USE_TEXTURE_MAPPER_DMABUF
# macros. When not available, ANGLE will be used in slower software-rasterization mode.
find_package(GBM)
if (NOT GBM_FOUND)
message(FATAL_ERROR "GBM is required for USE_GBM")
endif ()

find_package(LibDRM)
if (NOT LIBDRM_FOUND)
message(FATAL_ERROR "libdrm is required for USE_GBM")
endif ()

SET_AND_EXPOSE_TO_BUILD(USE_TEXTURE_MAPPER_DMABUF TRUE)
endif ()

# GUri is available in GLib since version 2.66, but we only want to use it if version is >= 2.67.1.
if (PC_GLIB_VERSION VERSION_GREATER "2.67.1" OR PC_GLIB_VERSION STREQUAL "2.67.1")
SET_AND_EXPOSE_TO_BUILD(HAVE_GURI 1)
Expand Down

0 comments on commit 009bcae

Please sign in to comment.