list(APPEND TF_CUDA_UNITTESTS test_cuda_objects test_cuda_memory test_cuda_basics test_cuda_matrix test_cuda_kmeans test_cuda_for_each test_cuda_for_each_index test_cuda_transform test_cuda_reduce test_cuda_scan test_cuda_find test_cuda_min_max_element test_cuda_merge test_cuda_basic_updates test_cuda_capturer_optimizer test_cuda_capture #cuda_algorithms #cuda_algorithm_updates ) foreach(cudatest IN LISTS TF_CUDA_UNITTESTS) add_executable(${cudatest} ${cudatest}.cu) target_link_libraries(${cudatest} ${PROJECT_NAME} ${ATOMIC_LIBRARY} tf::default_settings) target_include_directories(${cudatest} PRIVATE ${TF_3RD_PARTY_DIR}/doctest) # avoid cmake 3.18+ warning # we let nvcc to decide the flag if the architecture is not given if(NOT CUDA_ARCHITECTURES) set_property(TARGET ${cudatest} PROPERTY CUDA_ARCHITECTURES OFF) endif() doctest_discover_tests(${cudatest}) endforeach()