Make QtWebEngine an optional requirement
authorPino Toscano <pino@debian.org>
Wed, 1 Mar 2023 10:57:56 +0000 (10:57 +0000)
committerAurélien COUDERC <coucouf@debian.org>
Wed, 1 Mar 2023 10:57:56 +0000 (10:57 +0000)
Forwarded: no
Last-Update: 2022-12-17

This makes it possible to build konqueror, albeith without an HTML component,
also on architectures that do not have QtWebEngine.

Gbp-Pq: Name optional-qtwebengine.diff

CMakeLists.txt
autotests/CMakeLists.txt
libkonq/src/CMakeLists.txt
plugins/CMakeLists.txt
src/urlloader.cpp

index bcffe9af286d27c5182a6f8dc0b5787a71a1d376..2d5b220c4dbeb28a9000ec3654f702a50515aec6 100644 (file)
@@ -32,19 +32,24 @@ include(GenerateExportHeader)
 set(KONQUEROR_LIB_VERSION "${RELEASE_SERVICE_VERSION}")
 set(KONQUEROR_VERSION "${KONQUEROR_LIB_VERSION}")
 
-find_package(Qt5 ${QT_MIN_VERSION} REQUIRED COMPONENTS Core Widgets WebEngineWidgets)
+find_package(Qt5 ${QT_MIN_VERSION} REQUIRED COMPONENTS Core Widgets)
+find_package(Qt5WebEngineWidgets ${QT_MIN_VERSION})
 find_package(KF5 ${KF5_MIN_VERSION} REQUIRED COMPONENTS Parts KCMUtils Archive Crash WindowSystem Init IconThemes DBusAddons GuiAddons)
 
 find_package(KF5 ${KF5_MIN_VERSION} COMPONENTS Activities DocTools) # Optional
 
 find_package(Hunspell)
 
-if(NOT Qt5WebEngineWidgets_VERSION VERSION_LESS "5.13.0")
-  add_definitions(-DWEBENGINE_PDF_VIEWER)
-endif()
+if(Qt5WebEngineWidgets_FOUND)
+  if(NOT Qt5WebEngineWidgets_VERSION VERSION_LESS "5.13.0")
+    add_definitions(-DWEBENGINE_PDF_VIEWER)
+  endif()
 
-if(Qt5WebEngineWidgets_VERSION VERSION_LESS "5.14.0")
-  add_definitions(-DWEBENGINEDOWNLOADITEM_USE_PATH)
+  if(Qt5WebEngineWidgets_VERSION VERSION_LESS "5.14.0")
+    add_definitions(-DWEBENGINEDOWNLOADITEM_USE_PATH)
+  endif()
+else()
+  add_definitions(-DNO_WEBENGINE)
 endif()
 
 option(WITHOUT_X11 "Build without X11 integration (skips finding Qt5X11Extras)" OFF)
@@ -80,7 +85,9 @@ add_subdirectory( client )
 if(BUILD_TESTING)
     add_subdirectory( autotests )
 endif()
-add_subdirectory( webenginepart )
+if(Qt5WebEngineWidgets_FOUND)
+    add_subdirectory( webenginepart )
+endif()
 
 add_subdirectory( pics )
 add_subdirectory( sidebar )
index 6366176cdd90b82bfe0e6533d084b63865a73dbe..412f16b0546f0f96032e062c8666298acc811543 100644 (file)
@@ -7,8 +7,10 @@ include_directories( ${CMAKE_CURRENT_SOURCE_DIR}/..  )
 
 ########### konqviewmgrtest ###############
 
-ecm_add_test(konqviewmgrtest.cpp
-    LINK_LIBRARIES kdeinit_konqueror Qt5::Core Qt5::Gui kwebenginepartlib Qt5::WebEngineWidgets Qt5::Test)
+if (Qt5WebEngineWidgets_FOUND)
+  ecm_add_test(konqviewmgrtest.cpp
+      LINK_LIBRARIES kdeinit_konqueror Qt5::Core Qt5::Gui kwebenginepartlib Qt5::WebEngineWidgets Qt5::Test)
+endif()
 
 ########### historymanagertest ###############
 
@@ -22,8 +24,10 @@ ecm_add_test(undomanagertest.cpp
 
 ########### konqhtmltest ###############
 
-ecm_add_test(konqhtmltest.cpp
-    LINK_LIBRARIES kdeinit_konqueror kwebenginepartlib Qt5::Core Qt5::Test)
+if (Qt5WebEngineWidgets_FOUND)
+  ecm_add_test(konqhtmltest.cpp
+      LINK_LIBRARIES kdeinit_konqueror kwebenginepartlib Qt5::Core Qt5::Test)
+endif()
 
 ########### konqviewtest ###############
 
index 9449fec3d97f7d069eb892fa7cc954327fce3e01..cc936ef1f2ec73fa8a37d198e68d32c5080ca211 100644 (file)
@@ -29,12 +29,14 @@ target_link_libraries(KF5Konq
     KF5::CoreAddons
     KF5::Service
     KF5::Parts
-    Qt5::WebEngineWidgets
     PRIVATE
     KF5::Bookmarks
     KF5::I18n
     ${ZLIB_LIBRARY}
 )
+if(Qt5WebEngineWidgets_FOUND)
+  target_link_libraries(KF5Konq PUBLIC Qt5::WebEngineWidgets)
+endif()
 
 # For crc32 in konq_historyloader.cpp
 target_include_directories(KF5Konq PRIVATE ${ZLIB_INCLUDE_DIR})
index efc3c02eae293f0e7f54b19b5b9f56d95608a513..ed4d56e4b84c5f97bf8b426251d8a4861923fc5b 100644 (file)
@@ -23,7 +23,11 @@ add_subdirectory( kimgalleryplugin )
 add_subdirectory( dirfilter )
 add_subdirectory( uachanger )
 add_subdirectory( babelfish )
-add_subdirectory( webarchiver )
+
+if (Qt5WebEngineWidgets_FOUND)
+   add_subdirectory( webarchiver )
+endif()
+
 add_subdirectory( kget )
 
 if (Qt5TextToSpeech_FOUND)
index d163225d51443e4ed6df4352cc5c7bb71c16bf34..863f1e3b004c0aa62881efaf3dc7097a6d78ec83 100644 (file)
@@ -30,9 +30,7 @@
 
 #include <QDebug>
 #include <QArgument>
-#include <QWebEngineProfile>
 #include <QMimeDatabase>
-#include <QWebEngineProfile>
 #include <QFileDialog>
 
 bool UrlLoader::embedWithoutAskingToSave(const QString &mimeType)
@@ -60,7 +58,11 @@ UrlLoader::UrlLoader(KonqMainWindow *mainWindow, KonqView *view, const QUrl &url
     QObject(mainWindow), m_mainWindow(mainWindow), m_url(url), m_mimeType(mimeType), m_request(req), m_view(view), m_trustedSource(trustedSource), m_dontEmbed(dontEmbed),
     m_jobErrorCode(0), m_protocolAllowsReading(KProtocolManager::supportsReading(m_url))
 {
+#ifndef NO_WEBENGINE
     m_dontPassToWebEnginePart = m_request.args.metaData().contains("DontSendToDefaultHTMLPart");
+#else
+    m_dontPassToWebEnginePart = true;
+#endif
 }
 
 UrlLoader::~UrlLoader()