diff options
Diffstat (limited to 'src/core/api/configure.cmake')
-rw-r--r-- | src/core/api/configure.cmake | 73 |
1 files changed, 59 insertions, 14 deletions
diff --git a/src/core/api/configure.cmake b/src/core/api/configure.cmake index 09f674435..f8488c057 100644 --- a/src/core/api/configure.cmake +++ b/src/core/api/configure.cmake @@ -1,14 +1,19 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: BSD-3-Clause + #### Libraries if(NOT QT_CONFIGURE_RUNNING) - find_package(GLIB2 COMPONENTS gio) + find_package(GLIB2 COMPONENTS GIO) find_package(GSSAPI) find_package(PkgConfig) - if(PkgConfig_FOUND) + if(PkgConfig_FOUND AND QT_FEATURE_pkg_config) pkg_check_modules(ALSA alsa IMPORTED_TARGET) pkg_check_modules(PULSEAUDIO libpulse>=0.9.10 libpulse-mainloop-glib) pkg_check_modules(XDAMAGE xdamage) pkg_check_modules(POPPLER_CPP poppler-cpp IMPORTED_TARGET) + pkg_check_modules(GBM gbm) + pkg_check_modules(LIBVA libva>=1.14) if(NOT GIO_FOUND) pkg_check_modules(GIO gio-2.0) endif() @@ -59,9 +64,9 @@ qt_feature("webengine-system-alsa" PRIVATE LABEL "Use ALSA" CONDITION UNIX AND TEST_alsa ) -qt_feature("webengine-v8-snapshot-support" PRIVATE - LABEL "Building v8 snapshot supported" - CONDITION NOT UNIX OR NOT QT_FEATURE_cross_compile OR ( TEST_architecture_arch STREQUAL arm64 ) OR TEST_webengine_host_compiler +qt_feature("webengine-v8-context-snapshot" PRIVATE + LABEL "Use v8 context snapshot" + AUTODETECT NOT CMAKE_CROSSCOMPILING ) qt_feature("webengine-geolocation" PUBLIC LABEL "Geolocation" @@ -72,6 +77,12 @@ qt_feature("webengine-system-pulseaudio" PRIVATE AUTODETECT UNIX CONDITION PULSEAUDIO_FOUND ) +qt_feature("webengine-system-gbm" PRIVATE + SECTION "WebEngine" + LABEL "Use system GBM" + AUTODETECT UNIX + CONDITION GBM_FOUND +) qt_feature("webengine-printing-and-pdf" PRIVATE LABEL "Printing and PDF" PURPOSE "Provides printing and output to PDF." @@ -147,9 +158,32 @@ qt_feature("webengine-sanitizer" PRIVATE AUTODETECT CLANG CONDITION CLANG AND ECM_ENABLE_SANITIZERS ) +qt_feature("webengine-vulkan" PRIVATE + SECTION "WebEngine" + LABEL "Vulkan support" + PURPOSE "Enables support for Vulkan rendering" + CONDITION QT_FEATURE_vulkan +) +qt_feature("webengine-vaapi" PRIVATE + SECTION "WebEngine" + LABEL "VA-API support" + PURPOSE "Enables support for VA-API hardware acceleration" + AUTODETECT GBM_FOUND AND LIBVA_FOUND AND QT_FEATURE_vulkan + # hardware accelerated encoding requires bundled libvpx + CONDITION LINUX AND NOT QT_FEATURE_webengine_system_libvpx +) +list(LENGTH CMAKE_OSX_ARCHITECTURES osx_arch_count) +qt_feature("webenginedriver" PUBLIC + SECTION "WebEngine" + LABEL "Build WebEngineDriver" + PURPOSE "Enables WebEngineDriver build" + CONDITION NOT CMAKE_CROSSCOMPILING + AND NOT (CMAKE_OSX_ARCHITECTURES AND osx_arch_count GREATER 1) + DISABLE CMAKE_BUILD_TYPE STREQUAL Debug +) # internal testing feature qt_feature("webengine-system-poppler" PRIVATE - LABEL "popler" + LABEL "poppler" CONDITION UNIX AND TEST_poppler ) qt_configure_add_summary_section(NAME "Qt WebEngineCore") @@ -175,17 +209,23 @@ qt_configure_add_summary_entry( CONDITION UNIX ) qt_configure_add_summary_entry( - ARGS "webengine-v8-snapshot-support" - CONDITION UNIX AND cross_compile + ARGS "webengine-vulkan" + CONDITION QT_FEATURE_vulkan +) +qt_configure_add_summary_entry( + ARGS "webengine-vaapi" + CONDITION LINUX ) qt_configure_add_summary_entry( ARGS "webengine-system-alsa" - CONDITION UNIX + CONDITION LINUX ) qt_configure_add_summary_entry( ARGS "webengine-system-pulseaudio" - CONDITION UNIX + CONDITION LINUX ) +qt_configure_add_summary_entry(ARGS "webengine-v8-context-snapshot") +qt_configure_add_summary_entry(ARGS "webenginedriver") qt_configure_end_summary_section() # end of "Qt WebEngineCore" section if(CMAKE_CROSSCOMPILING) check_thumb(armThumb) @@ -200,11 +240,16 @@ if(CMAKE_CROSSCOMPILING) endif() qt_configure_add_report_entry( TYPE WARNING - MESSAGE "V8 snapshot cannot be built. Most likely, the 32-bit host compiler does not work. Please make sure you have 32-bit devel environment installed." - CONDITION UNIX AND cross_compile AND NOT QT_FEATURE_webengine_v8_snapshot_support + MESSAGE "WebRTC requires XDamage with qpa_xcb." + CONDITION QT_FEATURE_webengine_ozone_x11 AND NOT XDAMAGE_FOUND +) +qt_configure_add_report_entry( + TYPE WARNING + MESSAGE "VA-API is incompatible with system libvpx." + CONDITION QT_FEATURE_webengine_system_libvpx AND QT_FEATURE_webengine_vaapi ) qt_configure_add_report_entry( TYPE WARNING - MESSAGE "WebRTC requires XDamage with qpa_xcb." - CONDITION QT_FEATURE_webengine_ozone_x11 AND NOT XDAMAGE_FOUND + MESSAGE "System GBM is disabled. The bundled minigbm supports Intel only, you might need to install libgbm to avoid rendering issues." + CONDITION LINUX AND NOT QT_FEATURE_webengine_system_gbm ) |