summaryrefslogtreecommitdiffstats
path: root/src/android/java/CMakeLists.txt
blob: 2ff2fb57917fed6d1d95b871f644bae3626f9c63 (plain)
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
61
62
63
64
65
66
# Copyright (C) 2023 The Qt Company Ltd.
# SPDX-License-Identifier: BSD-3-Clause

# Android Java Resource files

set(resource_directories
    "${CMAKE_CURRENT_SOURCE_DIR}/res"
    "${CMAKE_CURRENT_SOURCE_DIR}/src"
)

set(java_bindings
    "${CMAKE_CURRENT_SOURCE_DIR}/src/org/qtproject/qt/android/bindings/QtActivity.java"
    "${CMAKE_CURRENT_SOURCE_DIR}/src/org/qtproject/qt/android/bindings/QtService.java"
    "${CMAKE_CURRENT_SOURCE_DIR}/src/org/qtproject/qt/android/bindings/QtApplication.java"
)

set(strings_resouces
    "${CMAKE_CURRENT_SOURCE_DIR}/res/values/strings.xml"
    "${CMAKE_CURRENT_SOURCE_DIR}/res/values-de/strings.xml"
    "${CMAKE_CURRENT_SOURCE_DIR}/res/values-el/strings.xml"
    "${CMAKE_CURRENT_SOURCE_DIR}/res/values-es/strings.xml"
    "${CMAKE_CURRENT_SOURCE_DIR}/res/values-et/strings.xml"
    "${CMAKE_CURRENT_SOURCE_DIR}/res/values-fa/strings.xml"
    "${CMAKE_CURRENT_SOURCE_DIR}/res/values-fr/strings.xml"
    "${CMAKE_CURRENT_SOURCE_DIR}/res/values-in/strings.xml"
    "${CMAKE_CURRENT_SOURCE_DIR}/res/values-it/strings.xml"
    "${CMAKE_CURRENT_SOURCE_DIR}/res/values-ja/strings.xml"
    "${CMAKE_CURRENT_SOURCE_DIR}/res/values-ms/strings.xml"
    "${CMAKE_CURRENT_SOURCE_DIR}/res/values-nb/strings.xml"
    "${CMAKE_CURRENT_SOURCE_DIR}/res/values-nl/strings.xml"
    "${CMAKE_CURRENT_SOURCE_DIR}/res/values-pl/strings.xml"
    "${CMAKE_CURRENT_SOURCE_DIR}/res/values-pt-rBR/strings.xml"
    "${CMAKE_CURRENT_SOURCE_DIR}/res/values-ro/strings.xml"
    "${CMAKE_CURRENT_SOURCE_DIR}/res/values-ru/strings.xml"
    "${CMAKE_CURRENT_SOURCE_DIR}/res/values-se/strings.xml"
    "${CMAKE_CURRENT_SOURCE_DIR}/res/values-zh-rCN/strings.xml"
    "${CMAKE_CURRENT_SOURCE_DIR}/res/values-zh-rTW/strings.xml"
)

add_custom_target(Qt${QtBase_VERSION_MAJOR}AndroidBindings
    SOURCES
        ${java_bindings}
        ${strings_resouces}
)

qt_path_join(destination ${QT_INSTALL_DIR} ${INSTALL_DATADIR} "src/android/java")

qt_copy_or_install(DIRECTORY ${resource_directories}
                   DESTINATION "${destination}"
)

if(NOT QT_WILL_INSTALL)
    qt_internal_copy_at_build_time(TARGET Qt${QtBase_VERSION_MAJOR}AndroidBindings
        DIRECTORIES ${resource_directories}
        DESTINATION ${destination})
endif()

# To avoid Java build errors after the loader classes have been moved to the internal Jar package,
# make this step to remove them from the build folder. This mainly useful for existing builds,
# as clean builds wouldn't have to deal with this case.
if ("${PROJECT_VERSION}" GREATER_EQUAL "6.7")
    set(loader_bindings "QtLoader.java" "QtActivityLoader.java" "QtServiceLoader.java")
    foreach(binding IN LISTS loader_bindings)
        file(REMOVE "${destination}/src/org/qtproject/qt/android/bindings/${binding}")
    endforeach()
endif()