QT += core network QT -= gui CONFIG += concurrent console c++17 MOC_DIR = moc OBJECTS_DIR = obj SOURCES = $$PWD/*.cpp HEADERS = $$PWD/*.h ai_bench { QMAKE_CXXFLAGS += -DAI_BENCH } gimbal { message("Using real gimbal camera.") QMAKE_CXXFLAGS += -DGIMBAL } else { message("Not using real gimbal camera.") } yolo_onnx { message("Using YOLOv8 ONNX models for indoor testing.") QMAKE_CXXFLAGS += -DYOLO_ONNX } save_images { message("Saving inference images to /tmp.") QMAKE_CXXFLAGS += -DSAVE_IMAGES } opi5 { message("OPI5 build") CONFIG += link_pkgconfig PKGCONFIG += opencv4 librga stb libturbojpeg INCLUDEPATH += /usr/include/rga QMAKE_CXXFLAGS += -DOPI5_BUILD LIBS += /usr/local/lib/librknnrt.so QMAKE_RPATHDIR += /usr/local/lib SOURCES += $$PWD/src-opi5/*.c $$PWD/src-opi5/*.cpp $$PWD/src-opi5/*.cc HEADERS += $$PWD/src-opi5/*.h } else:ncnn { message("NCNN build") CONFIG += link_pkgconfig PKGCONFIG += opencv4 QMAKE_CXXFLAGS += -DNCNN_BUILD -fopenmp QMAKE_LFLAGS += -fopenmp INCLUDEPATH += /opt/ncnn/include LIBS += /opt/ncnn/lib/libncnn.a -lgomp SOURCES += $$PWD/src-ncnn/*.cpp HEADERS += $$PWD/src-ncnn/*.h } else:opencv { message("OpenCV build") message("You must use YOLOv8 ONNX files. Azaion model does not work!") message("OpenCV must be version 4.10.0 installed to /usr/local/") INCLUDEPATH += /opt/opencv-4.10.0/include/opencv4/ LIBS += /opt/opencv-4.10.0/lib/libopencv_world.so QMAKE_LFLAGS += -Wl,-rpath,/opt/opencv-4.10.0/lib QMAKE_CXXFLAGS += -DOPENCV_BUILD SOURCES += $$PWD/src-opencv-onnx/*.cpp HEADERS += $$PWD/src-opencv-onnx/*.h } else { message("ONNX build") message("You must use YOLOv8 ONNX files. Azaion ONNX model also works fine.") QMAKE_CXXFLAGS += -DONNX_BUILD # ONNX-runtime INCLUDEPATH += /opt/onnxruntime-linux-x64-1.18.0/include QMAKE_LFLAGS += -Wl,-rpath,/opt/onnxruntime-linux-x64-1.18.0/lib LIBS += /opt/onnxruntime-linux-x64-1.18.0/lib/libonnxruntime.so.1.18.0 # OpenCV 4.10.0 INCLUDEPATH += /opt/opencv-4.10.0/include/opencv4/ QMAKE_LFLAGS += -Wl,-rpath,/opt/opencv-4.10.0/lib LIBS += /opt/opencv-4.10.0/lib/libopencv_world.so SOURCES += $$PWD/src-onnx-runtime/*.cpp HEADERS += $$PWD/src-onnx-runtime/*.h }