From a718ffe823b510aa27e46d5bf6b0ffd2bf402fed Mon Sep 17 00:00:00 2001 From: Hui Zhang Date: Tue, 7 Mar 2023 10:56:05 +0000 Subject: [PATCH] refactor fastdeploy download --- runtime/build_android.sh | 2 +- runtime/cmake/fastdeploy.cmake | 80 ++++++++++--------- runtime/engine/common/base/CMakeLists.txt | 1 + runtime/engine/common/frontend/CMakeLists.txt | 1 + runtime/engine/vad/interface/CMakeLists.txt | 2 +- runtime/engine/vad/nnet/CMakeLists.txt | 3 +- 6 files changed, 49 insertions(+), 40 deletions(-) diff --git a/runtime/build_android.sh b/runtime/build_android.sh index 64a337627..41ae7c611 100755 --- a/runtime/build_android.sh +++ b/runtime/build_android.sh @@ -15,7 +15,7 @@ TOOLCHAIN_FILE=${ANDROID_NDK}/build/cmake/android.toolchain.cmake BUILD_ROOT=build/Android BUILD_DIR=${BUILD_ROOT}/${ANDROID_ABI}-api-21 #FASDEPLOY_INSTALL_DIR="${BUILD_DIR}/install" -#mkdir build && mkdir ${BUILD_ROOT} && mkdir ${BUILD_DIR} + mkdir -p ${BUILD_DIR} cd ${BUILD_DIR} diff --git a/runtime/cmake/fastdeploy.cmake b/runtime/cmake/fastdeploy.cmake index 8a34ca9b8..00ce2d33e 100644 --- a/runtime/cmake/fastdeploy.cmake +++ b/runtime/cmake/fastdeploy.cmake @@ -1,41 +1,45 @@ -set(ARCH "mserver_x86_64" CACHE STRING "Target Architecture: -android_arm, android_armv7, android_armv8, android_x86, android_x86_64, -mserver_x86_64, ubuntu_x86_64, ios_armv7, ios_armv7s, ios_armv8, ios_x86_64, ios_x86, -windows_x86") - -set(FASTDEPLOY_DIR ${CMAKE_SOURCE_DIR}/fc_patch/fastdeploy) -if(NOT EXISTS ${FASTDEPLOY_DIR}/fastdeploy-linux-x64-1.0.4.tgz) - exec_program("mkdir -p ${FASTDEPLOY_DIR} && - wget -c https://bj.bcebos.com/fastdeploy/release/cpp/fastdeploy-linux-x64-1.0.4.tgz -P ${FASTDEPLOY_DIR} && - tar xzvf ${FASTDEPLOY_DIR}/fastdeploy-linux-x64-1.0.4.tgz -C ${FASTDEPLOY_DIR} && - mv ${FASTDEPLOY_DIR}/fastdeploy-linux-x64-1.0.4 ${FASTDEPLOY_DIR}/linux-x64") -endif() - -if(NOT EXISTS ${FASTDEPLOY_DIR}/fastdeploy-android-1.0.4-shared.tgz) - exec_program("mkdir -p ${FASTDEPLOY_DIR} && - wget -c https://bj.bcebos.com/fastdeploy/release/android/fastdeploy-android-1.0.4-shared.tgz -P ${FASTDEPLOY_DIR} && - tar xzvf ${FASTDEPLOY_DIR}/fastdeploy-android-1.0.4-shared.tgz -C ${FASTDEPLOY_DIR} && - mv ${FASTDEPLOY_DIR}/fastdeploy-android-1.0.4-shared ${FASTDEPLOY_DIR}/android-armv7v8") -endif() - - -if(ANDROID) - if(NOT DEFINED FASTDEPLOY_INSTALL_DIR) - set(FASTDEPLOY_INSTALL_DIR ${FASTDEPLOY_DIR}/android-armv7v8) +include(FetchContent) + +set(EXTERNAL_PROJECT_LOG_ARGS + LOG_DOWNLOAD 1 # Wrap download in script to log output + LOG_UPDATE 1 # Wrap update in script to log output + LOG_PATCH 1 + LOG_CONFIGURE 1# Wrap configure in script to log output + LOG_BUILD 1 # Wrap build in script to log output + LOG_INSTALL 1 + LOG_TEST 1 # Wrap test in script to log output + LOG_MERGED_STDOUTERR 1 + LOG_OUTPUT_ON_FAILURE 1 +) + +if(NOT FASTDEPLOY_INSTALL_DIR) + if(ANDROID) + FetchContent_Declare( + fastdeploy + URL https://bj.bcebos.com/fastdeploy/release/android/fastdeploy-android-1.0.4-shared.tgz + URL_HASH MD5=2a15301158e9eb157a4f11283689e7ba + ${EXTERNAL_PROJECT_LOG_ARGS} + ) + add_definitions("-DUSE_PADDLE_LITE_BAKEND") + set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -g -mfloat-abi=softfp -mfpu=vfpv3 -mfpu=neon -fPIC -pie -fPIE") + set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -g0 -O3 -mfloat-abi=softfp -mfpu=vfpv3 -mfpu=neon -fPIC -pie -fPIE") + else() # Linux + FetchContent_Declare( + fastdeploy + URL https://bj.bcebos.com/fastdeploy/release/cpp/fastdeploy-linux-x64-1.0.4.tgz + URL_HASH MD5=125df3bfce603521960cc5c8b47faab0 + ${EXTERNAL_PROJECT_LOG_ARGS} + ) + + add_definitions("-DUSE_PADDLE_INFERENCE_BACKEND") + # add_definitions("-DUSE_ORT_BACKEND") + set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -msse -msse2") + set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -msse -msse2 -mavx -O3") endif() - add_definitions("-DUSE_PADDLE_LITE_BAKEND") - set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -g -mfloat-abi=softfp -mfpu=vfpv3 -mfpu=neon -fPIC -pie -fPIE") - set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -g0 -O3 -mfloat-abi=softfp -mfpu=vfpv3 -mfpu=neon -fPIC -pie -fPIE") -elseif(UNIX) - if(NOT DEFINED FASTDEPLOY_INSTALL_DIR) - set(FASTDEPLOY_INSTALL_DIR ${FASTDEPLOY_DIR}/linux-x64) - endif() + FetchContent_MakeAvailable(fastdeploy) - add_definitions("-DUSE_PADDLE_INFERENCE_BACKEND") - # add_definitions("-DUSE_ORT_BACKEND") - set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -msse -msse2") - set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -msse -msse2 -mavx -O3") + set(FASTDEPLOY_INSTALL_DIR ${fc_patch}/fastdeploy-src) endif() include(${FASTDEPLOY_INSTALL_DIR}/FastDeploy.cmake) @@ -77,8 +81,12 @@ if(ENABLE_VISION) if(ANDROID) file(GLOB_RECURSE ALL_OPENCV_DYN_LIBS ${OpenCV_NATIVE_DIR}/libs/${DYN_LIB_SUFFIX}) else() - file(GLOB_RECURSE ALL_OPENCV_DYN_LIBS ${OpenCV_DIR}/${DYN_LIB_SUFFIX}) + file(GLOB_RECURSE ALL_OPENCV_DYN_LIBS ${OpenCV_DIR}/../../${DYN_LIB_SUFFIX}) endif() + + message(STATUS "ALL_DEPS_DYN_LIBS=${ALL_DEPS_DYN_LIBS}") + message(STATUS "OpenCV_DIR=${OpenCV_DIR}") + message(STATUS "ALL_OPENCV_DYN_LIBS=${ALL_OPENCV_DYN_LIBS}") list(REMOVE_ITEM ALL_DEPS_DYN_LIBS ${ALL_OPENCV_DYN_LIBS}) if(WIN32) diff --git a/runtime/engine/common/base/CMakeLists.txt b/runtime/engine/common/base/CMakeLists.txt index a49b78bdd..f4171a186 100644 --- a/runtime/engine/common/base/CMakeLists.txt +++ b/runtime/engine/common/base/CMakeLists.txt @@ -36,6 +36,7 @@ if(ANDROID) glog_utils.cc ) add_library(base ${csrc}) + target_link_libraries(base gflags) else() # UNIX set(csrc) add_library(base INTERFACE) diff --git a/runtime/engine/common/frontend/CMakeLists.txt b/runtime/engine/common/frontend/CMakeLists.txt index 983e89e89..67d6e7692 100644 --- a/runtime/engine/common/frontend/CMakeLists.txt +++ b/runtime/engine/common/frontend/CMakeLists.txt @@ -6,6 +6,7 @@ add_library(kaldi-native-fbank-core mel-computations.cc rfft.cc ) +target_link_libraries(kaldi-native-fbank-core PUBLIC utils base) add_library(frontend STATIC cmvn.cc diff --git a/runtime/engine/vad/interface/CMakeLists.txt b/runtime/engine/vad/interface/CMakeLists.txt index 89307e6bb..a58d7ed34 100644 --- a/runtime/engine/vad/interface/CMakeLists.txt +++ b/runtime/engine/vad/interface/CMakeLists.txt @@ -3,7 +3,7 @@ set(srcs ) add_library(vad_interface ${srcs}) -target_link_libraries(vad_interface INTERFACE ${FASTDEPLOY_LIBS} vad extern_glog) +target_link_libraries(vad_interface PUBLIC ${FASTDEPLOY_LIBS} vad extern_glog) set(bin_name vad_interface_main) diff --git a/runtime/engine/vad/nnet/CMakeLists.txt b/runtime/engine/vad/nnet/CMakeLists.txt index c7a29b28a..dafc2bb01 100644 --- a/runtime/engine/vad/nnet/CMakeLists.txt +++ b/runtime/engine/vad/nnet/CMakeLists.txt @@ -3,8 +3,7 @@ set(srcs ) add_library(vad ${srcs}) -target_link_libraries(vad INTERFACE ${FASTDEPLOY_LIBS} common) -target_link_libraries(vad PRIVATE common) +target_link_libraries(vad PUBLIC ${FASTDEPLOY_LIBS} common) set(bin_name vad_nnet_main)