Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
O
opencv
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
submodule
opencv
Commits
09269978
Commit
09269978
authored
Jun 30, 2011
by
Andrey Kamaev
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Added cmake script to build Android samples
parent
995ce4bd
Show whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
117 additions
and
41 deletions
+117
-41
CMakeLists.txt
CMakeLists.txt
+2
-1
cmake_android.sh
android/scripts/cmake_android.sh
+1
-1
CMakeLists.txt
modules/java/CMakeLists.txt
+7
-0
CMakeLists.txt
samples/CMakeLists.txt
+8
-1
default.properties
samples/android/0-base/default.properties
+0
-9
default.properties
samples/android/1-java/default.properties
+1
-10
default.properties
samples/android/2-native/default.properties
+0
-9
default.properties
samples/android/4-mixed/default.properties
+1
-10
CMakeLists.txt
samples/android/CMakeLists.txt
+97
-0
No files found.
CMakeLists.txt
View file @
09269978
...
...
@@ -701,7 +701,8 @@ if (BUILD_JAVA_SUPPORT AND (BUILD_EXAMPLES OR BUILD_TESTS))
message
(
STATUS
" Found apache ant
${
ANT_VERSION
}
:
${
ANT_EXECUTABLE
}
"
)
endif
()
if
(
ANDROID_EXECUTABLE AND ANT_EXECUTABLE AND ANT_VERSION VERSION_GREATER 1.8
)
if
(
ANDROID_EXECUTABLE AND ANT_EXECUTABLE
AND
(
ANT_VERSION VERSION_GREATER 1.7.-1
))
SET
(
CAN_BUILD_ANDROID_PROJECTS TRUE
)
else
()
SET
(
CAN_BUILD_ANDROID_PROJECTS FALSE
)
...
...
android/scripts/cmake_android.sh
View file @
09269978
...
...
@@ -4,5 +4,5 @@ cd `dirname $0`/..
mkdir
-p
build
cd
build
cmake
-C
../CMakeCache.android.initial.cmake
-DCMAKE_TOOLCHAIN_FILE
=
../android.toolchain.cmake ../..
cmake
-C
../CMakeCache.android.initial.cmake
-DCMAKE_TOOLCHAIN_FILE
=
../android.toolchain.cmake
$@
../..
modules/java/CMakeLists.txt
View file @
09269978
...
...
@@ -12,6 +12,8 @@ ENDIF()
SET
(
GEN_JAVA
"
${
CMAKE_CURRENT_SOURCE_DIR
}
/gen_java.py"
)
SET
(
HDR_PARSER
"
${
CMAKE_CURRENT_SOURCE_DIR
}
/../python/src2/hdr_parser.py"
)
SET
(
additional_clean_files
""
)
foreach
(
module
${
OPENCV_JAVA_MODULES
}
)
IF
(
EXISTS
"
${
CMAKE_CURRENT_SOURCE_DIR
}
/config/
${
module
}
.filelist"
)
FILE
(
STRINGS
"
${
CMAKE_CURRENT_SOURCE_DIR
}
/config/
${
module
}
.filelist"
headers_to_parse
)
...
...
@@ -100,6 +102,7 @@ IF(ANDROID)
COMMENT
"Generating
${
lib_file_name
}
"
)
install
(
FILES
"
${
CMAKE_BINARY_DIR
}
/
${
lib_file_name
}
"
DESTINATION . COMPONENT main
)
LIST
(
APPEND additional_clean_files
"
${
CMAKE_BINARY_DIR
}
/
${
lib_file_name
}
"
)
endif
()
endforeach
()
...
...
@@ -111,6 +114,7 @@ IF(ANDROID)
DEPENDS
"
${
jni_file
}
"
COMMENT
"Generating jni/
${
jni_file_name
}
"
)
LIST
(
APPEND additional_clean_files
"
${
CMAKE_BINARY_DIR
}
/jni/
${
jni_file_name
}
"
)
endforeach
()
ENDIF
()
...
...
@@ -126,8 +130,11 @@ foreach(java_file ${java_project_files} ${generated_java_sources})
DEPENDS
"
${
JAVA_OUTPUT_DIR
}
"
COMMENT
"Generating src/org/opencv/
${
java_file_name
}
"
)
LIST
(
APPEND additional_clean_files
"
${
JAVA_OUTPUT_DIR
}
/
${
java_file_name
}
"
)
if
(
ANDROID
)
install
(
FILES
"
${
JAVA_OUTPUT_DIR
}
/
${
java_file_name
}
"
DESTINATION src/org/opencv COMPONENT main
)
endif
()
endforeach
()
set_directory_properties
(
PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES
"
${
additional_clean_files
}
"
)
samples/CMakeLists.txt
View file @
09269978
...
...
@@ -5,7 +5,14 @@
add_subdirectory
(
c
)
add_subdirectory
(
cpp
)
add_subdirectory
(
gpu
)
if
(
NOT ANDROID
)
add_subdirectory
(
gpu
)
endif
()
if
(
ANDROID AND CAN_BUILD_ANDROID_PROJECTS
)
add_subdirectory
(
android
)
endif
()
if
(
0
)
add_subdirectory
(
swig_python
)
...
...
samples/android/0-base/default.properties
View file @
09269978
# This file is automatically generated by Android Tools.
# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
#
# This file must be checked in Version Control Systems.
#
# To customize properties used by the Ant build system use,
# "build.properties", and override values to adapt the script to your
# project structure.
# Project target.
target
=
android-8
samples/android/1-java/default.properties
View file @
09269978
# This file is automatically generated by Android Tools.
# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
#
# This file must be checked in Version Control Systems.
#
# To customize properties used by the Ant build system use,
# "build.properties", and override values to adapt the script to your
# project structure.
android.library.reference.1
=
../../../android/build
# Project target.
target
=
android-8
android.library.reference.1
=
../../../android/build
samples/android/2-native/default.properties
View file @
09269978
# This file is automatically generated by Android Tools.
# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
#
# This file must be checked in Version Control Systems.
#
# To customize properties used by the Ant build system use,
# "build.properties", and override values to adapt the script to your
# project structure.
# Project target.
target
=
android-8
samples/android/4-mixed/default.properties
View file @
09269978
# This file is automatically generated by Android Tools.
# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
#
# This file must be checked in Version Control Systems.
#
# To customize properties used by the Ant build system use,
# "build.properties", and override values to adapt the script to your
# project structure.
android.library.reference.1
=
../../../android/build
# Project target.
target
=
android-8
android.library.reference.1
=
../../../android/build
samples/android/CMakeLists.txt
0 → 100644
View file @
09269978
# ----------------------------------------------------------------------------
# CMake file for Android samples. See root CMakeLists.txt
#
# ----------------------------------------------------------------------------
if
(
BUILD_EXAMPLES
)
project
(
android_samples
)
include_directories
(
"
${
CMAKE_SOURCE_DIR
}
/modules/core/include"
"
${
CMAKE_SOURCE_DIR
}
/modules/flann/include"
"
${
CMAKE_SOURCE_DIR
}
/modules/imgproc/include"
"
${
CMAKE_SOURCE_DIR
}
/modules/video/include"
"
${
CMAKE_SOURCE_DIR
}
/modules/highgui/include"
"
${
CMAKE_SOURCE_DIR
}
/modules/ml/include"
"
${
CMAKE_SOURCE_DIR
}
/modules/calib3d/include"
"
${
CMAKE_SOURCE_DIR
}
/modules/features2d/include"
"
${
CMAKE_SOURCE_DIR
}
/modules/objdetect/include"
"
${
CMAKE_SOURCE_DIR
}
/modules/legacy/include"
"
${
CMAKE_SOURCE_DIR
}
/modules/contrib/include"
)
SET
(
sample_dependencies opencv_contrib opencv_legacy opencv_objdetect opencv_calib3d opencv_features2d opencv_video opencv_highgui opencv_ml opencv_imgproc opencv_flann opencv_core
)
if
(
NOT BUILD_SHARED_LIBS
)
LIST
(
APPEND sample_dependencies opencv_androidcamera
)
endif
()
SET
(
additional_clean_files
""
)
macro
(
ADD_ANDROID_SAMPLE sample_name
)
#message(STATUS "Build android sample: '${sample_name}'")
SET
(
sample_dir
"
${
CMAKE_CURRENT_SOURCE_DIR
}
/
${
sample
}
"
)
add_custom_target
(
${
sample
}
ALL
)
add_dependencies
(
${
sample
}
opencv_java opencv_java_api
)
set_target_properties
(
${
sample
}
PROPERTIES
PROJECT_LABEL
"(ANDROID EXAMPLE)
${
sample
}
"
)
file
(
RELATIVE_PATH OPENCV_REFERENCE_PATH
"
${
sample_dir
}
"
"
${
CMAKE_BINARY_DIR
}
"
)
if
(
NOT
(
"
${
sample
}
"
STREQUAL
"0-base"
OR
"
${
sample
}
"
STREQUAL
"2-native"
))
SET
(
opencv_reference --library \
"
${
OPENCV_REFERENCE_PATH
}
\"
)
else()
SET(opencv_reference)
endif()
add_custom_command(
TARGET
${
sample
}
WORKING_DIRECTORY
${
sample_dir
}
COMMAND
${
CMAKE_COMMAND
}
-E remove -f "
${
sample_dir
}
/default.properties
"
COMMAND
${
CMAKE_COMMAND
}
-E touch "
${
sample_dir
}
/default.properties
"
COMMAND
${
ANDROID_EXECUTABLE
}
update project --name "
${
sample
}
" --target 7
${
opencv_reference
}
--path .
COMMAND
${
ANT_EXECUTABLE
}
debug
COMMAND
${
CMAKE_COMMAND
}
-E copy "
${
sample_dir
}
/bin/
${
sample
}
-debug.apk
" "
${
CMAKE_BINARY_DIR
}
/bin/
${
sample
}
-debug.apk
"
)
LIST(APPEND additional_clean_files "
${
CMAKE_BINARY_DIR
}
/bin/
${
sample
}
-debug.apk
" "
${
sample_dir
}
/build.xml
" "
${
sample_dir
}
/local.properties
" "
${
sample_dir
}
/proguard.cfg
")
if(IS_DIRECTORY "
${
sample_dir
}
/jni
")
INCLUDE_DIRECTORIES("
${
sample_dir
}
/jni
")
FILE( GLOB srcs "
${
sample_dir
}
/jni/*.cpp
" )
FILE(STRINGS "
${
sample_dir
}
/jni/Android.mk
" JNI_LIB_NAME REGEX "
LOCAL_MODULE[ ]*:=[ ]*.*
" )
string(REGEX REPLACE "
LOCAL_MODULE[ ]*:=[ ]*
(
[a-zA-Z_][a-zA-Z_0-9]*
)
[ ]*
" "
\\1
" JNI_LIB_NAME "
${
JNI_LIB_NAME
}
")
ADD_LIBRARY(
${
JNI_LIB_NAME
}
MODULE
${
srcs
}
)
ADD_DEPENDENCIES(
${
JNI_LIB_NAME
}
${
sample_dependencies
}
)
TARGET_LINK_LIBRARIES(
${
JNI_LIB_NAME
}
${
OPENCV_LINKER_LIBS
}
${
sample_dependencies
}
)
set_target_properties(
${
JNI_LIB_NAME
}
PROPERTIES
OUTPUT_NAME "
${
JNI_LIB_NAME
}
"
LIBRARY_OUTPUT_DIRECTORY "
${
sample_dir
}
/libs/
${
ARMEABI_NDK_NAME
}
"
)
ADD_CUSTOM_COMMAND(
TARGET
${
JNI_LIB_NAME
}
POST_BUILD
COMMAND
${
CMAKE_STRIP
}
"
${
sample_dir
}
/libs/
${
ARMEABI_NDK_NAME
}
/*.so
"
)
add_dependencies(
${
sample
}
${
JNI_LIB_NAME
}
)
endif()
endmacro()
file(GLOB android_samples RELATIVE
${
CMAKE_CURRENT_SOURCE_DIR
}
*)
list(SORT android_samples)
foreach(sample
${
android_samples
}
)
if(EXISTS
${
CMAKE_CURRENT_SOURCE_DIR
}
/
${
sample
}
/AndroidManifest.xml)
ADD_ANDROID_SAMPLE(
${
sample
}
)
endif()
endforeach()
set_directory_properties(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "
${
additional_clean_files
}
")
endif()
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment