From 87769bcf87acbef1a32f8a0d7454754c52454668 Mon Sep 17 00:00:00 2001 From: Chen Xin Date: Mon, 26 Jun 2023 11:29:45 +0800 Subject: [PATCH] fix android library size (#2095) --- CMakeLists.txt | 8 ++++---- csrc/mmdeploy/codebase/mmcls/CMakeLists.txt | 3 ++- csrc/mmdeploy/codebase/mmdet/CMakeLists.txt | 2 +- csrc/mmdeploy/codebase/mmedit/CMakeLists.txt | 3 ++- csrc/mmdeploy/codebase/mmpose/CMakeLists.txt | 5 +---- docs/en/01-how-to-build/android.md | 3 ++- docs/zh_cn/01-how-to-build/android.md | 3 ++- 7 files changed, 14 insertions(+), 13 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 52d24e0d0..96d4dc9a5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -4,6 +4,10 @@ if (NOT DEFINED CMAKE_INSTALL_PREFIX) endif () message(STATUS "CMAKE_INSTALL_PREFIX: ${CMAKE_INSTALL_PREFIX}") +if (NOT CMAKE_BUILD_TYPE) + set(CMAKE_BUILD_TYPE Release CACHE STRING "choose 'Release' as default build type" FORCE) +endif () + cmake_minimum_required(VERSION 3.14) project(MMDeploy VERSION 1.1.0) @@ -45,10 +49,6 @@ if ((NOT MMDEPLOY_BUILD_SDK_MONOLITHIC) AND MMDEPLOY_DYNAMIC_BACKEND) set(MMDEPLOY_DYNAMIC_BACKEND OFF) endif () -if (NOT CMAKE_BUILD_TYPE) - set(CMAKE_BUILD_TYPE Release CACHE STRING "choose 'Release' as default build type" FORCE) -endif () - if (MMDEPLOY_SHARED_LIBS) set(MMDEPLOY_LIB_TYPE SHARED) else () diff --git a/csrc/mmdeploy/codebase/mmcls/CMakeLists.txt b/csrc/mmdeploy/codebase/mmcls/CMakeLists.txt index cc2232000..79ba5a2ec 100644 --- a/csrc/mmdeploy/codebase/mmcls/CMakeLists.txt +++ b/csrc/mmdeploy/codebase/mmcls/CMakeLists.txt @@ -4,7 +4,8 @@ project(mmdeploy_mmcls) file(GLOB_RECURSE SRCS ${CMAKE_CURRENT_SOURCE_DIR} "*.cpp") mmdeploy_add_module(${PROJECT_NAME} "${SRCS}") -target_link_libraries(${PROJECT_NAME} PRIVATE opencv_core) +target_link_libraries(${PROJECT_NAME} + PRIVATE mmdeploy_opencv_utils) add_library(mmdeploy::mmcls ALIAS ${PROJECT_NAME}) set(MMDEPLOY_TASKS ${MMDEPLOY_TASKS} classifier CACHE INTERNAL "") diff --git a/csrc/mmdeploy/codebase/mmdet/CMakeLists.txt b/csrc/mmdeploy/codebase/mmdet/CMakeLists.txt index 92768a43e..0d2c75d8e 100644 --- a/csrc/mmdeploy/codebase/mmdet/CMakeLists.txt +++ b/csrc/mmdeploy/codebase/mmdet/CMakeLists.txt @@ -5,7 +5,7 @@ project(mmdeploy_mmdet) file(GLOB_RECURSE SRCS ${CMAKE_CURRENT_SOURCE_DIR} "*.cpp") mmdeploy_add_module(${PROJECT_NAME} "${SRCS}") target_link_libraries(${PROJECT_NAME} - PRIVATE mmdeploy_opencv_utils) + PRIVATE mmdeploy_opencv_utils mmdeploy_operation) add_library(mmdeploy::mmdet ALIAS ${PROJECT_NAME}) diff --git a/csrc/mmdeploy/codebase/mmedit/CMakeLists.txt b/csrc/mmdeploy/codebase/mmedit/CMakeLists.txt index f8cfdae10..1d9f256bb 100644 --- a/csrc/mmdeploy/codebase/mmedit/CMakeLists.txt +++ b/csrc/mmdeploy/codebase/mmedit/CMakeLists.txt @@ -4,7 +4,8 @@ project(mmdeploy_mmedit) file(GLOB_RECURSE SRCS ${CMAKE_CURRENT_SOURCE_DIR} "*.cpp") mmdeploy_add_module(${PROJECT_NAME} "${SRCS}") -target_link_libraries(${PROJECT_NAME} PRIVATE opencv_core) +target_link_libraries(${PROJECT_NAME} + PRIVATE mmdeploy_opencv_utils) add_library(mmdeploy::mmedit ALIAS ${PROJECT_NAME}) set(MMDEPLOY_TASKS ${MMDEPLOY_TASKS} restorer CACHE INTERNAL "") diff --git a/csrc/mmdeploy/codebase/mmpose/CMakeLists.txt b/csrc/mmdeploy/codebase/mmpose/CMakeLists.txt index 4c165c0d1..9fbafd4aa 100644 --- a/csrc/mmdeploy/codebase/mmpose/CMakeLists.txt +++ b/csrc/mmdeploy/codebase/mmpose/CMakeLists.txt @@ -2,8 +2,6 @@ project(mmdeploy_mmpose) -find_package(OpenCV REQUIRED) - aux_source_directory(${CMAKE_CURRENT_SOURCE_DIR} MMPOSE_SRCS) aux_source_directory(${CMAKE_CURRENT_SOURCE_DIR}/pose_tracker POSE_TRACKER_SRCS) @@ -11,8 +9,7 @@ mmdeploy_add_module(${PROJECT_NAME} ${MMPOSE_SRCS} ${POSE_TRACKER_SRCS}) target_link_libraries(${PROJECT_NAME} PRIVATE mmdeploy::transform mmdeploy_operation - mmdeploy_opencv_utils - ${OpenCV_LIBS}) + mmdeploy_opencv_utils) target_include_directories(${PROJECT_NAME} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/../../apis/c) diff --git a/docs/en/01-how-to-build/android.md b/docs/en/01-how-to-build/android.md index ab1081bbc..11376f4d6 100644 --- a/docs/en/01-how-to-build/android.md +++ b/docs/en/01-how-to-build/android.md @@ -88,7 +88,7 @@ export ANDROID_ABI=arm64-v8a mkdir -p build\_${ANDROID_ABI} cd build\_${ANDROID_ABI} -cmake -DCMAKE_TOOLCHAIN_FILE=${NDK_PATH}/build/cmake/android.toolchain.cmake -DANDROID_ABI="${ANDROID_ABI}" -DANDROID_PLATFORM=android-30 -DNCNN_VULKAN=ON -DNCNN_DISABLE_EXCEPTION=OFF -DNCNN_DISABLE_RTTI=OFF .. +cmake -DCMAKE_TOOLCHAIN_FILE=${NDK_PATH}/build/cmake/android.toolchain.cmake -DANDROID_ABI="${ANDROID_ABI}" -DANDROID_PLATFORM=android-30 -DNCNN_VULKAN=ON -DNCNN_DISABLE_EXCEPTION=OFF -DNCNN_DISABLE_RTTI=OFF -DANDROID_USE_LEGACY_TOOLCHAIN_FILE=False .. make -j$(nproc) install @@ -123,6 +123,7 @@ MMDeploy provides a recipe as shown below for building SDK with ncnn as inferenc -DMMDEPLOY_TARGET_BACKENDS=ncnn \ -DMMDEPLOY_SHARED_LIBS=OFF \ -DCMAKE_TOOLCHAIN_FILE=${NDK_PATH}/build/cmake/android.toolchain.cmake \ + -DANDROID_USE_LEGACY_TOOLCHAIN_FILE=False \ -DANDROID_ABI=${ANDROID_ABI} \ -DANDROID_PLATFORM=android-30 \ -DANDROID_CPP_FEATURES="rtti exceptions" diff --git a/docs/zh_cn/01-how-to-build/android.md b/docs/zh_cn/01-how-to-build/android.md index 5ca790277..d606458fb 100644 --- a/docs/zh_cn/01-how-to-build/android.md +++ b/docs/zh_cn/01-how-to-build/android.md @@ -89,7 +89,7 @@ export ANDROID_ABI=arm64-v8a mkdir -p build_${ANDROID_ABI} cd build_${ANDROID_ABI} -cmake -DCMAKE_TOOLCHAIN_FILE=${NDK_PATH}/build/cmake/android.toolchain.cmake -DANDROID_ABI="${ANDROID_ABI}" -DANDROID_PLATFORM=android-30 -DNCNN_VULKAN=ON -DNCNN_DISABLE_EXCEPTION=OFF -DNCNN_DISABLE_RTTI=OFF .. +cmake -DCMAKE_TOOLCHAIN_FILE=${NDK_PATH}/build/cmake/android.toolchain.cmake -DANDROID_ABI="${ANDROID_ABI}" -DANDROID_PLATFORM=android-30 -DNCNN_VULKAN=ON -DNCNN_DISABLE_EXCEPTION=OFF -DNCNN_DISABLE_RTTI=OFF -DANDROID_USE_LEGACY_TOOLCHAIN_FILE=False .. make -j$(nproc) install @@ -124,6 +124,7 @@ make -j$(nproc) install -DMMDEPLOY_TARGET_BACKENDS=ncnn \ -DMMDEPLOY_SHARED_LIBS=OFF \ -DCMAKE_TOOLCHAIN_FILE=${NDK_PATH}/build/cmake/android.toolchain.cmake \ + -DANDROID_USE_LEGACY_TOOLCHAIN_FILE=False \ -DANDROID_ABI=${ANDROID_ABI} \ -DANDROID_PLATFORM=android-30 \ -DANDROID_CPP_FEATURES="rtti exceptions"