parent
0e1a3aa8c7
commit
bfd46c1c68
cmake
csrc/mmdeploy
backend_ops/onnxruntime
codebase/mmocr/cpu
core
model
demo/csrc
tests/test_csrc
|
@ -126,10 +126,16 @@ function (mmdeploy_load_static NAME)
|
|||
target_link_libraries(${NAME} PRIVATE ${ARGN})
|
||||
else ()
|
||||
_mmdeploy_flatten_modules(_MODULE_LIST ${ARGN})
|
||||
target_link_libraries(${NAME} PRIVATE
|
||||
-Wl,--whole-archive
|
||||
${_MODULE_LIST}
|
||||
-Wl,--no-whole-archive)
|
||||
if (APPLE)
|
||||
foreach (module IN LISTS _MODULE_LIST)
|
||||
target_link_libraries(${NAME} PRIVATE -force_load ${module})
|
||||
endforeach ()
|
||||
else ()
|
||||
target_link_libraries(${NAME} PRIVATE
|
||||
-Wl,--whole-archive
|
||||
${_MODULE_LIST}
|
||||
-Wl,--no-whole-archive)
|
||||
endif ()
|
||||
endif ()
|
||||
endfunction ()
|
||||
|
||||
|
@ -158,6 +164,8 @@ function (mmdeploy_load_dynamic NAME)
|
|||
|
||||
mmdeploy_add_module(${_LOADER_NAME} STATIC EXCLUDE ${_LOADER_PATH})
|
||||
mmdeploy_load_static(${NAME} ${_LOADER_NAME})
|
||||
elseif (APPLE)
|
||||
target_link_libraries(${NAME} PRIVATE ${_MODULE_LIST})
|
||||
else ()
|
||||
target_link_libraries(${NAME} PRIVATE
|
||||
-Wl,--no-as-needed
|
||||
|
|
|
@ -8,6 +8,8 @@ include(${CMAKE_SOURCE_DIR}/cmake/modules/FindONNXRUNTIME.cmake)
|
|||
file(GLOB_RECURSE ORT_OPS_SRCS *.cpp)
|
||||
add_library(${PROJECT_NAME}_obj OBJECT "${ORT_OPS_SRCS}")
|
||||
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)
|
||||
mmdeploy_export(${PROJECT_NAME}_obj)
|
||||
|
||||
|
|
|
@ -5,6 +5,9 @@ project(mmdeploy_mmocr_cpu_impl CXX)
|
|||
if ("cpu" IN_LIST MMDEPLOY_TARGET_DEVICES)
|
||||
add_library(${PROJECT_NAME} OBJECT dbnet.cpp panet.cpp psenet.cpp)
|
||||
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
|
||||
mmdeploy_opencv_utils
|
||||
mmdeploy::core)
|
||||
|
|
|
@ -14,6 +14,9 @@ else ()
|
|||
set(MMDEPLOY_SPDLOG_DIR ${CMAKE_SOURCE_DIR}/third_party/spdlog)
|
||||
add_subdirectory(${MMDEPLOY_SPDLOG_DIR} ${CMAKE_CURRENT_BINARY_DIR}/spdlog EXCLUDE_FROM_ALL)
|
||||
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)
|
||||
mmdeploy_export(spdlog)
|
||||
if (MMDEPLOY_BUILD_SDK_CXX_API)
|
||||
|
@ -62,7 +65,7 @@ if (MMDEPLOY_BUILD_SDK_CXX_API)
|
|||
endif ()
|
||||
|
||||
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)
|
||||
endif ()
|
||||
add_library(mmdeploy::core ALIAS ${PROJECT_NAME})
|
||||
|
|
|
@ -10,7 +10,8 @@ endif ()
|
|||
foreach (MODEL_NAME ${MODEL_NAMES})
|
||||
set(TARGET_MODEL_NAME mmdeploy_${MODEL_NAME})
|
||||
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)
|
||||
endif ()
|
||||
if (${MODEL_NAME} STREQUAL "zip_model")
|
||||
|
|
|
@ -9,7 +9,7 @@ function(add_example task name)
|
|||
# Search for c/cpp sources
|
||||
file(GLOB _SRCS ${name}.c*)
|
||||
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
|
||||
target_link_libraries(${name} PRIVATE -Wl,--disable-new-dtags)
|
||||
endif ()
|
||||
|
|
|
@ -65,6 +65,10 @@ target_include_directories(mmdeploy_tests
|
|||
PRIVATE ${CMAKE_SOURCE_DIR}/third_party/catch2)
|
||||
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_dynamic(mmdeploy_tests MMDeployDynamicModules)
|
||||
target_link_libraries(mmdeploy_tests PRIVATE
|
||||
|
|
|
@ -180,7 +180,7 @@ void TestFunc(const char* sched_name) {
|
|||
}
|
||||
SECTION("Bulk") {
|
||||
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));
|
||||
std::vector<int> a;
|
||||
std::vector<int> b;
|
||||
|
|
Loading…
Reference in New Issue