set(test_srcs axes_metadata.cu benchmark.cu create.cu cuda_timer.cu cuda_stream.cu cpu_timer.cu criterion_manager.cu criterion_params.cu custom_main_custom_args.cu custom_main_custom_exceptions.cu custom_main_global_state_raii.cu enum_type_list.cu entropy_criterion.cu float64_axis.cu int64_axis.cu named_values.cu option_parser.cu range.cu reset_error.cu ring_buffer.cu runner.cu state.cu statistics.cu state_generator.cu stdrel_criterion.cu string_axis.cu type_axis.cu type_list.cu ) # Custom arguments: # CTest commands+args can't be modified after creation, so we need to rely on substitution. set(NVBench_TEST_ARGS_nvbench.test.custom_main_custom_args "--quiet" "--my-custom-arg" "--profile" "-d" "0") set(NVBench_TEST_ARGS_nvbench.test.custom_main_custom_exceptions "--quiet" "--profile" "-d" "0") # Metatarget for all tests: add_custom_target(nvbench.test.all) add_dependencies(nvbench.all nvbench.test.all) foreach(test_src IN LISTS test_srcs) get_filename_component(test_name "${test_src}" NAME_WLE) string(PREPEND test_name "nvbench.test.") add_executable(${test_name} "${test_src}") target_include_directories(${test_name} PRIVATE "${CMAKE_CURRENT_LIST_DIR}") target_link_libraries(${test_name} PRIVATE nvbench::nvbench fmt) set_target_properties(${test_name} PROPERTIES COMPILE_FEATURES cuda_std_17) nvbench_config_target(${test_name}) add_test(NAME ${test_name} COMMAND "$" ${NVBench_TEST_ARGS_${test_name}}) add_dependencies(nvbench.test.all ${test_name}) endforeach() set_tests_properties(nvbench.test.custom_main_custom_exceptions PROPERTIES PASS_REGULAR_EXPRESSION "Custom error detected: Expected exception thrown." ) add_subdirectory(cmake) add_subdirectory(device)