cmake_minimum_required(VERSION 3.8)
add_library(test_lib STATIC
    test-main.cpp
)
target_link_libraries(test_lib rotor_light)

add_executable(20-queue 20-queue.cpp)
target_link_libraries(20-queue test_lib)
add_test(20-queue "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/20-queue")

add_executable(23-planner 23-planner.cpp)
target_link_libraries(23-planner test_lib)
add_test(23-planner "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/23-planner")

add_executable(30-supervisor 30-supervisor.cpp)
target_link_libraries(30-supervisor test_lib)
add_test(30-supervisor "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/30-supervisor")

add_executable(31-messages-order 31-messages-order.cpp)
target_link_libraries(31-messages-order test_lib)
add_test(31-messages-order "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/31-messages-order")

add_executable(32-hierarchy 32-hierarchy.cpp)
target_link_libraries(32-hierarchy test_lib)
add_test(32-hierarchy "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/32-hierarchy")

add_executable(33-timers 33-timers.cpp)
target_link_libraries(33-timers test_lib)
add_test(33-timers "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/33-timers")

add_executable(35-broadcasting 35-broadcasting.cpp)
target_link_libraries(35-broadcasting test_lib)
add_test(35-broadcasting "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/35-broadcasting")

add_executable(36-queue-full 36-queue-full.cpp)
target_link_libraries(36-queue-full test_lib)
add_test(36-queue-full "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/36-queue-full")

add_executable(42-ping_pong 42-ping_pong.cpp)
target_link_libraries(42-ping_pong test_lib)
add_test(42-ping_pong "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/42-ping_pong")
