cmake_minimum_required(VERSION 3.16) project(Video_MIGraphX) set(CMAKE_CXX_COMPILER hipcc) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17 -pthread") set(CMAKE_BUILD_TYPE release) set(INCLUDE_PATH /usr/local/include /usr/local/include/opencv4 ${CMAKE_CURRENT_SOURCE_DIR}/include $ENV{ROCM_PATH}/include) include_directories(${INCLUDE_PATH}) set(LIBRARY_PATH /usr/local/lib ${CMAKE_CURRENT_SOURCE_DIR}/lib $ENV{ROCM_PATH}/lib) link_directories(${LIBRARY_PATH}) set(LIBRARY avcodec avdevice avfilter avformat avutil swresample swscale postproc xcoder opencv_core opencv_imgproc opencv_imgcodecs opencv_dnn opencv_highgui opencv_videoio migraphx_ref migraphx migraphx_c migraphx_device migraphx_gpu migraphx_onnx) link_libraries(${LIBRARY}) add_definitions(-DCPU=1 -D_HW=2 -D_HW_DMA=3) if(USE_P2P) add_definitions(-DDMA) message(NOTICE "Use p2p dma for decode data.") else() message(NOTICE "Not use p2p dma for decode data.") endif() set(SOURCE_FILES ${CMAKE_CURRENT_SOURCE_DIR}/src/main.cpp ${CMAKE_CURRENT_SOURCE_DIR}/src/SSD.cpp ${CMAKE_CURRENT_SOURCE_DIR}/src/YOLOV3.cpp ${CMAKE_CURRENT_SOURCE_DIR}/src/YOLOV5.cpp ${CMAKE_CURRENT_SOURCE_DIR}/src/YOLOV7.cpp ${CMAKE_CURRENT_SOURCE_DIR}/src/YOLOV8.cpp ${CMAKE_CURRENT_SOURCE_DIR}/src/RetinaFace.cpp ${CMAKE_CURRENT_SOURCE_DIR}/src/Inference/DetectorSSD.cpp ${CMAKE_CURRENT_SOURCE_DIR}/src/Inference/DetectorYOLOV3.cpp ${CMAKE_CURRENT_SOURCE_DIR}/src/Inference/DetectorYOLOV5.cpp ${CMAKE_CURRENT_SOURCE_DIR}/src/Inference/DetectorYOLOV7.cpp ${CMAKE_CURRENT_SOURCE_DIR}/src/Inference/DetectorYOLOV8.cpp ${CMAKE_CURRENT_SOURCE_DIR}/src/Inference/DetectorRetinaFace.cpp ${CMAKE_CURRENT_SOURCE_DIR}/src/Utility/CommonUtility.cpp ${CMAKE_CURRENT_SOURCE_DIR}/src/Utility/Filesystem.cpp) add_executable(Video_MIGraphX ${SOURCE_FILES}) if(USE_P2P) target_link_libraries(Video_MIGraphX decode0 Queue) else() target_link_libraries(Video_MIGraphX decode1 Queue) endif()