1cmake_minimum_required(VERSION 3.4.1) 2 3project(rknn_mobilenet_demo) 4 5set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}") 6set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") 7 8# rknn api 9if(TARGET_SOC STREQUAL "rk356x") 10 set(RKNN_API_PATH ${CMAKE_SOURCE_DIR}/../../runtime/RK356X/${CMAKE_SYSTEM_NAME}/librknn_api) 11elseif(TARGET_SOC STREQUAL "rk3588") 12 set(RKNN_API_PATH ${CMAKE_SOURCE_DIR}/../../runtime/RK3588/${CMAKE_SYSTEM_NAME}/librknn_api) 13else() 14 message(FATAL_ERROR "TARGET_SOC is not set, ref value: rk356x or rk3588") 15endif() 16 17if (CMAKE_SYSTEM_NAME STREQUAL "Android") 18 set(RKNN_RT_LIB ${RKNN_API_PATH}/${CMAKE_ANDROID_ARCH_ABI}/librknnrt.so) 19else() 20 if (CMAKE_C_COMPILER MATCHES "aarch64") 21 set(LIB_ARCH aarch64) 22 else() 23 set(LIB_ARCH armhf) 24 endif() 25 set(RKNN_RT_LIB ${RKNN_API_PATH}/${LIB_ARCH}/librknnrt.so) 26endif() 27include_directories(${RKNN_API_PATH}/include) 28include_directories(${CMAKE_SOURCE_DIR}/../3rdparty) 29 30# opencv 31if (CMAKE_SYSTEM_NAME STREQUAL "Android") 32 set(OpenCV_DIR ${CMAKE_SOURCE_DIR}/../3rdparty/opencv/OpenCV-android-sdk/sdk/native/jni/abi-${CMAKE_ANDROID_ARCH_ABI}) 33else() 34 if(LIB_ARCH STREQUAL "armhf") 35 set(OpenCV_DIR ${CMAKE_SOURCE_DIR}/../3rdparty/opencv/opencv-linux-armhf/share/OpenCV) 36 else() 37 set(OpenCV_DIR ${CMAKE_SOURCE_DIR}/../3rdparty/opencv/opencv-linux-aarch64/share/OpenCV) 38 endif() 39endif() 40find_package(OpenCV REQUIRED) 41 42set(CMAKE_INSTALL_RPATH "lib") 43 44add_executable(rknn_mobilenet_demo 45 src/main.cc 46) 47 48target_link_libraries(rknn_mobilenet_demo 49 ${RKNN_RT_LIB} 50 ${OpenCV_LIBS} 51) 52 53# install target and libraries 54set(CMAKE_INSTALL_PREFIX ${CMAKE_SOURCE_DIR}/install/rknn_mobilenet_demo_${CMAKE_SYSTEM_NAME}) 55install(TARGETS rknn_mobilenet_demo DESTINATION ./) 56 57install(DIRECTORY model DESTINATION ./) 58install(PROGRAMS ${RKNN_RT_LIB} DESTINATION lib) 59