diff --git a/CMakeLists.txt b/CMakeLists.txt index c5c13c4..eb43259 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -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) diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt index e62decb..feb830a 100644 --- a/examples/CMakeLists.txt +++ b/examples/CMakeLists.txt @@ -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) diff --git a/nvbench/CMakeLists.txt b/nvbench/CMakeLists.txt index 53819c3..6621cb8 100644 --- a/nvbench/CMakeLists.txt +++ b/nvbench/CMakeLists.txt @@ -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) diff --git a/testing/CMakeLists.txt b/testing/CMakeLists.txt index 93dda8e..22f63df 100644 --- a/testing/CMakeLists.txt +++ b/testing/CMakeLists.txt @@ -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)