Skip to content

Commit 7d1589d

Browse files
authored
Merge pull request opencv#22684 from alalek:android_update
android: update build scripts
2 parents b35018d + c29a3aa commit 7d1589d

File tree

2 files changed

+23
-1
lines changed

2 files changed

+23
-1
lines changed

cmake/android/android_gradle_projects.cmake

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ set(ANDROID_GRADLE_PLUGIN_VERSION "3.2.1" CACHE STRING "Android Gradle Plugin ve
33
message(STATUS "Android Gradle Plugin version: ${ANDROID_GRADLE_PLUGIN_VERSION}")
44

55
set(KOTLIN_PLUGIN_VERSION "1.4.10" CACHE STRING "Kotlin Plugin version")
6-
message(STATUS "kotlin Plugin version: ${KOTLIN_GRADLE_PLUGIN_VERSION}")
6+
message(STATUS "Kotlin Plugin version: ${KOTLIN_PLUGIN_VERSION}")
77

88
if(BUILD_KOTLIN_EXTENSIONS)
99
set(KOTLIN_PLUGIN_DECLARATION "apply plugin: 'kotlin-android'" CACHE STRING "Kotlin Plugin version")
@@ -50,9 +50,11 @@ endif()
5050
#string(REPLACE "\n" "\n${__spaces}" ANDROID_ABI_FILTER "${__spaces}${ANDROID_BUILD_ABI_FILTER}")
5151
#string(REPLACE REGEX "[ ]+$" "" ANDROID_ABI_FILTER "${ANDROID_ABI_FILTER}")
5252
set(ANDROID_ABI_FILTER "${ANDROID_BUILD_ABI_FILTER}")
53+
set(ANDROID_STRICT_BUILD_CONFIGURATION "true")
5354
configure_file("${OpenCV_SOURCE_DIR}/samples/android/build.gradle.in" "${ANDROID_BUILD_BASE_DIR}/build.gradle" @ONLY)
5455

5556
set(ANDROID_ABI_FILTER "${ANDROID_INSTALL_ABI_FILTER}")
57+
set(ANDROID_STRICT_BUILD_CONFIGURATION "false")
5658
configure_file("${OpenCV_SOURCE_DIR}/samples/android/build.gradle.in" "${ANDROID_TMP_INSTALL_BASE_DIR}/${ANDROID_INSTALL_SAMPLES_DIR}/build.gradle" @ONLY)
5759
install(FILES "${ANDROID_TMP_INSTALL_BASE_DIR}/${ANDROID_INSTALL_SAMPLES_DIR}/build.gradle" DESTINATION "${ANDROID_INSTALL_SAMPLES_DIR}" COMPONENT samples)
5860

@@ -80,6 +82,15 @@ foreach(fname ${GRADLE_WRAPPER_FILES})
8082
install(FILES "${OpenCV_SOURCE_DIR}/platforms/android/gradle-wrapper/${fname}" DESTINATION "${ANDROID_INSTALL_SAMPLES_DIR}/${__dir}" COMPONENT samples ${__permissions})
8183
endforeach()
8284

85+
# force reusing of the same CMake version
86+
if(NOT OPENCV_SKIP_ANDROID_FORCE_CMAKE)
87+
if(NOT DEFINED _CMAKE_INSTALL_DIR)
88+
get_filename_component(_CMAKE_INSTALL_DIR "${CMAKE_ROOT}" PATH)
89+
get_filename_component(_CMAKE_INSTALL_DIR "${_CMAKE_INSTALL_DIR}" PATH)
90+
endif()
91+
ocv_update_file("${ANDROID_BUILD_BASE_DIR}/local.properties" "cmake.dir=${_CMAKE_INSTALL_DIR}")
92+
endif()
93+
8394
file(WRITE "${ANDROID_BUILD_BASE_DIR}/settings.gradle" "
8495
include ':opencv'
8596
")
@@ -94,6 +105,7 @@ include ':opencv'
94105
project(':opencv').projectDir = new File(opencvsdk + '/sdk')
95106
")
96107

108+
ocv_check_environment_variables(OPENCV_GRADLE_VERBOSE_OPTIONS)
97109

98110
macro(add_android_project target path)
99111
get_filename_component(__dir "${path}" NAME)

samples/android/build.gradle.in

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ task clean(type: Delete) {
3535
// }
3636
//}
3737

38+
def opencv_strict_build_configuration = @ANDROID_STRICT_BUILD_CONFIGURATION@;
3839

3940
gradle.afterProject { project ->
4041
if (project.pluginManager.hasPlugin('com.android.application')
@@ -90,5 +91,14 @@ gradle.afterProject { project ->
9091
}
9192
}
9293

94+
// Android Gradle Plugin (AGP) 3.5+ is required
95+
// https://github.com/android/ndk-samples/wiki/Configure-NDK-Path
96+
def isNdkVersionSupported = project.android.metaClass.getProperties().find { it.name == 'ndkVersion' } != null
97+
if ((false || opencv_strict_build_configuration) && isNdkVersionSupported) {
98+
gradle.println("Override ndkVersion for the project ${project.name}")
99+
project.android {
100+
ndkVersion '@ANDROID_NDK_REVISION@'
101+
}
102+
}
93103
}
94104
}

0 commit comments

Comments
 (0)