summaryrefslogtreecommitdiffstats
path: root/src/pdf
diff options
context:
space:
mode:
authorMichal Klocek <michal.klocek@qt.io>2021-12-14 16:42:50 +0100
committerMichal Klocek <michal.klocek@qt.io>2022-03-09 12:31:16 +0100
commit99d77b9f1eed817cb3eae68d9e7224a01d55d656 (patch)
treeedfe0bb696ccad9fc9d5a84358675e1aaa455f6d /src/pdf
parente6e705a3dab368842fbfe15a9b545e0e8727b6b2 (diff)
Add static builds for qtpdf
Add 3rdparty installed headers so static builds can use bundled qt libs. Fix static gn and archiver/librarian setup. Updates 3rdparty: * 5d88de975 Fix static build with qt3rdparty libs Task-number: QTBUG-87154 Task-number: QTBUG-88614 Pick-to: 6.3 6.2 Change-Id: Iad7682da92b558b500140f415acc0bc9c9a1c22e Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'src/pdf')
-rw-r--r--src/pdf/CMakeLists.txt25
-rw-r--r--src/pdf/configure.cmake1
-rw-r--r--src/pdf/configure/BUILD.root.gn.in22
3 files changed, 45 insertions, 3 deletions
diff --git a/src/pdf/CMakeLists.txt b/src/pdf/CMakeLists.txt
index 14474caf2..2df58b3ac 100644
--- a/src/pdf/CMakeLists.txt
+++ b/src/pdf/CMakeLists.txt
@@ -67,7 +67,6 @@ addSyncTargets(pdf)
get_configs(configs)
get_architectures(archs)
-
foreach(arch ${archs})
foreach(config ${configs})
@@ -77,7 +76,9 @@ foreach(arch ${archs})
set(buildGn pdf_${config}_${arch})
add_gn_target(${buildGn} ${config} ${arch}
- SOURCES DEFINES CXX_COMPILE_OPTIONS C_COMPILE_OPTIONS INCLUDES MOC_PATH
+ SOURCES DEFINES CXX_COMPILE_OPTIONS C_COMPILE_OPTIONS
+ INCLUDES MOC_PATH PNG_INCLUDES JPEG_INCLUDES HARFBUZZ_INCLUDES
+ FREETYPE_INCLUDES ZLIB_INCLUDES
)
resolve_target_includes(gnIncludes Pdf)
get_forward_declaration_macro(forwardDeclarationMacro)
@@ -100,6 +101,10 @@ foreach(arch ${archs})
list(APPEND gnArgArg
qtwebengine_target="${buildDir}/${config}/${arch}:QtPdf"
+ qt_libpng_config="${buildDir}/${config}/${arch}:qt_libpng_config"
+ qt_libjpeg_config="${buildDir}/${config}/${arch}:qt_libjpeg_config"
+ qt_harfbuzz_config="${buildDir}/${config}/${arch}:qt_harfbuzz_config"
+ qt_freetype_config="${buildDir}/${config}/${arch}:qt_freetype_config"
enable_ipc_fuzzer=false
enable_remoting=false
enable_resource_allowlist_generation=false
@@ -149,6 +154,22 @@ foreach(arch ${archs})
ARGS pdf_enable_xfa_tiff
CONDITION QT_FEATURE_pdf_xfa_tiff
)
+ extend_gn_list(gnArgArg
+ ARGS pdfium_use_qt_libpng
+ CONDITION QT_FEATURE_webengine_qt_libpng
+ )
+ extend_gn_list(gnArgArg
+ ARGS use_qt_libjpeg
+ CONDITION QT_FEATURE_webengine_qt_libjpeg
+ )
+ extend_gn_list(gnArgArg
+ ARGS use_qt_harfbuzz
+ CONDITION QT_FEATURE_webengine_qt_harfbuzz
+ )
+ extend_gn_list(gnArgArg
+ ARGS use_qt_freetype
+ CONDITION QT_FEATURE_webengine_qt_freetype
+ )
add_gn_command(
CMAKE_TARGET Pdf
diff --git a/src/pdf/configure.cmake b/src/pdf/configure.cmake
index ce1203205..223d860f3 100644
--- a/src/pdf/configure.cmake
+++ b/src/pdf/configure.cmake
@@ -1,7 +1,6 @@
qt_feature("pdf-v8" PRIVATE
LABEL "Support V8"
PURPOSE "Enables javascript support."
- AUTODETECT false
CONDITION NOT IOS
)
qt_feature("pdf-xfa" PRIVATE
diff --git a/src/pdf/configure/BUILD.root.gn.in b/src/pdf/configure/BUILD.root.gn.in
index a3cd32a23..68089f8cf 100644
--- a/src/pdf/configure/BUILD.root.gn.in
+++ b/src/pdf/configure/BUILD.root.gn.in
@@ -1,5 +1,27 @@
import("//build/config/features.gni")
+config("qt_libpng_config") {
+ include_dirs = [ @GN_PNG_INCLUDES@ ]
+ defines = [ "USE_SYSTEM_LIBPNG" ]
+}
+config ("qt_libjpeg_config") {
+ include_dirs = [ @GN_JPEG_INCLUDES@ ]
+}
+config("qt_harfbuzz_config") {
+ visibility = [
+ "//third_party:freetype_harfbuzz",
+ "//third_party/freetype:freetype_source",
+ ]
+ include_dirs = [ @GN_HARFBUZZ_INCLUDES@ ]
+}
+config("qt_freetype_config") {
+ visibility = [
+ "//third_party:freetype_harfbuzz",
+ "//third_party/harfbuzz-ng:harfbuzz_source",
+ ]
+ include_dirs = [ @GN_FREETYPE_INCLUDES@ ]
+}
+
config("QtPdf_config") {
cflags = [
@GN_CFLAGS_C@,