cmake_minimum_required(VERSION 3.16)
project(phonebed_motion_guard LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
add_executable(test_motion_guard test_motion_guard.cpp)
enable_testing()
add_test(NAME motion_guard COMMAND test_motion_guard)
add_executable(trace_motion_guard trace_motion_guard.cpp)
if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/upstream/original/motor_bsp.cpp")
    add_executable(reproduce_upstream upstream/reproduce.cpp upstream/original/motor_bsp.cpp)
    target_include_directories(reproduce_upstream PRIVATE upstream/mocks)
    set_property(TARGET reproduce_upstream PROPERTY CXX_STANDARD 20)
    add_test(NAME upstream_reproduction COMMAND reproduce_upstream)
endif()
