From b43f73a1f12edbde2b174028e5adcbfa03390869 Mon Sep 17 00:00:00 2001 From: Nyall Dawson Date: Wed, 20 Dec 2023 12:30:24 +1000 Subject: [PATCH] Make building PDF4Qt optional, and opt-in There's some added dependancies required for building this, so let's play it safe for now... --- CMakeLists.txt | 8 ++++++++ cmake_templates/qgsconfig.h.in | 2 ++ src/core/CMakeLists.txt | 8 +++++--- 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 244ee547fb3..45d82aa338d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -492,6 +492,14 @@ if(WITH_CORE) set (HAVE_QTGAMEPAD TRUE) endif() + set (WITH_PDF4QT FALSE CACHE BOOL "Determines whether the embedded PDF4Qt library should be build for PDF and HTML to QPainter conversion") + if (WITH_PDF4QT) + set(HAVE_PDF4QT TRUE) # used in qgisconfig.h + message(STATUS "PDF4Qt enabled") + else() + message(STATUS "PDF4Qt disabled") + endif() + find_package(${QT_VERSION_BASE} COMPONENTS Core Gui Widgets Network Xml Svg Concurrent Test Sql Positioning REQUIRED) if (BUILD_WITH_QT6) find_package(${QT_VERSION_BASE} COMPONENTS Core5Compat REQUIRED) diff --git a/cmake_templates/qgsconfig.h.in b/cmake_templates/qgsconfig.h.in index 0ed93b22edc..6eaca0c237d 100644 --- a/cmake_templates/qgsconfig.h.in +++ b/cmake_templates/qgsconfig.h.in @@ -122,6 +122,8 @@ #cmakedefine HAS_KDE_QT5_SMALL_CAPS_FIX #cmakedefine HAS_KDE_QT5_FONT_STRETCH_FIX +#cmakedefine HAVE_PDF4QT + #cmakedefine HAVE_CRASH_HANDLER #cmakedefine HAVE_WEBENGINE diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt index 6823b87b0ad..92b08d55a28 100644 --- a/src/core/CMakeLists.txt +++ b/src/core/CMakeLists.txt @@ -11,9 +11,11 @@ BISON_TARGET(QgsMeshCalcParser mesh/qgsmeshcalcparser.yy ${CMAKE_CURRENT_BINARY_ FLEX_TARGET(QgsMeshCalcLexer mesh/qgsmeshcalclexer.ll ${CMAKE_CURRENT_BINARY_DIR}/qgsmeshcalclexer.cpp) ADD_FLEX_BISON_DEPENDENCY(QgsMeshCalcLexer QgsMeshCalcParser) -SET(PDF4QT_BUILD_ONLY_CORE_LIBRARY TRUE) -SET(PDF4QT_ENABLE_OPENGL FALSE) -SUBDIRS(${CMAKE_SOURCE_DIR}/external/PDF4QT) +if (WITH_PDF4QT) + SET(PDF4QT_BUILD_ONLY_CORE_LIBRARY TRUE) + SET(PDF4QT_ENABLE_OPENGL FALSE) + SUBDIRS(${CMAKE_SOURCE_DIR}/external/PDF4QT) +endif() set(QGIS_CORE_SRCS ${CMAKE_SOURCE_DIR}/external/kdbush/include/kdbush.hpp