23 lines
1.1 KiB
CMake
23 lines
1.1 KiB
CMake
cmake_minimum_required(VERSION 3.16)
|
|||
|
|
project(robot_bt_core LANGUAGES CXX)
|
||
|
|
set(CMAKE_CXX_STANDARD 17)
|
||
|
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||
|
|
add_library(robot_bt_core src/core.cpp src/workflow.cpp)
|
||
|
|
target_include_directories(robot_bt_core PUBLIC include)
|
||
|
|
target_compile_options(robot_bt_core PRIVATE -Wall -Wextra -Werror)
|
||
|
|
add_library(robot_bt_sim src/sim_driver.cpp)
|
||
|
|
target_link_libraries(robot_bt_sim PUBLIC robot_bt_core)
|
||
|
|
target_compile_options(robot_bt_sim PRIVATE -Wall -Wextra -Werror)
|
||
|
|
add_executable(robot_bt_demo examples/demo.cpp)
|
||
|
|
target_link_libraries(robot_bt_demo PRIVATE robot_bt_sim)
|
||
|
|
target_compile_options(robot_bt_demo PRIVATE -Wall -Wextra -Werror)
|
||
|
|
include(CTest)
|
||
|
|
if(BUILD_TESTING)
|
||
|
|
foreach(test_name core_test workflow_test journal_failure_test preflight_test settlement_test proof_regression_test readiness_regression_test scenario_test lifecycle_test)
|
||
|
|
add_executable(${test_name} tests/${test_name}.cpp)
|
||
|
|
target_link_libraries(${test_name} PRIVATE robot_bt_core)
|
||
|
|
target_compile_options(${test_name} PRIVATE -Wall -Wextra -Werror -UNDEBUG)
|
||
|
|
add_test(NAME ${test_name} COMMAND ${test_name})
|
||
|
|
endforeach()
|
||
|
|
endif()
|