mirror of
https://github.com/NVIDIA/nvbench.git
synced 2026-03-14 20:27:24 +00:00
Add nvbench::main CMake target.
Linking to this instead of `nvbench::nvbench` will automatically include the `NVBENCH_MAIN` macro.
This commit is contained in:
@@ -24,8 +24,13 @@ set(srcs
|
||||
)
|
||||
|
||||
add_library(nvbench STATIC ${srcs})
|
||||
add_library(nvbench::nvbench ALIAS nvbench)
|
||||
|
||||
# TODO generator expressions for installed paths
|
||||
target_include_directories(nvbench PUBLIC "${nvbench_SOURCE_DIR}")
|
||||
target_link_libraries(nvbench PRIVATE fmt::fmt)
|
||||
target_compile_features(nvbench PUBLIC cuda_std_17)
|
||||
|
||||
add_library(nvbench_main OBJECT main.cu)
|
||||
add_library(nvbench::main ALIAS nvbench_main)
|
||||
target_link_libraries(nvbench_main PUBLIC nvbench)
|
||||
|
||||
6
nvbench/main.cu
Normal file
6
nvbench/main.cu
Normal file
@@ -0,0 +1,6 @@
|
||||
// Provided as a CMake OBJECT library named nvbench::main so users don't have
|
||||
// to add `NVBENCH_MAIN` to every benchmark executable.
|
||||
|
||||
#include <nvbench/main.cuh>
|
||||
|
||||
NVBENCH_MAIN
|
||||
@@ -23,7 +23,7 @@ foreach(test_src IN LISTS test_srcs)
|
||||
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 fmt)
|
||||
target_link_libraries(${test_name} PRIVATE nvbench::nvbench fmt)
|
||||
set_target_properties(${test_name} PROPERTIES COMPILE_FEATURES cuda_std_17)
|
||||
add_test(NAME ${test_name} COMMAND "$<TARGET_FILE:${test_name}>")
|
||||
endforeach()
|
||||
|
||||
Reference in New Issue
Block a user