1cmake_minimum_required(VERSION 3.4.1) 2 3project(rknn_common_test) 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) 28 29# opencv 30if (CMAKE_SYSTEM_NAME STREQUAL "Android") 31 set(OpenCV_DIR ${CMAKE_SOURCE_DIR}/../3rdparty/opencv/OpenCV-android-sdk/sdk/native/jni/abi-${CMAKE_ANDROID_ARCH_ABI}) 32else() 33 if(LIB_ARCH STREQUAL "armhf") 34 set(OpenCV_DIR ${CMAKE_SOURCE_DIR}/../3rdparty/opencv/opencv-linux-armhf/share/OpenCV) 35 else() 36 set(OpenCV_DIR ${CMAKE_SOURCE_DIR}/../3rdparty/opencv/opencv-linux-aarch64/share/OpenCV) 37 endif() 38endif() 39find_package(OpenCV REQUIRED) 40 41set(CMAKE_INSTALL_RPATH "lib") 42 43add_executable(rknn_common_test 44 src/main.cc 45) 46 47target_link_libraries(rknn_common_test 48 ${RKNN_RT_LIB} 49 ${OpenCV_LIBS} 50) 51 52 53# install target and libraries 54set(CMAKE_INSTALL_PREFIX ${CMAKE_SOURCE_DIR}/install/rknn_common_test_${CMAKE_SYSTEM_NAME}) 55install(TARGETS rknn_common_test DESTINATION ./) 56install(DIRECTORY model DESTINATION ./) 57install(PROGRAMS ${RKNN_RT_LIB} DESTINATION lib) 58