[Android] support fastdeploy with armeabi-v7a and arm64-v8a (#268)

* [Andorid] support fastdeploy with armeabi-v7a and arm64-v8a

* [Android] support fastdeploy with armeabi-v7a and arm64-v8a

* [cmake] fixed custom opencv_directory error for android
This commit is contained in:
DefTruth
2022-09-22 19:10:14 +08:00
committed by GitHub
parent 000d2c4617
commit 189646f08f
7 changed files with 207 additions and 51 deletions

View File

@@ -22,6 +22,21 @@ function(get_fastdeploy_example_names NAME_SPACE CLASS_NAME CC_FILE)
set(${CLASS_NAME} ${_CLASS_NAME} PARENT_SCOPE)
endfunction()
function(config_fastdeploy_executable_link_flags TARGET_NAME)
if(ANDROID)
# some specific flags for Android.
set(COMMON_LINK_FLAGS "-Wl,-exclude-libs,ALL")
set(COMMON_LINK_FLAGS_REL "-Wl,-s,--gc-sections,-exclude-libs,ALL")
if(WITH_OPENCV_STATIC OR WITH_LITE_STATIC)
set(COMMON_LINK_FLAGS "${COMMON_LINK_FLAGS},--allow-multiple-definition")
set(COMMON_LINK_FLAGS_REL "${COMMON_LINK_FLAGS_REL},--allow-multiple-definition")
endif()
set_target_properties(${TARGET_NAME} PROPERTIES LINK_FLAGS ${COMMON_LINK_FLAGS})
set_target_properties(${TARGET_NAME} PROPERTIES LINK_FLAGS_RELEASE ${COMMON_LINK_FLAGS_REL})
set_target_properties(${TARGET_NAME} PROPERTIES LINK_FLAGS_MINSIZEREL ${COMMON_LINK_FLAGS_REL})
endif()
endfunction()
set(EXAMPLES_NUM 0)
function(add_fastdeploy_executable FIELD CC_FILE)
# temp target name/file var in function scope
@@ -33,6 +48,7 @@ function(add_fastdeploy_executable FIELD CC_FILE)
if(EXISTS ${TEMP_TARGET_FILE} AND TARGET fastdeploy)
add_executable(${TEMP_TARGET_NAME} ${TEMP_TARGET_FILE})
target_link_libraries(${TEMP_TARGET_NAME} PUBLIC fastdeploy)
config_fastdeploy_executable_link_flags(${TEMP_TARGET_NAME})
math(EXPR _EXAMPLES_NUM "${EXAMPLES_NUM} + 1")
set(EXAMPLES_NUM ${_EXAMPLES_NUM} PARENT_SCOPE)
string(LENGTH ${EXAMPLES_NUM} len)