You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

CMakeLists.txt 2.6 kB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. cmake_minimum_required(VERSION 3.12)
  2. project(mspredict)
  3. set(CMAKE_CXX_STANDARD 11)
  4. include_directories(${CMAKE_CURRENT_SOURCE_DIR}/..)
  5. include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../module/tvm_kernel/incubator-tvm/3rdparty/dlpack/include/)
  6. link_directories(${CMAKE_CURRENT_SOURCE_DIR}/../output/lib/)
  7. if (ENABLE_ASAN)
  8. set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -o0 -fsanitize=address -fno-omit-frame-pointer -fsanitize=undefined")
  9. endif()
  10. set(MSPREDICT_SRC
  11. runtime/allocator.cc
  12. runtime/allocator.h
  13. runtime/thread_pool.cc
  14. runtime/thread_pool.h
  15. runtime/workspace_pool.cc
  16. runtime/workspace_pool.h
  17. runtime/runtime_api.cc
  18. runtime/runtime_api.h
  19. context.cc
  20. graph.cc
  21. graph.h
  22. graph_execution.cc
  23. graph_execution.h
  24. node.cc
  25. node.h
  26. op.cc
  27. op.h
  28. op_factory.cc
  29. op_factory.h
  30. op_registry.cc
  31. op_registry.h
  32. session.cc
  33. tensor.cc
  34. ${CMAKE_CURRENT_SOURCE_DIR}/operator/cpu/common/op_func_comm.cc)
  35. set(MSPREDICT_SRC ${MSPREDICT_SRC}
  36. ${CMAKE_CURRENT_SOURCE_DIR}/../common/graph_util.cc
  37. ${CMAKE_CURRENT_SOURCE_DIR}/../common/utils.cc
  38. ${CMAKE_CURRENT_SOURCE_DIR}/../common/mslog.cc
  39. ${CMAKE_CURRENT_SOURCE_DIR}/../common/module_registry.cc)
  40. add_library(mspredict SHARED ${MSPREDICT_SRC})
  41. if(ENABLE_PREDICT_ARM64 OR ENABLE_PREDICT_ARM32)
  42. target_link_libraries(mspredict android log tvm_kernel libsecurec.a)
  43. else()
  44. target_link_libraries(mspredict pthread tvm_kernel libsecurec.a)
  45. endif()
  46. add_dependencies(mspredict tvm_kernel)
  47. add_dependencies(mspredict securec)
  48. add_dependencies(mspredict gtest)
  49. add_custom_command(TARGET mspredict POST_BUILD
  50. COMMAND mkdir -pv ${PREDICT_DIR}/output/lib
  51. COMMAND cp ${PREDICT_BUILD_DIR}/src/libmspredict.so ${PREDICT_DIR}/output/lib/
  52. COMMAND cp ${PREDICT_BUILD_DIR}/module/tvm_kernel/lite/libtvm_kernel.so ${PREDICT_DIR}/output/lib/
  53. COMMAND mkdir -pv ${PREDICT_DIR}/output/include
  54. COMMAND cp -r ${PREDICT_DIR}/include/* ${PREDICT_DIR}/output/include
  55. COMMAND mkdir -pv ${PREDICT_DIR}/output/include/schema/inner
  56. COMMAND cp ${PREDICT_DIR}/schema/ms_generated.h ${PREDICT_DIR}/output/include/schema/inner
  57. COMMAND cp ${PREDICT_DIR}/schema/op_generated.h ${PREDICT_DIR}/output/include/schema/inner
  58. COMMAND mkdir -pv ${PREDICT_DIR}/output/include/dlpack/
  59. COMMAND cp ${PREDICT_DIR}/module/tvm_kernel/incubator-tvm/3rdparty/dlpack/include/dlpack/dlpack.h ${PREDICT_DIR}/output/include/dlpack/)