Files
nvbench/examples/CMakeLists.txt
Allison Vacanti 60c94d9ed6 Add enum_type_axis and examples/enums.cu.
- `enum_type_axis` simplifies using integral_constants with type axes.
- `examples/enums.cu` demonstrates various ways of implementing parameter
  sweeps with enum types.
2021-03-16 13:57:52 -04:00

29 lines
997 B
CMake

set(example_srcs
axes.cu
enums.cu
exec_tag_sync.cu
exec_tag_timer.cu
skip.cu
throughput.cu
)
# Metatarget for all examples:
add_custom_target(nvbench.example.all)
foreach(example_src IN LISTS example_srcs)
get_filename_component(example_name "${example_src}" NAME_WLE)
string(PREPEND example_name "nvbench.example.")
add_executable(${example_name} "${example_src}")
target_include_directories(${example_name} PRIVATE "${CMAKE_CURRENT_LIST_DIR}")
target_link_libraries(${example_name} PRIVATE nvbench::main)
set_target_properties(${example_name} PROPERTIES COMPILE_FEATURES cuda_std_17)
set_target_properties(${example_name} PROPERTIES
ARCHIVE_OUTPUT_DIRECTORY "${NVBench_LIBRARY_OUTPUT_DIR}"
LIBRARY_OUTPUT_DIRECTORY "${NVBench_LIBRARY_OUTPUT_DIR}"
RUNTIME_OUTPUT_DIRECTORY "${NVBench_EXECUTABLE_OUTPUT_DIR}"
)
add_test(NAME ${example_name} COMMAND "$<TARGET_FILE:${example_name}>")
add_dependencies(nvbench.example.all ${example_name})
endforeach()