From 80fbabad8aab1f8f58131edfc00d72334a96bd38 Mon Sep 17 00:00:00 2001 From: Assam Boudjelthia Date: Fri, 25 Nov 2022 16:44:19 +0200 Subject: [PATCH] CMake:Android: add Android templates, bindings and gradle files to tree MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add Android templates, bindings and gradle wrapper files to custom targets so they can be easily tracked by the project tree when using Qt Creator for example. Change-Id: I4144b9ee461139a9f768c57b14139e0fc21d4c28 Reviewed-by: Alexandru Croitor Reviewed-by: Jörg Bornemann --- src/3rdparty/gradle/CMakeLists.txt | 30 ++++++++++++++++--- src/android/java/CMakeLists.txt | 44 ++++++++++++++++++++++++++-- src/android/templates/CMakeLists.txt | 13 ++++++-- 3 files changed, 78 insertions(+), 9 deletions(-) diff --git a/src/3rdparty/gradle/CMakeLists.txt b/src/3rdparty/gradle/CMakeLists.txt index f4cf02a90b0..e9060a669f7 100644 --- a/src/3rdparty/gradle/CMakeLists.txt +++ b/src/3rdparty/gradle/CMakeLists.txt @@ -1,22 +1,44 @@ +set(gradle_programs + "${CMAKE_CURRENT_SOURCE_DIR}/gradlew" +) +set(gradle_files + "${CMAKE_CURRENT_SOURCE_DIR}/gradlew.bat" + "${CMAKE_CURRENT_SOURCE_DIR}/gradle.properties" +) +set(gradle_wrapper + "${CMAKE_CURRENT_SOURCE_DIR}/gradle" +) +set(gradle_wrapper_files + "${CMAKE_CURRENT_SOURCE_DIR}/gradle/wrapper/gradle-wrapper.properties" + "${CMAKE_CURRENT_SOURCE_DIR}/gradle/wrapper/gradle-wrapper.jar" +) + +add_custom_target(Qt${QtBase_VERSION_MAJOR}GradleScripts + SOURCES + ${gradle_programs} + ${gradle_files} + ${gradle_wrapper_files} +) + qt_path_join(destination ${QT_INSTALL_DIR} "src/3rdparty/gradle") + qt_copy_or_install( PROGRAMS - gradlew + ${gradle_programs} DESTINATION "${destination}" ) qt_copy_or_install( FILES - gradlew.bat - gradle.properties + ${gradle_files} DESTINATION "${destination}" ) qt_copy_or_install( DIRECTORY - gradle + ${gradle_wrapper} DESTINATION "${destination}" ) diff --git a/src/android/java/CMakeLists.txt b/src/android/java/CMakeLists.txt index c9046dee13e..71446e596c5 100644 --- a/src/android/java/CMakeLists.txt +++ b/src/android/java/CMakeLists.txt @@ -6,10 +6,50 @@ # special case skip regeneration # special case begin set(resource_directories - res - src) + "${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/QtActivityLoader.java" + "${CMAKE_CURRENT_SOURCE_DIR}/src/org/qtproject/qt/android/bindings/QtService.java" + "${CMAKE_CURRENT_SOURCE_DIR}/src/org/qtproject/qt/android/bindings/QtServiceLoader.java" + "${CMAKE_CURRENT_SOURCE_DIR}/src/org/qtproject/qt/android/bindings/QtApplication.java" + "${CMAKE_CURRENT_SOURCE_DIR}/src/org/qtproject/qt/android/bindings/QtLoader.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} "src/android/java") + qt_copy_or_install(DIRECTORY ${resource_directories} DESTINATION "${destination}" ) diff --git a/src/android/templates/CMakeLists.txt b/src/android/templates/CMakeLists.txt index 7b296423d97..73dac9aa24d 100644 --- a/src/android/templates/CMakeLists.txt +++ b/src/android/templates/CMakeLists.txt @@ -6,13 +6,20 @@ # special case skip regeneration # special case begin set(template_files - AndroidManifest.xml - build.gradle) + "${CMAKE_CURRENT_SOURCE_DIR}/AndroidManifest.xml" + "${CMAKE_CURRENT_SOURCE_DIR}/build.gradle") set(template_directories - res) + "${CMAKE_CURRENT_SOURCE_DIR}/res") + +add_custom_target(Qt${QtBase_VERSION_MAJOR}AndroidTemplates + SOURCES + ${template_files} + "${CMAKE_CURRENT_SOURCE_DIR}/res/values/libs.xml" +) qt_path_join(destination ${QT_INSTALL_DIR} "src/android/templates") + qt_copy_or_install(FILES ${template_files} DESTINATION "${destination}")