diff options
| author | Alexey Edelev <[email protected]> | 2025-04-24 16:57:39 +0200 |
|---|---|---|
| committer | Alexey Edelev <[email protected]> | 2025-07-07 21:20:37 +0200 |
| commit | db5783f05e9c46c27e8bf4eb49f730d26d306957 (patch) | |
| tree | aa00cca52455ac5009e08edca5b8e6449a1f7877 /src/corelib/Qt6AndroidGradleHelpers.cmake | |
| parent | 9fc4e8de5903aa63bcc695178261a6a44e123cb1 (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.cmake | 30 |
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") |
