mirror of https://github.com/alibaba/MNN.git
45 lines
1.5 KiB
CMake
45 lines
1.5 KiB
CMake
set(TEST_DEPS ${MNN_DEPS})
|
|
if(MNN_WITH_PLUGIN)
|
|
include(${CMAKE_CURRENT_LIST_DIR}/plugin/CMakeLists.txt)
|
|
list(APPEND TEST_DEPS plugin_matmul)
|
|
endif()
|
|
|
|
if(APPLE)
|
|
file(GLOB_RECURSE Files ${CMAKE_CURRENT_LIST_DIR}/*.cpp ${CMAKE_CURRENT_LIST_DIR}/*.mm)
|
|
else()
|
|
file(GLOB_RECURSE Files ${CMAKE_CURRENT_LIST_DIR}/*.cpp)
|
|
endif()
|
|
|
|
if(NOT MNN_BUILD_TRAIN)
|
|
file(GLOB_RECURSE GradTestFiles ${CMAKE_CURRENT_LIST_DIR}/grad/*.cpp)
|
|
file(GLOB_RECURSE NNTestFiles ${CMAKE_CURRENT_LIST_DIR}/nn/*.cpp)
|
|
list(REMOVE_ITEM Files ${GradTestFiles} ${NNTestFiles})
|
|
endif()
|
|
|
|
add_executable(run_test.out ${Files})
|
|
target_link_libraries(run_test.out ${MNN_DEPS})
|
|
if (WIN32)
|
|
target_compile_options(run_test.out PRIVATE /bigobj)
|
|
endif()
|
|
if (MNN_SUPPORT_BF16)
|
|
target_compile_options(run_test.out PRIVATE -DMNN_SUPPORT_BF16)
|
|
endif()
|
|
if (NOT MNN_BUILD_SHARED_LIBS)
|
|
if(APPLE)
|
|
set(TEST_DEPS -Wl,-all_load ${TEST_DEPS} -Wl,-noall_load)
|
|
elseif(CMAKE_CXX_COMPILER_ID MATCHES "GNU" OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
|
|
set(TEST_DEPS -Wl,--whole-archive ${TEST_DEPS} -Wl,--no-whole-archive)
|
|
elseif(MSVC)
|
|
foreach (DEPEND ${TEST_DEPS})
|
|
target_link_options(run_test.out PRIVATE /WHOLEARCHIVE:$<TARGET_FILE:${DEPEND}>)
|
|
endforeach ()
|
|
endif()
|
|
else()
|
|
target_link_libraries(run_test.out ${TEST_DEPS})
|
|
endif()
|
|
target_include_directories(run_test.out PRIVATE ${CMAKE_CURRENT_LIST_DIR}/)
|
|
if (APPLE)
|
|
find_library(FOUNDATION Foundation REQUIRED)
|
|
target_link_libraries(run_test.out ${FOUNDATION})
|
|
endif()
|