summaryrefslogtreecommitdiffstats
path: root/src/corelib/Qt6AndroidGradleHelpers.cmake
diff options
context:
space:
mode:
authorAlexey Edelev <[email protected]>2025-04-24 16:57:39 +0200
committerAlexey Edelev <[email protected]>2025-07-07 21:20:37 +0200
commitdb5783f05e9c46c27e8bf4eb49f730d26d306957 (patch)
treeaa00cca52455ac5009e08edca5b8e6449a1f7877 /src/corelib/Qt6AndroidGradleHelpers.cmake
parent9fc4e8de5903aa63bcc695178261a6a44e123cb1 (diff)
Read gradle dependencies from CMake properties
Allow changing/adding gradle depdendencies using the CMake properties. The property is pure private at the moment. Android applications use dependencies from the default build.gradle template. Change-Id: I0eab8d1d86953e30f1adfbc41f27f9d4513410eb Reviewed-by: Alexandru Croitor <[email protected]>
Diffstat (limited to 'src/corelib/Qt6AndroidGradleHelpers.cmake')
-rw-r--r--src/corelib/Qt6AndroidGradleHelpers.cmake30
1 files changed, 24 insertions, 6 deletions
diff --git a/src/corelib/Qt6AndroidGradleHelpers.cmake b/src/corelib/Qt6AndroidGradleHelpers.cmake
index 227f07f31d8..5cbb783a5c7 100644
--- a/src/corelib/Qt6AndroidGradleHelpers.cmake
+++ b/src/corelib/Qt6AndroidGradleHelpers.cmake
@@ -50,6 +50,28 @@ function(_qt_internal_android_get_gradle_source_sets out_var target)
set(${out_var} "${source_set}" PARENT_SCOPE)
endfunction()
+# Generates the gradle dependency list for the target.
+function(_qt_internal_android_get_gradle_dependencies out_var target)
+ # Use dependencies from file tree by default
+ set(known_dependencies
+ "implementation fileTree(dir: 'libs', include: ['*.jar', '*.aar'])")
+ foreach(dep_type implementation api)
+ string(JOIN "\n " dep_prefix
+ "\n //noinspection GradleDependency"
+ "${dep_type} '"
+ )
+ set(dep_postfix "'")
+ set(dep_property "$<TARGET_PROPERTY:${target},_qt_android_gradle_${dep_type}_dependencies>")
+ string(JOIN "" known_dependencies
+ "${known_dependencies}"
+ "$<$<BOOL:${dep_property}>:"
+ "${dep_prefix}$<JOIN:${dep_property},${dep_postfix}${dep_prefix}>${dep_postfix}"
+ ">"
+ )
+ endforeach()
+ set(${out_var} "${known_dependencies}" PARENT_SCOPE)
+endfunction()
+
# Sets the default values of the gradle properties for the Android executable target.
function(_qt_internal_set_android_application_gradle_defaults target)
_qt_internal_android_java_dir(android_java_dir)
@@ -63,6 +85,7 @@ function(_qt_internal_set_android_application_gradle_defaults target)
_qt_android_gradle_assets_source_dirs "assets"
_qt_android_gradle_jniLibs_source_dirs "libs"
_qt_android_manifest "AndroidManifest.xml"
+ _qt_android_gradle_implementation_dependencies "androidx.core:core:1.13.1"
)
endfunction()
@@ -86,12 +109,7 @@ function(_qt_internal_android_generate_target_build_gradle target)
endif()
_qt_internal_android_get_gradle_source_sets(SOURCE_SETS ${target})
-
- string(JOIN "\n " GRADLE_DEPENDENCIES
- "implementation fileTree(dir: 'libs', include: ['*.jar', '*.aar'])"
- "//noinspection GradleDependency"
- "implementation 'androidx.core:core:1.13.1'"
- )
+ _qt_internal_android_get_gradle_dependencies(GRADLE_DEPENDENCIES ${target})
_qt_internal_android_get_gradle_property(min_sdk_version ${target}
QT_ANDROID_MIN_SDK_VERSION "28")