set(CMAKE_FOLDER "${CMAKE_FOLDER}/utility")

rv3_add_test(test.utility.box utility.box box.cpp)
rv3_add_test(test.utility.concepts utility.concepts concepts.cpp)
rv3_add_test(test.utility.concepts2 utility.concepts2 concepts2.cpp)
check_cxx_compiler_flag("-std=gnu++2a" RANGES_HAS_CXX2A)
if (RANGES_HAS_CXX2A)
    rv3_add_test(test.utility.concepts2-va-opt utility.concepts2-va-opt concepts2.cpp)
    target_compile_options(utility.concepts2-va-opt PRIVATE -std=gnu++2a)
endif()
rv3_add_test(test.utility.common_type utility.common_type common_type.cpp)
rv3_add_test(test.utility.functional utility.functional functional.cpp)
rv3_add_test(test.utility.swap utility.swap swap.cpp)
rv3_add_test(test.utility.variant utility.variant variant.cpp)
rv3_add_test(test.utility.meta utility.meta meta.cpp)
rv3_add_test(test.utility.scope_exit utility.scope_exit scope_exit.cpp)
