Merge remote-tracking branch 'upstream/master' into sync_with_master
commit
7cbd175bdd
|
@ -47,19 +47,16 @@ jobs:
|
|||
run: sudo apt-get install libopencv-dev
|
||||
- name: Install mmdeploy with onnxruntime backend
|
||||
run: |
|
||||
mkdir -p build && pushd build
|
||||
export LD_LIBRARY_PATH=/home/runner/work/mmdeploy/mmdeploy/ncnn/install/lib/:$LD_LIBRARY_PATH
|
||||
cmake -DMMDEPLOY_BUILD_SDK=ON -DMMDEPLOY_BUILD_SDK_MONOLITHIC=ON -DMMDEPLOY_TARGET_BACKENDS=ort -DMMDEPLOY_CODEBASES=all -DONNXRUNTIME_DIR=~/work/mmdeploy/mmdeploy/onnxruntime-linux-x64-1.8.1 ..
|
||||
make install
|
||||
popd
|
||||
- name: Clone rust-mmdeploy
|
||||
wget https://github.com/open-mmlab/mmdeploy/releases/download/v0.9.0/mmdeploy-0.9.0-linux-x86_64-onnxruntime1.8.1.tar.gz
|
||||
tar -zxvf mmdeploy-0.9.0-linux-x86_64-onnxruntime1.8.1.tar.gz
|
||||
- name: Download rust-mmdeploy
|
||||
run: git clone https://github.com/liu-mengyang/rust-mmdeploy
|
||||
- name: Install converted models
|
||||
- name: Download converted models
|
||||
run: git clone https://github.com/liu-mengyang/mmdeploy-converted-models --depth=1
|
||||
- name: Test rustdemo
|
||||
run: |
|
||||
pushd rust-mmdeploy
|
||||
export MMDEPLOY_DIR=/home/runner/work/mmdeploy/mmdeploy/build/install
|
||||
export MMDEPLOY_DIR=/home/runner/work/mmdeploy/mmdeploy/mmdeploy-0.9.0-linux-x86_64-onnxruntime1.8.1/sdk
|
||||
export LD_LIBRARY_PATH=$MMDEPLOY_DIR/lib:$LD_LIBRARY_PATH
|
||||
export ONNXRUNTIME_DIR=/home/runner/work/mmdeploy/mmdeploy/onnxruntime-linux-x64-1.8.1
|
||||
export LD_LIBRARY_PATH=$ONNXRUNTIME_DIR/lib:$LD_LIBRARY_PATH
|
||||
|
|
|
@ -0,0 +1,43 @@
|
|||
# Copyright (c) OpenMMLab. All rights reserved.
|
||||
# Modified from https://github.com/pybind/pybind11/blob/master/tests/CMakeLists.txt
|
||||
|
||||
if (MSVC)
|
||||
set(STD_FS_NO_LIB_NEEDED TRUE)
|
||||
else ()
|
||||
file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/main.cpp
|
||||
"#include <filesystem>\nint main(int,char**argv){return std::filesystem::path(argv[0]).string().length();}")
|
||||
try_compile(HAS_INC_FS ${CMAKE_CURRENT_BINARY_DIR}
|
||||
SOURCES ${CMAKE_CURRENT_BINARY_DIR}/main.cpp
|
||||
COMPILE_DEFINITIONS -std=c++17 -c)
|
||||
|
||||
if (NOT HAS_INC_FS)
|
||||
file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/main.cpp
|
||||
"#include <experimental/filesystem>\nint main(int,char**argv){return std::experimental::filesystem::path(argv[0]).string().length();}")
|
||||
endif ()
|
||||
|
||||
try_compile(
|
||||
STD_FS_NO_LIB_NEEDED ${CMAKE_CURRENT_BINARY_DIR}
|
||||
SOURCES ${CMAKE_CURRENT_BINARY_DIR}/main.cpp
|
||||
COMPILE_DEFINITIONS -std=c++17)
|
||||
try_compile(
|
||||
STD_FS_NEEDS_STDCXXFS ${CMAKE_CURRENT_BINARY_DIR}
|
||||
SOURCES ${CMAKE_CURRENT_BINARY_DIR}/main.cpp
|
||||
COMPILE_DEFINITIONS -std=c++17
|
||||
LINK_LIBRARIES stdc++fs)
|
||||
try_compile(
|
||||
STD_FS_NEEDS_CXXFS ${CMAKE_CURRENT_BINARY_DIR}
|
||||
SOURCES ${CMAKE_CURRENT_BINARY_DIR}/main.cpp
|
||||
COMPILE_DEFINITIONS -std=c++17
|
||||
LINK_LIBRARIES c++fs)
|
||||
endif ()
|
||||
|
||||
if (${STD_FS_NO_LIB_NEEDED})
|
||||
set(STD_FS_LIB "")
|
||||
elseif (${STD_FS_NEEDS_STDCXXFS})
|
||||
set(STD_FS_LIB stdc++fs)
|
||||
elseif (${STD_FS_NEEDS_CXXFS})
|
||||
set(STD_FS_LIB c++fs)
|
||||
else ()
|
||||
message(WARNING "Unknown C++17 compiler - not passing -lstdc++fs")
|
||||
set(STD_FS_LIB "")
|
||||
endif ()
|
|
@ -6,7 +6,6 @@ project(mmdeploy_python)
|
|||
set(MMDEPLOY_PYTHON_SRCS
|
||||
common.cpp
|
||||
internal.cpp
|
||||
# executor.cpp
|
||||
pipeline.cpp)
|
||||
|
||||
set(CMAKE_CXX_STANDARD 17)
|
||||
|
@ -26,6 +25,10 @@ endforeach ()
|
|||
|
||||
pybind11_add_module(${PROJECT_NAME} ${MMDEPLOY_PYTHON_SRCS})
|
||||
|
||||
# https://github.com/pybind/pybind11/issues/1604
|
||||
if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
|
||||
target_compile_options(${PROJECT_NAME} PRIVATE -fsized-deallocation)
|
||||
endif ()
|
||||
|
||||
mmdeploy_load_static(${PROJECT_NAME} MMDeployStaticModules)
|
||||
mmdeploy_load_dynamic(${PROJECT_NAME} MMDeployDynamicModules)
|
||||
|
|
|
@ -71,9 +71,12 @@ if (MMDEPLOY_BUILD_SDK_CXX_API)
|
|||
endif ()
|
||||
|
||||
target_link_libraries(${PROJECT_NAME} PUBLIC ${SPDLOG_LIB})
|
||||
if (NOT (MSVC OR ANDROID OR APPLE))
|
||||
target_link_libraries(${PROJECT_NAME} PUBLIC stdc++fs)
|
||||
|
||||
include(${CMAKE_SOURCE_DIR}/cmake/filesystem.cmake)
|
||||
if (STD_FS_LIB)
|
||||
target_link_libraries(${PROJECT_NAME} PUBLIC ${STD_FS_LIB})
|
||||
endif ()
|
||||
|
||||
add_library(mmdeploy::core ALIAS ${PROJECT_NAME})
|
||||
|
||||
if (MMDEPLOY_BUILD_SDK_CXX_API)
|
||||
|
|
|
@ -10,10 +10,6 @@ endif ()
|
|||
foreach (MODEL_NAME ${MODEL_NAMES})
|
||||
set(TARGET_MODEL_NAME mmdeploy_${MODEL_NAME})
|
||||
mmdeploy_add_module(${TARGET_MODEL_NAME} ${MODEL_NAME}_impl.cpp)
|
||||
# TODO: stdc++fs only exists in libstdc++
|
||||
if (NOT (MSVC OR ANDROID OR APPLE))
|
||||
target_link_libraries(${TARGET_MODEL_NAME} PUBLIC stdc++fs)
|
||||
endif ()
|
||||
if (${MODEL_NAME} STREQUAL "zip_model")
|
||||
find_package(libzip QUIET)
|
||||
if (libzip_FOUND)
|
||||
|
|
Loading…
Reference in New Issue