forked from LadybirdBrowser/ancient-history
-
Notifications
You must be signed in to change notification settings - Fork 0
/
AndroidExtras.cmake
60 lines (56 loc) · 2.06 KB
/
AndroidExtras.cmake
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
# Copyright (c) 2022, Andrew Kaster <[email protected]>
#
# SPDX-License-Identifier: BSD-2-Clause
#
#
# Source directory for androiddeployqt to use when bundling the application
#
set_property(TARGET ladybird APPEND PROPERTY
QT_ANDROID_PACKAGE_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/android
)
#
# Android-specific sources and libs
#
target_sources(ladybird PRIVATE AndroidPlatform.cpp)
target_link_libraries(ladybird PRIVATE LibCompress LibArchive)
#
# NDK and Qt don't ship OpenSSL for Android
# Download the prebuilt binaries from KDAB for inclusion as recommended in Qt docs.
#
include(FetchContent)
FetchContent_Declare(android_openssl
GIT_REPOSITORY https://github.com/KDAB/android_openssl
GIT_TAG origin/master
GIT_SHALLOW TRUE
)
FetchContent_MakeAvailable(android_openssl)
set_property(TARGET ladybird APPEND PROPERTY QT_ANDROID_EXTRA_LIBS ${ANDROID_EXTRA_LIBS})
#
# Copy resources into tarball for inclusion in /assets of APK
#
set(LADYBIRD_RESOURCE_ROOT "${SERENITY_SOURCE_DIR}/Base/res")
macro(copy_res_folder folder)
add_custom_target(copy-${folder}
COMMAND ${CMAKE_COMMAND} -E copy_directory
"${LADYBIRD_RESOURCE_ROOT}/${folder}"
"asset-bundle/res/${folder}"
)
add_dependencies(archive-assets copy-${folder})
endmacro()
add_custom_target(archive-assets COMMAND ${CMAKE_COMMAND} -E chdir asset-bundle tar czf ../ladybird-assets.tar.gz ./ )
copy_res_folder(html)
copy_res_folder(fonts)
copy_res_folder(icons)
copy_res_folder(emoji)
copy_res_folder(themes)
copy_res_folder(color-palettes)
copy_res_folder(cursor-themes)
add_custom_target(copy-content-filters
COMMAND ${CMAKE_COMMAND} -E copy_if_different
"${SERENITY_SOURCE_DIR}/Base/home/anon/.config/BrowserContentFilters.txt"
"asset-bundle/res/ladybird/BrowserContentFilters.txt"
)
add_dependencies(archive-assets copy-content-filters)
add_custom_target(copy-assets COMMAND ${CMAKE_COMMAND} -E copy_if_different ladybird-assets.tar.gz "${CMAKE_SOURCE_DIR}/android/assets")
add_dependencies(copy-assets archive-assets)
add_dependencies(ladybird copy-assets)