# BUILD the load and run for lite include_directories(PUBLIC $) file(GLOB_RECURSE SOURCES src/**/*.cpp ${PROJECT_SOURCE_DIR}/lite/src/pack_model/*.cpp) add_library(lar_object OBJECT ${SOURCES}) target_link_libraries(lar_object lite_static) target_link_libraries(lar_object megbrain) if(APPLE) target_link_libraries(lar_object gflags) else() target_link_libraries(lar_object gflags -Wl,--version-script=${MGE_VERSION_SCRIPT}) endif() if(LITE_BUILD_WITH_MGE AND NOT WIN32 AND NOT APPLE) # FXIME third_party cpp redis do not support build with clang-cl target_include_directories(lar_object PRIVATE ${CPP_REDIS_INCLUDES}) endif() add_executable(load_and_run src/main.cpp) target_link_libraries(load_and_run lar_object) if(LITE_BUILD_WITH_RKNPU) # rknn sdk1.0.0 depend on libc++_shared, use gold to remove NEEDED so symbol check target_link_options(load_and_run PRIVATE "-fuse-ld=gold") endif() if(LITE_BUILD_WITH_MGE AND MGE_WITH_ROCM) message(WARNING "MGE_WITH_ROCM is valid link to megdnn") # FIXME: hip obj can not find cpp obj only through lite_static target_link_libraries(load_and_run megdnn) endif() if(UNIX) if(APPLE OR ANDROID) target_link_libraries(load_and_run dl) else() target_link_libraries(load_and_run dl rt) endif() endif() install( TARGETS load_and_run EXPORT ${LITE_EXPORT_TARGETS} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) if(BUILD_SHARED_LIBS) if(LITE_BUILD_WITH_MGE AND NOT WIN32 AND NOT APPLE) # FXIME third_party cpp redis do not support build with clang-cl list(APPEND SOURCES ${CPP_REDIS_SRCS}) endif() add_executable(load_and_run_depends_shared ${SOURCES} src/main.cpp) target_link_libraries(load_and_run_depends_shared lite_shared) target_link_libraries(load_and_run_depends_shared gflags) target_link_libraries(load_and_run_depends_shared megengine) if(LITE_BUILD_WITH_RKNPU) # rknn sdk1.0.0 depend on libc++_shared, use gold to remove NEEDED so symbol check target_link_options(load_and_run_depends_shared PRIVATE "-fuse-ld=gold") endif() if(LITE_BUILD_WITH_MGE AND MGE_WITH_ROCM) message(WARNING "MGE_WITH_ROCM is valid link to megdnn") # FIXME: hip obj can not find cpp obj only through lite_static target_link_libraries(load_and_run_depends_shared megdnn) endif() if(UNIX) if(APPLE OR ANDROID) target_link_libraries(load_and_run_depends_shared dl) else() target_link_libraries(load_and_run_depends_shared dl rt) endif() endif() if(LITE_BUILD_WITH_MGE AND NOT WIN32 AND NOT APPLE) # FXIME third_party cpp redis do not support build with clang-cl target_include_directories(load_and_run_depends_shared PRIVATE ${CPP_REDIS_INCLUDES}) endif() install( TARGETS load_and_run_depends_shared EXPORT ${MGE_EXPORT_TARGETS} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) endif()