Add nvbench.all metatarget.

This builds all NVBench tests and examples without building targets in
any parent projects.
This commit is contained in:
Allison Vacanti
2021-03-18 13:33:23 -04:00
parent 94bf208701
commit ea53972af8
4 changed files with 7 additions and 1 deletions

View File

@@ -43,6 +43,9 @@ if(nlohmann_json_ADDED)
)
endif()
# Builds all NVBench targets (libs, tests, examples, etc).
add_custom_target(nvbench.all)
add_subdirectory(nvbench)
if (NVBench_ENABLE_EXAMPLES OR NVBench_ENABLE_TESTING)

View File

@@ -9,6 +9,7 @@ set(example_srcs
# Metatarget for all examples:
add_custom_target(nvbench.example.all)
add_dependencies(nvbench.all nvbench.example.all)
foreach(example_src IN LISTS example_srcs)
get_filename_component(example_name "${example_src}" NAME_WLE)

View File

@@ -42,7 +42,6 @@ file_to_string("../docs/cli_help_axis.md"
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_include_directories(nvbench PRIVATE "${CMAKE_CURRENT_BINARY_DIR}")
@@ -53,6 +52,7 @@ set_target_properties(nvbench PROPERTIES
LIBRARY_OUTPUT_DIRECTORY "${NVBench_LIBRARY_OUTPUT_DIR}"
RUNTIME_OUTPUT_DIRECTORY "${NVBench_EXECUTABLE_OUTPUT_DIR}"
)
add_dependencies(nvbench.all nvbench)
add_library(nvbench_main OBJECT main.cu)
add_library(nvbench::main ALIAS nvbench_main)
@@ -62,3 +62,4 @@ set_target_properties(nvbench PROPERTIES
LIBRARY_OUTPUT_DIRECTORY "${NVBench_LIBRARY_OUTPUT_DIR}"
RUNTIME_OUTPUT_DIRECTORY "${NVBench_EXECUTABLE_OUTPUT_DIR}"
)
add_dependencies(nvbench.all nvbench_main)

View File

@@ -20,6 +20,7 @@ set(test_srcs
# Metatarget for all examples:
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)