Files
Catalyst-MDVS/CMakeLists.txt
2025-12-05 14:22:47 +08:00

39 lines
1.1 KiB
CMake

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)