123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- cmake_minimum_required(VERSION 3.10)
- project(libuvc
- VERSION 0.0.7
- LANGUAGES C CXX
- )
- set(CMAKE_CXX_STANDARD 11)
- set(CMAKE_CXX_STANDARD_REQUIRED ON)
- set(TARGET "UVC_Demo")
- set(CMAKE_CXX_STANDARD_REQUIRED ON)
- set(CMAKE_BUILD_TYPE "Debug")
- set(CMAKE_CXX_FLAGS_DEBUG "$ENV{CXXFLAGS} -O0 -Wall -g2 -ggdb") # 定义Debug编译参数
- # add_subdirectory(./libuvc-0.0.7/libuvc-0.0.7/)
- set(GRPC_DIR "/home/cat/grpcinstall")
- set(CMAKE_PREFIX_PATH /home/cat/grpcinstall)
- include_directories(${CMAKE_CURRENT_SOURCE_DIR}/libuvc-0.0.7/include/)
- include_directories(${CMAKE_CURRENT_SOURCE_DIR}/PublicLibrary/rkmpp)
- include_directories(${CMAKE_CURRENT_SOURCE_DIR}/PublicLibrary/rkrga/include)
- include_directories(${CMAKE_CURRENT_SOURCE_DIR}/PublicLibrary/libuvc/include)
- include_directories(${CMAKE_SOURCE_DIR}/3rdparty/rga/RK3588/include)
- include_directories(${CMAKE_SOURCE_DIR}/3rdparty/mpp/include)
- include_directories(${CMAKE_SOURCE_DIR}/runtime/RK3588/Linux/librknn_api/include)
- include(common.cmake)
- # include_directories(${CMAKE_SOURCE_DIR}/3rdparty/opencv/opencv-linux-aarch64/include)
- # set(OpenCV_DIR ${CMAKE_SOURCE_DIR}/3rdparty/opencv/opencv-linux-aarch64/share/OpenCV)
- find_package(OpenCV REQUIRED)
- link_directories(${CMAKE_CURRENT_SOURCE_DIR}/PublicLibrary/libuvc/lib)
- set(SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/gpio_explorer.cpp ${CMAKE_CURRENT_SOURCE_DIR}/main.cpp)
- set(UVC_CONTROL ${CMAKE_CURRENT_SOURCE_DIR}/UVCGrabber/UVCDeviceManager.cpp ${CMAKE_CURRENT_SOURCE_DIR}/UVCGrabber/UVCDevice.cpp ${CMAKE_CURRENT_SOURCE_DIR}/UVCGrabber/UVCCallBack.cpp)
- set(MPP_DECODER ${CMAKE_CURRENT_SOURCE_DIR}/MppDecoder/MppDecoder.cpp ${CMAKE_CURRENT_SOURCE_DIR}/MppDecoder/MppDecoder.h ${CMAKE_CURRENT_SOURCE_DIR}/MppDecoder/MppManager.cpp)
- set(RGA_COLORTRANSFER ${CMAKE_CURRENT_SOURCE_DIR}/RGAColorTransfer/RgaColorTransfer.cpp)
- set(DATA_CONTROL ${CMAKE_CURRENT_SOURCE_DIR}/DataManager/DataManager.cpp ${CMAKE_CURRENT_SOURCE_DIR}/DataManager/DataPipe.h)
- set(AI_SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/AIManager/beforeProcess.cpp ${CMAKE_CURRENT_SOURCE_DIR}/AIManager/postprocess.cpp ${CMAKE_CURRENT_SOURCE_DIR}/AIManager/RKNNManager.cpp ${CMAKE_CURRENT_SOURCE_DIR}/AIManager/PPYOLOE.cpp)
- set(GRPC_SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/GrpcTransfer/ImageService.pb.cc ${CMAKE_CURRENT_SOURCE_DIR}/GrpcTransfer/ImageService.grpc.pb.cc)
- add_executable(${TARGET} ${SOURCES} ${UVC_CONTROL} ${MPP_DECODER} ${RGA_COLORTRANSFER} ${AI_SOURCE} ${DATA_CONTROL} ${GRPC_SOURCE})
- set_property(GLOBAL PROPERTY JOB_POOLS single_threaded=1)
- set_property(TARGET ${TARGET} PROPERTY JOB_POOL_COMPILE single_threaded)
- target_link_directories(${TARGET} PRIVATE ${CMAKE_SOURCE_DIR}/runtime/RK3588/Linux/librknn_api/aarch64)
- target_link_directories(${TARGET} PRIVATE ${CMAKE_SOURCE_DIR}/3rdparty/rga/RK3588/lib/Linux/aarch64)
- # target_link_directories(${TARGET} PRIVATE ${CMAKE_SOURCE_DIR}/3rdparty/opencv/opencv-linux-aarch64/lib)
- target_link_directories(${TARGET} PRIVATE ${CMAKE_SOURCE_DIR}/3rdparty/mpp/Linux/aarch64/)
- target_link_directories(${TARGET} PRIVATE ${CMAKE_SOURCE_DIR}/libuvc-0.0.7/libuvc-0.0.7/build)
- target_link_libraries(${TARGET} rknnrt)
- target_link_libraries(${TARGET} librga.a)
- target_link_libraries(${TARGET} pthread)
- target_link_libraries(${TARGET} opencv_core opencv_imgproc opencv_imgcodecs)
- target_link_libraries(${TARGET} libjpeg.a)
- target_link_libraries(${TARGET} libusb-1.0.so)
- target_link_libraries(${TARGET} libgpiod.so)
- target_link_libraries(${TARGET} uvc)
- target_link_libraries(${TARGET} librockchip_mpp.so)
- target_link_libraries(${TARGET} absl::check absl::flags absl::flags_parse absl::log)
- target_link_libraries(${TARGET} ${_REFLECTION} ${_GRPC_GRPCPP} ${_PROTOBUF_LIBPROTOBUF})
|