SET(LIBRARIES ChronoEngine ChronoEngine_ros ${CH_ROS_LIBRARIES})
INCLUDE_DIRECTORIES(${CH_INCLUDES} ${CH_ROS_INCLUDES})

SET(TESTS
  utest_ROS_custom_handler_with_manager
  utest_ROS_custom_handler
  utest_ROS_simple_publisher_subscriber
)

# Force C++17, required by ROS Humble
set(CMAKE_CXX_STANDARD 17)

MESSAGE(STATUS "Unit test programs for ROS module...")

FOREACH(PROGRAM ${TESTS})
    MESSAGE(STATUS "...add ${PROGRAM}")

    ADD_EXECUTABLE(${PROGRAM}  "${PROGRAM}.cpp")
    SOURCE_GROUP(""  FILES "${PROGRAM}.cpp")

    SET_TARGET_PROPERTIES(${PROGRAM} PROPERTIES
        FOLDER demos
        COMPILE_FLAGS "${CH_CXX_FLAGS}"
        LINK_FLAGS "${CH_LINKERFLAG_EXE}"
    )

    TARGET_LINK_LIBRARIES(${PROGRAM} ${LIBRARIES} gtest_main)

    INSTALL(TARGETS ${PROGRAM} DESTINATION ${CH_INSTALL_DEMO})
    ADD_TEST(${PROGRAM} ${PROJECT_BINARY_DIR}/bin/${PROGRAM})
ENDFOREACH(PROGRAM)
