cmake_minimum_required(VERSION 3.10)

project(robot_mecanum)

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

include_directories(src)

find_package(OpenCV REQUIRED)
include_directories(${OpenCV_INCLUDE_DIRS})

add_executable(robot_mecanum
    src/main.cpp
    src/arduino_serial.cpp
    src/mecanum_kinematics.cpp
    src/robot_controller.cpp
    src/web_manual_server.cpp
    src/line_detector.cpp
    src/line_path_detector.cpp
    src/visual_line_controller.cpp
    src/ultrasonic_serial.cpp
)


target_link_libraries(robot_mecanum pthread ${OpenCV_LIBS})


add_executable(camera_line_test
    src/camera_line_test.cpp
    src/line_detector.cpp
)

target_link_libraries(camera_line_test ${OpenCV_LIBS})

add_executable(line_path_test
    src/line_path_test.cpp
    src/line_path_detector.cpp
)

target_link_libraries(line_path_test ${OpenCV_LIBS})


