set(TOP_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../../..)
set(TEST_DIR ${TOP_DIR}/mindspore/lite/test)
set(LITE_DIR ${TOP_DIR}/mindspore/lite)
include_directories(${TOP_DIR})
include_directories(${TEST_DIR})
include_directories(${TOP_DIR}/mindspore/ccsrc/backend/kernel_compiler/cpu)
include(${TOP_DIR}/cmake/external_libs/gtest.cmake)
if(MSLITE_ENABLE_V0)
add_definitions(-DENABLE_V0)
endif()
file(GLOB_RECURSE TEST_UT_SRC
${TEST_DIR}/main.cc
${TEST_DIR}/common/common_test.cc
${TEST_DIR}/ut/src/infer_test.cc
${TEST_DIR}/ut/src/utils_test.cc
${TEST_DIR}/ut/src/scheduler_test.cc
${TEST_DIR}/ut/src/registry/registry_test.cc
${TEST_DIR}/ut/src/registry/registry_custom_op_test.cc
${TEST_DIR}/ut/src/runtime/runtime_pass_tests.cc
${TEST_DIR}/st/multiple_device_test.cc
${TEST_DIR}/st/mindrt_parallel_runtime_test.cc
${TEST_DIR}/st/mix_data_type_test.cc
${TEST_DIR}/ut/nnacl/infer/*.cc
${TEST_DIR}/ut/src/runtime/kernel/arm/common/*.cc
${TEST_DIR}/ut/src/runtime/kernel/arm/fp32/*.cc
${TEST_DIR}/ut/src/runtime/kernel/arm/int8/*.cc
${TEST_DIR}/ut/src/runtime/kernel/arm/string/*.cc
${TEST_DIR}/ut/src/api/*.cc
)
if(MSLITE_ENABLE_TRAIN)
file(GLOB_RECURSE TEST_TRAIN_UT_SRC
${TEST_DIR}/ut/src/runtime/kernel/arm/fp32_grad/*.cc
${TEST_DIR}/ut/src/runtime/kernel/arm/cxx_api/*.cc
)
list(APPEND TEST_UT_SRC ${TEST_TRAIN_UT_SRC})
endif()
if(MSLITE_GPU_BACKEND STREQUAL opencl)
file(GLOB_RECURSE TEST_GPU_UT_SRC
${TEST_DIR}/ut/src/runtime/kernel/opencl/*.cc
${TEST_DIR}/ut/src/registry/registry_gpu_custom_op_test.cc
)
list(APPEND TEST_UT_SRC ${TEST_GPU_UT_SRC})
endif()
if(MSLITE_ENABLE_FP16)
file(GLOB_RECURSE TEST_FP16_UT_SRC
${TEST_DIR}/ut/src/runtime/kernel/arm/fp16/*.cc
)
list(APPEND TEST_UT_SRC ${TEST_FP16_UT_SRC})
if(SUPPORT_TRAIN)
file(GLOB_RECURSE TEST_TRAIN_FP16_SRC
${TEST_DIR}/ut/src/runtime/kernel/arm/fp16_grad/*.cc)
list(APPEND TEST_UT_SRC ${TEST_TRAIN_FP16_SRC})
endif()
endif()
if(MSLITE_ENABLE_CONVERTER)
if(MSLITE_ENABLE_TOOLS)
list(APPEND TEST_UT_SRC ${TEST_DIR}/st/benchmark_test.cc)
set(TEST_LITE_SRC
${TEST_LITE_SRC}
${LITE_DIR}/tools/benchmark/run_benchmark.cc
${LITE_DIR}/tools/benchmark/benchmark_base.cc
${LITE_DIR}/tools/benchmark/benchmark_unified_api.cc
${LITE_DIR}/tools/benchmark/benchmark_c_api.cc
${LITE_DIR}/tools/benchmark/benchmark.cc
)
endif()
add_definitions(-DPRIMITIVE_WRITEABLE)
add_definitions(-DUSE_GLOG)
file(GLOB_RECURSE TEST_CONVERTER_UT_SRC
${TEST_DIR}/ut/tools/converter/registry/*.cc
${TEST_DIR}/ut/tools/converter/parser/tflite/*.cc
${TEST_DIR}/st/converter_test.cc
${TEST_DIR}/st/delegate_test.cc
${TEST_DIR}/st/mindrt_parallel_test.cc
${TEST_DIR}/st/graph_test.cc
${TEST_DIR}/st/sub_graph_test.cc
${TEST_DIR}/ut/src/dynamic_library_loader_test.cc
${TEST_DIR}/ut/tools/optimizer/fusion/conv_biasadd_fusion_test.cc
${TEST_DIR}/ut/tools/optimizer/fusion/conv_bn_fusion_test.cc
${TEST_DIR}/ut/tools/optimizer/fusion/conv_scale_fusion_test.cc
${TEST_DIR}/ut/tools/optimizer/fusion/conv_activation_fusion_test.cc
${TEST_DIR}/ut/tools/optimizer/fusion/constant_folding_fusion_test.cc
)
list(APPEND TEST_UT_SRC ${TEST_CONVERTER_UT_SRC})
set(TEST_LITE_SRC
${TEST_LITE_SRC}
${TEST_DIR}/common/import_from_meta_graphT.cc
${LITE_DIR}/src/ops/ops_utils.cc
${LITE_DIR}/src/ops/ops_def.cc
${LITE_DIR}/src/tensor.cc
)
endif()
set(TEST_SRC
${TEST_UT_SRC}
${TEST_LITE_SRC}
)
add_executable(lite-test ${TEST_SRC})
add_dependencies(lite-test fbs_src fbs_inner_src)
target_link_libraries(lite-test mindspore-lite dl mindspore::gtest)
if(MSLITE_ENABLE_TRAIN)
if(MSLITE_MINDDATA_IMPLEMENT STREQUAL "off")
target_link_libraries(lite-test mindspore-lite-train)
else()
target_link_libraries(lite-test mindspore-lite-train minddata-lite)
endif()
endif()
if(PLATFORM_ARM)
target_link_libraries(lite-test log)
else()
target_link_libraries(lite-test ${SECUREC_LIBRARY} pthread)
endif()
if(MSLITE_ENABLE_NPU)
target_link_libraries(lite-test c++_shared)
endif()
if(MSLITE_ENABLE_MINDRT)
add_library(mindrt_test_mid OBJECT ${TEST_DIR}/ut/src/lite_mindrt_test.cc)
add_dependencies(mindrt_test_mid fbs_src fbs_inner_src)
if("${CMAKE_BUILD_TYPE}" STREQUAL "Release")
target_compile_options(mindrt_test_mid PRIVATE -fno-rtti)
endif()
target_link_libraries(lite-test mindrt_test_mid)
endif()
if(MSLITE_ENABLE_CONVERTER)
target_link_libraries(lite-test
anf_exporter_mid
mslite_converter_plugin
tflite_parser_mid
caffe_parser_mid
onnx_parser_mid
tf_parser_mid
graph_pass_mid
fusion_mid
quantizer_mid
proto_mid
ccsrc_src_mid
converter_src_mid
mindspore::protobuf
mindspore::eigen
mindspore::json
-Wl,--whole-archive mindspore_core -Wl,--no-whole-archive
mindspore::glog
preprocess_mid
config_parser_mid
)
endif()
if(ENABLE_MODEL_OBF)
target_link_libraries(lite-test ${OBF_LIB_DIR}/libmsdeobfuscator-lite.so)
endif()