mirror of
https://github.com/open-mmlab/mmdeploy.git
synced 2025-01-14 08:09:43 +08:00
parent
0e1a3aa8c7
commit
bfd46c1c68
@ -126,10 +126,16 @@ function (mmdeploy_load_static NAME)
|
|||||||
target_link_libraries(${NAME} PRIVATE ${ARGN})
|
target_link_libraries(${NAME} PRIVATE ${ARGN})
|
||||||
else ()
|
else ()
|
||||||
_mmdeploy_flatten_modules(_MODULE_LIST ${ARGN})
|
_mmdeploy_flatten_modules(_MODULE_LIST ${ARGN})
|
||||||
target_link_libraries(${NAME} PRIVATE
|
if (APPLE)
|
||||||
-Wl,--whole-archive
|
foreach (module IN LISTS _MODULE_LIST)
|
||||||
${_MODULE_LIST}
|
target_link_libraries(${NAME} PRIVATE -force_load ${module})
|
||||||
-Wl,--no-whole-archive)
|
endforeach ()
|
||||||
|
else ()
|
||||||
|
target_link_libraries(${NAME} PRIVATE
|
||||||
|
-Wl,--whole-archive
|
||||||
|
${_MODULE_LIST}
|
||||||
|
-Wl,--no-whole-archive)
|
||||||
|
endif ()
|
||||||
endif ()
|
endif ()
|
||||||
endfunction ()
|
endfunction ()
|
||||||
|
|
||||||
@ -158,6 +164,8 @@ function (mmdeploy_load_dynamic NAME)
|
|||||||
|
|
||||||
mmdeploy_add_module(${_LOADER_NAME} STATIC EXCLUDE ${_LOADER_PATH})
|
mmdeploy_add_module(${_LOADER_NAME} STATIC EXCLUDE ${_LOADER_PATH})
|
||||||
mmdeploy_load_static(${NAME} ${_LOADER_NAME})
|
mmdeploy_load_static(${NAME} ${_LOADER_NAME})
|
||||||
|
elseif (APPLE)
|
||||||
|
target_link_libraries(${NAME} PRIVATE ${_MODULE_LIST})
|
||||||
else ()
|
else ()
|
||||||
target_link_libraries(${NAME} PRIVATE
|
target_link_libraries(${NAME} PRIVATE
|
||||||
-Wl,--no-as-needed
|
-Wl,--no-as-needed
|
||||||
|
@ -8,6 +8,8 @@ include(${CMAKE_SOURCE_DIR}/cmake/modules/FindONNXRUNTIME.cmake)
|
|||||||
file(GLOB_RECURSE ORT_OPS_SRCS *.cpp)
|
file(GLOB_RECURSE ORT_OPS_SRCS *.cpp)
|
||||||
add_library(${PROJECT_NAME}_obj OBJECT "${ORT_OPS_SRCS}")
|
add_library(${PROJECT_NAME}_obj OBJECT "${ORT_OPS_SRCS}")
|
||||||
target_compile_definitions(${PROJECT_NAME}_obj PRIVATE -DMMDEPLOY_API_EXPORTS=1)
|
target_compile_definitions(${PROJECT_NAME}_obj PRIVATE -DMMDEPLOY_API_EXPORTS=1)
|
||||||
|
target_compile_options(${PROJECT_NAME}_obj PRIVATE
|
||||||
|
$<$<COMPILE_LANGUAGE:CXX>:-fvisibility=hidden>)
|
||||||
set_target_properties(${PROJECT_NAME}_obj PROPERTIES POSITION_INDEPENDENT_CODE 1)
|
set_target_properties(${PROJECT_NAME}_obj PROPERTIES POSITION_INDEPENDENT_CODE 1)
|
||||||
mmdeploy_export(${PROJECT_NAME}_obj)
|
mmdeploy_export(${PROJECT_NAME}_obj)
|
||||||
|
|
||||||
|
@ -5,6 +5,9 @@ project(mmdeploy_mmocr_cpu_impl CXX)
|
|||||||
if ("cpu" IN_LIST MMDEPLOY_TARGET_DEVICES)
|
if ("cpu" IN_LIST MMDEPLOY_TARGET_DEVICES)
|
||||||
add_library(${PROJECT_NAME} OBJECT dbnet.cpp panet.cpp psenet.cpp)
|
add_library(${PROJECT_NAME} OBJECT dbnet.cpp panet.cpp psenet.cpp)
|
||||||
set_target_properties(${PROJECT_NAME} PROPERTIES POSITION_INDEPENDENT_CODE 1)
|
set_target_properties(${PROJECT_NAME} PROPERTIES POSITION_INDEPENDENT_CODE 1)
|
||||||
|
if (NOT (MMDEPLOY_SHARED_LIBS OR MSVC))
|
||||||
|
target_compile_options(${PROJECT_NAME} PRIVATE $<$<COMPILE_LANGUAGE:CXX>:-fvisibility=hidden>)
|
||||||
|
endif ()
|
||||||
target_link_libraries(${PROJECT_NAME} PRIVATE
|
target_link_libraries(${PROJECT_NAME} PRIVATE
|
||||||
mmdeploy_opencv_utils
|
mmdeploy_opencv_utils
|
||||||
mmdeploy::core)
|
mmdeploy::core)
|
||||||
|
@ -14,6 +14,9 @@ else ()
|
|||||||
set(MMDEPLOY_SPDLOG_DIR ${CMAKE_SOURCE_DIR}/third_party/spdlog)
|
set(MMDEPLOY_SPDLOG_DIR ${CMAKE_SOURCE_DIR}/third_party/spdlog)
|
||||||
add_subdirectory(${MMDEPLOY_SPDLOG_DIR} ${CMAKE_CURRENT_BINARY_DIR}/spdlog EXCLUDE_FROM_ALL)
|
add_subdirectory(${MMDEPLOY_SPDLOG_DIR} ${CMAKE_CURRENT_BINARY_DIR}/spdlog EXCLUDE_FROM_ALL)
|
||||||
set_target_properties(spdlog PROPERTIES POSITION_INDEPENDENT_CODE ON)
|
set_target_properties(spdlog PROPERTIES POSITION_INDEPENDENT_CODE ON)
|
||||||
|
if (NOT (MMDEPLOY_SHARED_LIBS OR MSVC))
|
||||||
|
target_compile_options(spdlog PRIVATE $<$<COMPILE_LANGUAGE:CXX>:-fvisibility=hidden>)
|
||||||
|
endif ()
|
||||||
set(SPDLOG_LIB spdlog::spdlog)
|
set(SPDLOG_LIB spdlog::spdlog)
|
||||||
mmdeploy_export(spdlog)
|
mmdeploy_export(spdlog)
|
||||||
if (MMDEPLOY_BUILD_SDK_CXX_API)
|
if (MMDEPLOY_BUILD_SDK_CXX_API)
|
||||||
@ -62,7 +65,7 @@ if (MMDEPLOY_BUILD_SDK_CXX_API)
|
|||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
target_link_libraries(${PROJECT_NAME} PUBLIC ${SPDLOG_LIB})
|
target_link_libraries(${PROJECT_NAME} PUBLIC ${SPDLOG_LIB})
|
||||||
if (NOT (MSVC OR ANDROID))
|
if (NOT (MSVC OR ANDROID OR APPLE))
|
||||||
target_link_libraries(${PROJECT_NAME} PUBLIC stdc++fs)
|
target_link_libraries(${PROJECT_NAME} PUBLIC stdc++fs)
|
||||||
endif ()
|
endif ()
|
||||||
add_library(mmdeploy::core ALIAS ${PROJECT_NAME})
|
add_library(mmdeploy::core ALIAS ${PROJECT_NAME})
|
||||||
|
@ -10,7 +10,8 @@ endif ()
|
|||||||
foreach (MODEL_NAME ${MODEL_NAMES})
|
foreach (MODEL_NAME ${MODEL_NAMES})
|
||||||
set(TARGET_MODEL_NAME mmdeploy_${MODEL_NAME})
|
set(TARGET_MODEL_NAME mmdeploy_${MODEL_NAME})
|
||||||
mmdeploy_add_module(${TARGET_MODEL_NAME} ${MODEL_NAME}_impl.cpp)
|
mmdeploy_add_module(${TARGET_MODEL_NAME} ${MODEL_NAME}_impl.cpp)
|
||||||
if (NOT (MSVC OR ANDROID))
|
# TODO: stdc++fs only exists in libstdc++
|
||||||
|
if (NOT (MSVC OR ANDROID OR APPLE))
|
||||||
target_link_libraries(${TARGET_MODEL_NAME} PUBLIC stdc++fs)
|
target_link_libraries(${TARGET_MODEL_NAME} PUBLIC stdc++fs)
|
||||||
endif ()
|
endif ()
|
||||||
if (${MODEL_NAME} STREQUAL "zip_model")
|
if (${MODEL_NAME} STREQUAL "zip_model")
|
||||||
|
@ -9,7 +9,7 @@ function(add_example task name)
|
|||||||
# Search for c/cpp sources
|
# Search for c/cpp sources
|
||||||
file(GLOB _SRCS ${name}.c*)
|
file(GLOB _SRCS ${name}.c*)
|
||||||
add_executable(${name} ${_SRCS})
|
add_executable(${name} ${_SRCS})
|
||||||
if (NOT MSVC)
|
if (NOT (MSVC OR APPLE))
|
||||||
# Disable new dtags so that executables can run even without LD_LIBRARY_PATH set
|
# Disable new dtags so that executables can run even without LD_LIBRARY_PATH set
|
||||||
target_link_libraries(${name} PRIVATE -Wl,--disable-new-dtags)
|
target_link_libraries(${name} PRIVATE -Wl,--disable-new-dtags)
|
||||||
endif ()
|
endif ()
|
||||||
|
@ -65,6 +65,10 @@ target_include_directories(mmdeploy_tests
|
|||||||
PRIVATE ${CMAKE_SOURCE_DIR}/third_party/catch2)
|
PRIVATE ${CMAKE_SOURCE_DIR}/third_party/catch2)
|
||||||
target_include_directories(mmdeploy_tests PRIVATE ${CMAKE_CURRENT_SOURCE_DIR})
|
target_include_directories(mmdeploy_tests PRIVATE ${CMAKE_CURRENT_SOURCE_DIR})
|
||||||
|
|
||||||
|
if (NOT (MMDEPLOY_SHARED_LIBS OR MSVC))
|
||||||
|
target_compile_options(mmdeploy_tests PRIVATE $<$<COMPILE_LANGUAGE:CXX>:-fvisibility=hidden>)
|
||||||
|
endif ()
|
||||||
|
|
||||||
mmdeploy_load_static(mmdeploy_tests MMDeployStaticModules)
|
mmdeploy_load_static(mmdeploy_tests MMDeployStaticModules)
|
||||||
mmdeploy_load_dynamic(mmdeploy_tests MMDeployDynamicModules)
|
mmdeploy_load_dynamic(mmdeploy_tests MMDeployDynamicModules)
|
||||||
target_link_libraries(mmdeploy_tests PRIVATE
|
target_link_libraries(mmdeploy_tests PRIVATE
|
||||||
|
@ -180,7 +180,7 @@ void TestFunc(const char* sched_name) {
|
|||||||
}
|
}
|
||||||
SECTION("Bulk") {
|
SECTION("Bulk") {
|
||||||
auto sender = Just(Value(Value::Array(100))) | Transfer(sched) |
|
auto sender = Just(Value(Value::Array(100))) | Transfer(sched) |
|
||||||
Bulk(100, [](size_t index, Value& v) { v[index] = index; });
|
Bulk(100, [](size_t index, Value& v) { v[index] = (uint32_t)index; });
|
||||||
auto [value] = SyncWait(std::move(sender));
|
auto [value] = SyncWait(std::move(sender));
|
||||||
std::vector<int> a;
|
std::vector<int> a;
|
||||||
std::vector<int> b;
|
std::vector<int> b;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user