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.7 kB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. # BUILD the load and run for lite
  2. include_directories(PUBLIC
  3. $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/lite/load_and_run/src>)
  4. file(GLOB_RECURSE SOURCES ./*.cpp ${PROJECT_SOURCE_DIR}/lite/src/pack_model/*.cpp)
  5. add_executable(load_and_run ${SOURCES})
  6. target_link_libraries(load_and_run lite_static)
  7. target_link_libraries(load_and_run megbrain)
  8. if(APPLE)
  9. target_link_libraries(load_and_run gflags)
  10. else()
  11. target_link_libraries(load_and_run gflags -Wl,--version-script=${MGE_VERSION_SCRIPT})
  12. endif()
  13. if(LITE_BUILD_WITH_RKNPU)
  14. # rknn sdk1.0.0 depend on libc++_shared, use gold to remove NEEDED so symbol check
  15. target_link_options(load_and_run PRIVATE "-fuse-ld=gold")
  16. endif()
  17. if(MGE_WITH_ROCM)
  18. # FIXME: hip obj can not find cpp obj only through lite_static
  19. target_link_libraries(load_and_run megdnn)
  20. endif()
  21. if(UNIX)
  22. if(APPLE OR ANDROID)
  23. target_link_libraries(load_and_run dl)
  24. else()
  25. target_link_libraries(load_and_run dl rt)
  26. endif()
  27. endif()
  28. if(LITE_BUILD_WITH_MGE
  29. AND NOT WIN32
  30. AND NOT APPLE)
  31. # FXIME third_party cpp redis do not support build with clang-cl
  32. target_include_directories(load_and_run PRIVATE ${CPP_REDIS_INCLUDES})
  33. endif()
  34. install(
  35. TARGETS load_and_run
  36. EXPORT ${LITE_EXPORT_TARGETS}
  37. RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
  38. if(BUILD_SHARED_LIBS)
  39. if(LITE_BUILD_WITH_MGE
  40. AND NOT WIN32
  41. AND NOT APPLE)
  42. # FXIME third_party cpp redis do not support build with clang-cl
  43. list(APPEND SOURCES ${CPP_REDIS_SRCS})
  44. endif()
  45. add_executable(load_and_run_depends_shared ${SOURCES})
  46. target_link_libraries(load_and_run_depends_shared lite_shared)
  47. target_link_libraries(load_and_run_depends_shared gflags)
  48. target_link_libraries(load_and_run_depends_shared megengine)
  49. if(LITE_BUILD_WITH_RKNPU)
  50. # rknn sdk1.0.0 depend on libc++_shared, use gold to remove NEEDED so symbol check
  51. target_link_options(load_and_run_depends_shared PRIVATE "-fuse-ld=gold")
  52. endif()
  53. if(MGE_WITH_ROCM)
  54. # FIXME: hip obj can not find cpp obj only through lite_static
  55. target_link_libraries(load_and_run_depends_shared megdnn)
  56. endif()
  57. if(UNIX)
  58. if(APPLE OR ANDROID)
  59. target_link_libraries(load_and_run_depends_shared dl)
  60. else()
  61. target_link_libraries(load_and_run_depends_shared dl rt)
  62. endif()
  63. endif()
  64. if(LITE_BUILD_WITH_MGE
  65. AND NOT WIN32
  66. AND NOT APPLE)
  67. # FXIME third_party cpp redis do not support build with clang-cl
  68. target_include_directories(load_and_run_depends_shared
  69. PRIVATE ${CPP_REDIS_INCLUDES})
  70. endif()
  71. install(
  72. TARGETS load_and_run_depends_shared
  73. EXPORT ${MGE_EXPORT_TARGETS}
  74. RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
  75. endif()