cmake_minimum_required(VERSION 3.10) project(armor_detector_mdv) # Set C++ standard set(CMAKE_CXX_STANDARD 23) set(CMAKE_CXX_STANDARD_REQUIRED ON) # Find OpenCV package find_package(OpenCV REQUIRED) # Include OpenCV headers include_directories(${OpenCV_INCLUDE_DIRS}) include_directories(/usr/include) include_directories(./inc) # Add executable for MindVision version add_executable(armor_detector_mdv src/MindVisionMain.cpp src/MindVisionCamera.cpp src/ImagePreprocessor.cpp src/ArmorDetector.cpp src/KalmanFilter.cpp src/Visualizer.cpp src/BallisticPredictor.cpp src/TTLCommunicator.cpp src/PidController.cpp ) # Link OpenCV libraries target_link_libraries(armor_detector_mdv ${OpenCV_LIBS} -lutil -lpthread) # Link MindVision SDK library target_link_libraries(armor_detector_mdv MVSDK) # Additional flags for better compilation set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -O3 -pthread") # For serial communication on Linux, you might need to link additional libraries: # target_link_libraries(armor_detector_mdv ${OpenCV_LIBS} -lutil -lpthread)