safesight/samples/rknn_infer_demo/CMakeLists.txt

45 lines
1.6 KiB
CMake

if(NOT ENABLE_RK_DEMOS)
add_executable(rknn_infer_demo
main.cpp)
target_link_libraries(rknn_infer_demo PRIVATE project_options)
else()
set(RKNN_DEMO_SRC ${RK_RKNN_ROOT}/examples/rknn_api_demo/src/rknn_create_mem_demo.cpp)
if(NOT EXISTS ${RKNN_DEMO_SRC})
message(FATAL_ERROR "rknn_create_mem_demo.cpp not found at ${RKNN_DEMO_SRC}. Verify RK_RKNN_ROOT")
endif()
if(NOT EXISTS ${RKNN_RUNTIME_INCLUDE_DIR})
message(FATAL_ERROR "RKNN_RUNTIME_INCLUDE_DIR ${RKNN_RUNTIME_INCLUDE_DIR} not found")
endif()
if(NOT EXISTS ${RKNN_RUNTIME_LIB_DIR})
message(FATAL_ERROR "RKNN_RUNTIME_LIB_DIR ${RKNN_RUNTIME_LIB_DIR} not found")
endif()
set(RKNNRT_LIB ${RKNN_RUNTIME_LIB_DIR}/librknnrt.so)
if(NOT EXISTS ${RKNNRT_LIB})
message(FATAL_ERROR "librknnrt.so not found in ${RKNN_RUNTIME_LIB_DIR}")
endif()
add_executable(rknn_infer_demo
${RKNN_DEMO_SRC})
target_include_directories(rknn_infer_demo PRIVATE
${RKNN_RUNTIME_INCLUDE_DIR}
${RK_RKNN_ROOT}/examples/3rdparty/stb)
target_link_directories(rknn_infer_demo PRIVATE ${RKNN_RUNTIME_LIB_DIR})
target_link_libraries(rknn_infer_demo PRIVATE project_options rknnrt pthread dl m)
if(EXISTS ${RKNN_MODEL_PATH})
install(FILES ${RKNN_MODEL_PATH} DESTINATION ${CMAKE_INSTALL_DATADIR}/rk3588-media-server/models)
endif()
if(EXISTS ${RKNN_SAMPLE_IMAGE})
install(FILES ${RKNN_SAMPLE_IMAGE} DESTINATION ${CMAKE_INSTALL_DATADIR}/rk3588-media-server/samples)
endif()
install(FILES ${RKNNRT_LIB} DESTINATION ${CMAKE_INSTALL_LIBDIR})
endif()
install(TARGETS rknn_infer_demo RUNTIME DESTINATION bin)