summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichal Klocek <michal.klocek@qt.io>2022-01-31 08:22:40 +0100
committerMichal Klocek <michal.klocek@qt.io>2023-03-21 08:34:15 +0100
commit0b08ead4f881e403fbf2f3ac54c1c1acb784bc69 (patch)
tree044d27ccbcfd812ddd8910d02feab7305b4c9dbc
parent89f45970055568a7468b696423778b659bbc1cf5 (diff)
downloadqtwebengine-0b08ead4f881e403fbf2f3ac54c1c1acb784bc69.tar.gz
Add QtPdf android support
Task-number: QTBUG-83459 Change-Id: I39915206859f031dd78798eeb7b2b49f4f148452 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> (cherry picked from commit 4717812788df2927818e671056642b58363d4b89) Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
-rw-r--r--cmake/Functions.cmake13
-rw-r--r--configure.cmake7
-rw-r--r--src/pdf/CMakeLists.txt6
3 files changed, 20 insertions, 6 deletions
diff --git a/cmake/Functions.cmake b/cmake/Functions.cmake
index 538e2ffb4..d3f8862ce 100644
--- a/cmake/Functions.cmake
+++ b/cmake/Functions.cmake
@@ -440,7 +440,7 @@ function(add_linker_options target buildDir completeStatic)
set(archives_rsp "${buildDir}/${ninjaTarget}_archives.rsp")
set(libs_rsp "${buildDir}/${ninjaTarget}_libs.rsp")
set_target_properties(${cmakeTarget} PROPERTIES STATIC_LIBRARY_OPTIONS "@${objects_rsp}")
- if(LINUX)
+ if(LINUX OR ANDROID)
get_gn_arch(cpu ${TEST_architecture_arch})
if(CMAKE_CROSSCOMPILING AND cpu STREQUAL "arm" AND ${config} STREQUAL "Debug")
target_link_options(${cmakeTarget} PRIVATE "LINKER:--long-plt")
@@ -946,6 +946,14 @@ macro(append_compiler_linker_sdk_setup)
CONDITION QT_FEATURE_stdlib_libcpp
)
endif()
+ if(ANDROID)
+ list(APPEND gnArgArg
+ android_ndk_root="${CMAKE_ANDROID_NDK}"
+ android_ndk_version="${CMAKE_ANDROID_NDK_VERSION}"
+ clang_use_default_sample_profile=false
+ #android_ndk_major_version=22
+ )
+ endif()
else()
if(QT_FEATURE_use_lld_linker)
get_filename_component(clangBasePath ${CMAKE_LINKER} DIRECTORY)
@@ -1059,6 +1067,9 @@ macro(append_toolchain_setup)
list(APPEND gnArgArg target_sysroot="${sysroot}" target_os="ios")
endif()
endif()
+ if(ANDROID)
+ list(APPEND gnArgArg target_os="android")
+ endif()
endmacro()
diff --git a/configure.cmake b/configure.cmake
index f1b971080..a9ac87543 100644
--- a/configure.cmake
+++ b/configure.cmake
@@ -474,8 +474,8 @@ add_check_for_support(
)
add_check_for_support(
MODULES QtPdf
- CONDITION LINUX OR (WIN32 AND NOT WIN_ARM_64) OR MACOS OR IOS
- MESSAGE "Build can be done only on Linux, Windows, macOS or iOS."
+ CONDITION LINUX OR (WIN32 AND NOT WIN_ARM_64) OR MACOS OR IOS OR ANDROID
+ MESSAGE "Build can be done only on Linux, Windows, macO, iOS and Android."
)
if(LINUX AND CMAKE_CROSSCOMPILING)
get_gn_arch(testArch ${TEST_architecture_arch})
@@ -584,7 +584,8 @@ add_check_for_support(
(WIN32 AND CMAKE_CXX_COMPILER_ID STREQUAL Clang AND
CMAKE_CXX_SIMULATE_ID STREQUAL MSVC) OR
(MACOS AND CMAKE_CXX_COMPILER_ID STREQUAL AppleClang) OR
- (APPLE AND CMAKE_CXX_COMPILER_ID STREQUAL AppleClang)
+ (APPLE AND CMAKE_CXX_COMPILER_ID STREQUAL AppleClang) OR
+ (ANDROID AND CMAKE_CXX_COMPILER_ID STREQUAL Clang)
MESSAGE "${CMAKE_CXX_COMPILER_ID} compiler is not supported."
)
diff --git a/src/pdf/CMakeLists.txt b/src/pdf/CMakeLists.txt
index 1d42ee727..7ca252e29 100644
--- a/src/pdf/CMakeLists.txt
+++ b/src/pdf/CMakeLists.txt
@@ -114,11 +114,13 @@ foreach(arch ${archs})
strip_absolute_paths_from_debug_symbols=false
)
- if(LINUX)
+ if(LINUX OR ANDROID)
list(APPEND gnArgArg
is_cfi=false
ozone_auto_platforms=false
- use_gnome_keyring=false)
+ use_gnome_keyring=false
+ enable_vr=false
+ )
extend_gn_list(gnArgArg
ARGS use_system_icu
CONDITION QT_FEATURE_webengine_system_icu