add_executable(modulus-test
  test.cpp
)
target_include_directories(modulus-test PRIVATE
  ${CMAKE_CURRENT_SOURCE_DIR}
)
target_link_libraries(modulus-test PRIVATE
  modulus::modulus
)
target_compile_features(modulus-test PRIVATE cxx_std_23)
target_compile_definitions(modulus-test PRIVATE
  $<$<CONFIG:Debug>:MODULUS_EXPECT_DEBUG_ASSERTS>
  $<$<CONFIG:Release>:MODULUS_EXPECT_NDEBUG>
  $<$<CONFIG:RelWithDebInfo>:MODULUS_EXPECT_NDEBUG>
  $<$<CONFIG:MinSizeRel>:MODULUS_EXPECT_NDEBUG>
)
add_test(NAME modulus COMMAND modulus-test)
set_tests_properties(modulus PROPERTIES TIMEOUT 20)
add_custom_target(check
  COMMAND ${CMAKE_CTEST_COMMAND}
    --test-dir ${CMAKE_BINARY_DIR}
    -R ^modulus$
    --output-on-failure
    --timeout 20
  USES_TERMINAL
)
