CMakeLists.txt 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. cmake_minimum_required(VERSION 3.10)
  2. project(libuvc
  3. VERSION 0.0.7
  4. LANGUAGES C CXX
  5. )
  6. set(CMAKE_CXX_STANDARD 11)
  7. set(CMAKE_CXX_STANDARD_REQUIRED ON)
  8. set(TARGET "UVC_Demo")
  9. set(CMAKE_BUILD_TYPE "Debug")
  10. set(CMAKE_CXX_FLAGS_DEBUG "$ENV{CXXFLAGS} -O0 -Wall -g2 -ggdb") # 定义Debug编译参数
  11. # add_subdirectory(./libuvc-0.0.7/libuvc-0.0.7/)
  12. include_directories(${CMAKE_CURRENT_SOURCE_DIR}/libuvc-0.0.7/include/)
  13. include_directories(${CMAKE_CURRENT_SOURCE_DIR}/PublicLibrary/rkmpp)
  14. include_directories(${CMAKE_CURRENT_SOURCE_DIR}/PublicLibrary/rkrga)
  15. include_directories(${CMAKE_CURRENT_SOURCE_DIR}/PublicLibrary/libuvc/include)
  16. include_directories(${CMAKE_SOURCE_DIR}/runtime/RK3588/Linux/librknn_api/include)
  17. include_directories(${CMAKE_SOURCE_DIR}/3rdparty/rga/RK3588/include)
  18. include_directories(${CMAKE_SOURCE_DIR}/3rdparty/mpp/include)
  19. # include_directories(${CMAKE_SOURCE_DIR}/3rdparty/opencv/opencv-linux-aarch64/include)
  20. # set(OpenCV_DIR ${CMAKE_SOURCE_DIR}/3rdparty/opencv/opencv-linux-aarch64/share/OpenCV)
  21. find_package(OpenCV REQUIRED)
  22. link_directories(${CMAKE_CURRENT_SOURCE_DIR}/PublicLibrary/libuvc/lib)
  23. set(SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/gpio_explorer.cpp ${CMAKE_CURRENT_SOURCE_DIR}/main.cpp)
  24. set(UVC_CONTROL ${CMAKE_CURRENT_SOURCE_DIR}/UVCGrabber/UVCDeviceManager.h ${CMAKE_CURRENT_SOURCE_DIR}/UVCGrabber/UVCDevice.cpp ${CMAKE_CURRENT_SOURCE_DIR}/UVCGrabber/UVCCallBack.cpp)
  25. set(MPP_DECODER ${CMAKE_CURRENT_SOURCE_DIR}/MppDecoder/MppDecoder.cpp ${CMAKE_CURRENT_SOURCE_DIR}/MppDecoder/MppDecoder.h)
  26. set(AI_SOURCE AIManager/beforeProcess.cpp AIManager/postprocess.cpp AIManager/RKNNManager.cpp)
  27. add_executable(${TARGET} ${SOURCES} ${UVC_CONTROL} ${MPP_DECODER} ${AI_SOURCE})
  28. target_link_directories(${TARGET} PRIVATE ${CMAKE_SOURCE_DIR}/runtime/RK3588/Linux/librknn_api/aarch64)
  29. target_link_directories(${TARGET} PRIVATE ${CMAKE_SOURCE_DIR}/3rdparty/rga/RK3588/lib/Linux/aarch64)
  30. # target_link_directories(${TARGET} PRIVATE ${CMAKE_SOURCE_DIR}/3rdparty/opencv/opencv-linux-aarch64/lib)
  31. target_link_directories(${TARGET} PRIVATE ${CMAKE_SOURCE_DIR}/3rdparty/mpp/Linux/aarch64/)
  32. target_link_directories(${TARGET} PRIVATE ${CMAKE_SOURCE_DIR}/libuvc-0.0.7/libuvc-0.0.7/build)
  33. target_link_libraries(${TARGET} rknnrt)
  34. target_link_libraries(${TARGET} librga.a)
  35. target_link_libraries(${TARGET} pthread)
  36. target_link_libraries(${TARGET} opencv_core opencv_imgproc opencv_imgcodecs)
  37. target_link_libraries(${TARGET} libjpeg.a)
  38. target_link_libraries(${TARGET} libusb-1.0.so)
  39. target_link_libraries(${TARGET} libgpiod.so)
  40. target_link_libraries(${TARGET} uvc)
  41. target_link_libraries(${TARGET} librockchip_mpp.so)