include(cross.cmake)
cmake_minimum_required(VERSION 3.5.0)

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3 -pthread -Wall")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O3 -Wall")

project(smartcar_framework VERSION 0.1.0 LANGUAGES C CXX)

set(OpenCV_DIR /home/ilikara/loongson/opencv-4.11.0/loongson)
find_package(OpenCV REQUIRED)
include_directories(${OpenCV_INCLUDE_DIRS})

include_directories(
    .
    hal
    vision
    control
    strategy
    debug
    model
)

aux_source_directory(hal DIR_SRCS)
aux_source_directory(vision DIR_SRCS)
aux_source_directory(control DIR_SRCS)
aux_source_directory(strategy DIR_SRCS)
aux_source_directory(debug DIR_SRCS)
aux_source_directory(model DIR_SRCS)

add_executable(smartcar_framework main.cpp scheduler.cpp ${DIR_SRCS})
target_link_libraries(smartcar_framework ${OpenCV_LIBS} pthread)
