CMakeLists_armv8.txt 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. cmake_minimum_required(VERSION 3.9)
  2. project(tinypose-mnn)
  3. set(CMAKE_CXX_STANDARD 17)
  4. set(MNN_DIR {YOUR_MNN_DIR})
  5. set(NDK_ROOT {YOUR_ANDROID_NDK_PATH})
  6. set(LDFLAGS -latomic -pthread -ldl -llog -lz -static-libstdc++)
  7. set(OpenCV_DIR ${CMAKE_SOURCE_DIR}/third/opencv4.1.0/arm64-v8a)
  8. set(OpenCV_DEPS ${OpenCV_DIR}/libs/libopencv_imgcodecs.a
  9. ${OpenCV_DIR}/libs/libopencv_imgproc.a
  10. ${OpenCV_DIR}/libs/libopencv_core.a
  11. ${OpenCV_DIR}/3rdparty/libs/libtegra_hal.a
  12. ${OpenCV_DIR}/3rdparty/libs/liblibjpeg-turbo.a
  13. ${OpenCV_DIR}/3rdparty/libs/liblibwebp.a
  14. ${OpenCV_DIR}/3rdparty/libs/liblibpng.a
  15. ${OpenCV_DIR}/3rdparty/libs/liblibjasper.a
  16. ${OpenCV_DIR}/3rdparty/libs/liblibtiff.a
  17. ${OpenCV_DIR}/3rdparty/libs/libIlmImf.a
  18. ${OpenCV_DIR}/3rdparty/libs/libtbb.a
  19. ${OpenCV_DIR}/3rdparty/libs/libcpufeatures.a)
  20. set(FLAGS "-pie -Wl,--gc-sections -funwind-tables -no-canonical-prefixes -D__ANDROID_API__=21 -fexceptions -frtti -std=c++11 -O3 -DNDEBUG -fPIE -fopenmp")
  21. set(CMAKE_CXX_FLAGS "--sysroot=${NDK_ROOT}/sysroot ${FLAGS}")
  22. set(STDCXX ${NDK_ROOT}/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++_static.a
  23. ${NDK_ROOT}/sources/cxx-stl/llvm-libc++/libs/arm64-v8a/libc++abi.a
  24. ${NDK_ROOT}/platforms/android-21/arch-arm64/usr/lib/libstdc++.a)
  25. set(SYS_INCS ${NDK_ROOT}/sysroot/usr/include/aarch64-linux-android/ ${NDK_ROOT}/sources/cxx-stl/llvm-libc++/include/ ${NDK_ROOT}/sources/cxx-stl/llvm-libc++abi/include/ ${NDK_ROOT}/sources/android/support/include/ ${NDK_ROOT}/sysroot/usr/include/)
  26. include_directories(
  27. ${SYS_INCS}
  28. ${OpenCV_DIR}/include
  29. ${MNN_DIR}/include
  30. ${MNN_DIR}/include/MNN
  31. ${CMAKE_SOURCE_DIR}
  32. )
  33. link_directories(${NDK_ROOT}/platforms/android-21/arch-arm64)
  34. link_directories(${MNN_DIR}/project/android/build_64)
  35. add_executable(tinypose-mnn picodet_mnn.cpp keypoint_postprocess.cpp keypoint_detector.cpp main.cpp)
  36. target_link_libraries(tinypose-mnn -lMNN ${OpenCV_DEPS} ${STDCXX} ${LDFLAGS})