From 8f44f25f474e7e69bab384c491109e97260ca9b6 Mon Sep 17 00:00:00 2001 From: Andrey Kamaev Date: Thu, 11 Oct 2012 17:05:06 +0400 Subject: [PATCH] Fix AndroidManifest.xml generation for OpenCV Android library project (second attempt) --- modules/java/CMakeLists.txt | 11 ++++++++--- modules/java/android_lib/AndroidManifest.xml | 2 +- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/modules/java/CMakeLists.txt b/modules/java/CMakeLists.txt index adb9cf8b82..eb40260366 100644 --- a/modules/java/CMakeLists.txt +++ b/modules/java/CMakeLists.txt @@ -207,6 +207,7 @@ if(ANDROID) # manifest, jni, Eclipse project file(GLOB_RECURSE android_lib_project_files RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}/android_lib/" "${CMAKE_CURRENT_SOURCE_DIR}/android_lib/*") + list(REMOVE_ITEM android_lib_project_files "${ANDROID_MANIFEST_FILE}") foreach(f ${android_lib_project_files}) if(NOT f MATCHES "\\.svn") configure_file("${CMAKE_CURRENT_SOURCE_DIR}/android_lib/${f}" "${OpenCV_BINARY_DIR}/${f}") @@ -238,11 +239,15 @@ if(ANDROID) android_get_compatible_target(lib_target_sdk_target ${ANDROID_NATIVE_API_LEVEL} ${ANDROID_SDK_TARGET}) + configure_file("${CMAKE_CURRENT_SOURCE_DIR}/android_lib/${ANDROID_MANIFEST_FILE}" "${CMAKE_CURRENT_BINARY_DIR}/${ANDROID_MANIFEST_FILE}") + add_custom_command( - OUTPUT ${lib_target_files} + OUTPUT ${lib_target_files} "${OpenCV_BINARY_DIR}/${ANDROID_MANIFEST_FILE}" COMMAND ${CMAKE_COMMAND} -E remove ${lib_target_files} + COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_BINARY_DIR}/${ANDROID_MANIFEST_FILE}" "${OpenCV_BINARY_DIR}/${ANDROID_MANIFEST_FILE}" COMMAND ${ANDROID_EXECUTABLE} --silent create lib-project --path \"${OpenCV_BINARY_DIR}\" --target \"${lib_target_sdk_target}\" --name OpenCV --package org.opencv 2>\"${CMAKE_CURRENT_BINARY_DIR}/create_lib_project.log\" - MAIN_DEPENDENCY "${OpenCV_BINARY_DIR}/${ANDROID_MANIFEST_FILE}" + COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_BINARY_DIR}/${ANDROID_MANIFEST_FILE}" "${OpenCV_BINARY_DIR}/${ANDROID_MANIFEST_FILE}" + MAIN_DEPENDENCY "${CMAKE_CURRENT_BINARY_DIR}/${ANDROID_MANIFEST_FILE}" DEPENDS ${lib_proj_files} COMMENT "Generating OpenCV Android library project. SDK target: ${lib_target_sdk_target}" ) @@ -269,7 +274,7 @@ if(ANDROID) list(APPEND lib_target_files "${OpenCV_BINARY_DIR}/bin/classes.jar") endif() - add_custom_target(${lib_target} SOURCES ${lib_proj_files} ${lib_target_files}) + add_custom_target(${lib_target} SOURCES ${lib_proj_files} ${lib_target_files} "${OpenCV_BINARY_DIR}/${ANDROID_MANIFEST_FILE}") endif() else(ANDROID) configure_file("${CMAKE_CURRENT_SOURCE_DIR}/jar/build.xml" "${OpenCV_BINARY_DIR}/build.xml" IMMEDIATE @ONLY) diff --git a/modules/java/android_lib/AndroidManifest.xml b/modules/java/android_lib/AndroidManifest.xml index 3559718560..e4567ae029 100644 --- a/modules/java/android_lib/AndroidManifest.xml +++ b/modules/java/android_lib/AndroidManifest.xml @@ -2,7 +2,7 @@