add_executable(metra-test
  test.cpp
)
find_package(Threads REQUIRED)
target_include_directories(metra-test PRIVATE
  ${CMAKE_CURRENT_SOURCE_DIR}
)
target_link_libraries(metra-test PRIVATE
  metra::metra
  Threads::Threads
)
target_compile_features(metra-test PRIVATE cxx_std_23)
target_compile_definitions(metra-test PRIVATE
  $<$<CONFIG:Debug>:METRA_EXPECT_DEBUG_ASSERTS>
  $<$<NOT:$<CONFIG:Debug>>:METRA_EXPECT_NDEBUG>
)
add_test(NAME metra COMMAND metra-test)
set_tests_properties(metra PROPERTIES TIMEOUT 20)
add_custom_target(check
  COMMAND ${CMAKE_CTEST_COMMAND}
    --test-dir ${CMAKE_BINARY_DIR}
    -R ^metra$
    --output-on-failure
    --timeout 20
  USES_TERMINAL
)
