CMakelist---rknn提供的样例很好,收藏一下

cmake_minimum_required(VERSION 3.4.1)

project(rknn_TSFaceApi)

set(CMAKE_SYSTEM_NAME Linux)

set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")

if (CMAKE_C_COMPILER MATCHES "aarch64")
  set(LIB_ARCH lib64)
  message("LIB_ARCH:" ${LIB_ARCH})
else()
  set(LIB_ARCH lib)
  message("LIB_ARCH222:" ${LIB_ARCH})
endif()

# rga
set(RGA_DIR ${CMAKE_SOURCE_DIR}/../3rdparty/rga)
include_directories(${RGA_DIR}/include)

# drm
set(DRM_DIR ${CMAKE_SOURCE_DIR}/../3rdparty/drm)
include_directories(${DRM_DIR}/include)
include_directories(${DRM_DIR}/include/libdrm)

include_directories(${CMAKE_SOURCE_DIR}/include)
include_directories(${CMAKE_SOURCE_DIR})

include_directories(${CMAKE_SOURCE_DIR}/src/iilicense/include)

# rknn api
set(RKNN_API_PATH ${CMAKE_SOURCE_DIR}/../../librknn_api)
include_directories(${RKNN_API_PATH}/include)
message("RKNN_API_PATH:" ${RKNN_API_PATH})
set(RKNN_API_LIB ${RKNN_API_PATH}/${LIB_ARCH}/librknn_api.so)
message("RKNN_API_LIB:" ${RKNN_API_LIB})

# iilicense
set(IILICENSE_API_LIB ${CMAKE_SOURCE_DIR}/src/iilicense/lib/libiilicense.so)
message("IILICENSE_API_LIB:" ${RKNN_API_LIB})  

# opencv

if(LIB_ARCH STREQUAL "lib")
	set(OpenCV_DIR ${CMAKE_SOURCE_DIR}/../3rdparty/opencv/opencv-linux-armhf/share/OpenCV)
else()
	set(OpenCV_DIR ${CMAKE_SOURCE_DIR}/../3rdparty/opencv/opencv-linux-aarch64/share/OpenCV)
endif()
find_package(OpenCV REQUIRED)

# set(CMAKE_INSTALL_RPATH "lib")


add_library(iiFaceSDKRV1109 SHARED 
            src/drm_func.c
            src/rga_func.c
            ii_logger.cpp
            rknn_face_detect.cpp
            rknn_feature_extract.cpp
            rknn_QualityMode.cpp
            rknn_Spoofing.cpp
            ii_facesdk_impl.cpp
)
target_link_libraries(iiFaceSDKRV1109
	${RKNN_API_LIB}
  ${OpenCV_LIBS}
  ${IILICENSE_API_LIB}

)


# add_library(rknn_TSFaceApi_static STATIC   
#             src/drm_func.c
#             src/rga_func.c
#             ii_logger.cpp
#             rknn_face_detect.cpp
#             rknn_feature_extract.cpp
#             rknn_QualityMode.cpp
#             rknn_Spoofing.cpp
#             ii_facesdk_impl.cpp
# )
# target_link_libraries(rknn_TSFaceApi_static
# 	${RKNN_API_LIB}
#   ${OpenCV_LIBS}

# )


add_executable(rknn_TSFaceApi
        src/drm_func.c
        src/rga_func.c
        ii_logger.cpp
        # src/postprocess.cc
        # src/main.cc
        # src/sysutils.cpp
        # src/main_zsf.cc

        rknn_face_detect.cpp
       
       
        rknn_feature_extract.cpp
        
        
        rknn_QualityMode.cpp
      

        rknn_Spoofing.cpp
       

        ii_facesdk_impl.cpp
        main_sdk.cpp
        )

target_link_libraries(rknn_TSFaceApi
	${RKNN_API_LIB}
  ${OpenCV_LIBS}
  dl
)

# install target and libraries
set(CMAKE_INSTALL_PREFIX ${CMAKE_SOURCE_DIR}/install/rknn_TSFaceApi)
install(TARGETS rknn_TSFaceApi DESTINATION ./)
install(DIRECTORY model DESTINATION ./)
install(PROGRAMS ${RKNN_API_LIB} DESTINATION lib)

shell脚本,主要是是设置编译工具链 

#!/bin/bash

set -e

# for rk1808 aarch64
#GCC_COMPILER=${RK1808_TOOL_CHAIN}/bin/aarch64-linux-gnu

GCC_COMPILER=/home/ubuntu/workspace/rv1109/rv1109-linux/prebuilts/gcc/linux-x86/arm/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/bin/arm-linux-gnueabihf


# for rk1806 armhf
# GCC_COMPILER=~/opts/gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf

# for rv1109/rv1126 armhf
# GCC_COMPILER=${RV1109_TOOL_CHAIN}/bin/arm-linux-gnueabihf

ROOT_PWD=$( cd "$( dirname $0 )" && cd -P "$( dirname "$SOURCE" )" && pwd )

# build rockx
BUILD_DIR=${ROOT_PWD}/build

if [[ ! -d "${BUILD_DIR}" ]]; then
  mkdir -p ${BUILD_DIR}
fi

cd ${BUILD_DIR}
cmake .. \
    -DCMAKE_C_COMPILER=${GCC_COMPILER}-gcc \
    -DCMAKE_CXX_COMPILER=${GCC_COMPILER}-g++
make -j4
make install
cd -

# cp run_rk180x.sh install/rknn_yolov5_demo/
# cp run_rv1109_rv1126.sh install/rknn_yolov5_demo/

openssh

./Configure linux-generic32 --prefix=/home/ubuntu/workspace/build_arm --cross-compile-prefix=/home/ubuntu/workspace/rv1109/rv1109-linux/prebuilts/gcc/linux-x86/arm/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/bin/arm-linux-gnueabihf-gcc
 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值