From 4c7fe13a98f4bf28bc94946702b84b12071ca098 Mon Sep 17 00:00:00 2001 From: Ben Boeckel Date: Tue, 1 Jun 2021 18:38:19 -0400 Subject: [PATCH 1/2] cmake: avoid adding testing directories if testing is disabled Some testing directories have side effects such as installing headers or compiling code that ultimately doesn't end up getting used. --- CMake/testing/VTKmTestWrappers.cmake | 4 ---- vtkm/CMakeLists.txt | 4 +++- vtkm/cont/CMakeLists.txt | 4 +++- vtkm/cont/arg/CMakeLists.txt | 4 +++- vtkm/cont/cuda/CMakeLists.txt | 2 +- vtkm/cont/internal/CMakeLists.txt | 4 +++- vtkm/cont/kokkos/CMakeLists.txt | 2 +- vtkm/cont/openmp/CMakeLists.txt | 2 +- vtkm/cont/serial/CMakeLists.txt | 4 +++- vtkm/cont/tbb/CMakeLists.txt | 2 +- vtkm/exec/CMakeLists.txt | 4 +++- vtkm/exec/arg/CMakeLists.txt | 4 +++- vtkm/exec/cuda/internal/CMakeLists.txt | 2 +- vtkm/exec/internal/CMakeLists.txt | 4 +++- vtkm/exec/openmp/internal/CMakeLists.txt | 2 +- vtkm/exec/serial/internal/CMakeLists.txt | 4 +++- vtkm/exec/tbb/internal/CMakeLists.txt | 2 +- vtkm/filter/CMakeLists.txt | 4 +++- vtkm/internal/CMakeLists.txt | 4 +++- vtkm/interop/cuda/CMakeLists.txt | 2 +- vtkm/interop/internal/CMakeLists.txt | 2 +- vtkm/io/CMakeLists.txt | 4 +++- vtkm/random/CMakeLists.txt | 4 +++- vtkm/rendering/CMakeLists.txt | 4 +++- vtkm/source/CMakeLists.txt | 4 +++- vtkm/worklet/CMakeLists.txt | 4 +++- vtkm/worklet/internal/CMakeLists.txt | 4 +++- 27 files changed, 60 insertions(+), 30 deletions(-) diff --git a/CMake/testing/VTKmTestWrappers.cmake b/CMake/testing/VTKmTestWrappers.cmake index 62e74c6ed..6d7ef7541 100644 --- a/CMake/testing/VTKmTestWrappers.cmake +++ b/CMake/testing/VTKmTestWrappers.cmake @@ -112,10 +112,6 @@ endfunction() # backends at runtime. # function(vtkm_unit_tests) - if (NOT VTKm_ENABLE_TESTING) - return() - endif() - set(options) set(global_options ${options} USE_VTKM_JOB_POOL MPI ALL_BACKENDS) set(oneValueArgs BACKEND NAME LABEL) diff --git a/vtkm/CMakeLists.txt b/vtkm/CMakeLists.txt index b3d787cd8..c8e5e29b2 100644 --- a/vtkm/CMakeLists.txt +++ b/vtkm/CMakeLists.txt @@ -89,7 +89,9 @@ endif() add_subdirectory(thirdparty/optionparser) add_subdirectory(thirdparty/lcl) -add_subdirectory(testing) +if (VTKm_ENABLE_TESTING) + add_subdirectory(testing) +endif () add_subdirectory(internal) #----------------------------------------------------------------------------- diff --git a/vtkm/cont/CMakeLists.txt b/vtkm/cont/CMakeLists.txt index bc77e3293..cb088e0b3 100644 --- a/vtkm/cont/CMakeLists.txt +++ b/vtkm/cont/CMakeLists.txt @@ -311,4 +311,6 @@ if(TARGET vtkm_loguru) endif() #----------------------------------------------------------------------------- -add_subdirectory(testing) +if (VTKm_ENABLE_TESTING) + add_subdirectory(testing) +endif () diff --git a/vtkm/cont/arg/CMakeLists.txt b/vtkm/cont/arg/CMakeLists.txt index 1e879a951..e67d916bd 100644 --- a/vtkm/cont/arg/CMakeLists.txt +++ b/vtkm/cont/arg/CMakeLists.txt @@ -42,4 +42,6 @@ vtkm_declare_headers(${headers}) #----------------------------------------------------------------------------- -add_subdirectory(testing) +if (VTKm_ENABLE_TESTING) + add_subdirectory(testing) +endif () diff --git a/vtkm/cont/cuda/CMakeLists.txt b/vtkm/cont/cuda/CMakeLists.txt index c5f62c632..c51cc3600 100644 --- a/vtkm/cont/cuda/CMakeLists.txt +++ b/vtkm/cont/cuda/CMakeLists.txt @@ -19,7 +19,7 @@ add_subdirectory(internal) vtkm_declare_headers(${headers}) #----------------------------------------------------------------------------- -if (TARGET vtkm::cuda) +if (TARGET vtkm::cuda AND VTKm_ENABLE_TESTING) add_subdirectory(testing) endif() diff --git a/vtkm/cont/internal/CMakeLists.txt b/vtkm/cont/internal/CMakeLists.txt index f0eee5bab..be0d4d897 100644 --- a/vtkm/cont/internal/CMakeLists.txt +++ b/vtkm/cont/internal/CMakeLists.txt @@ -52,4 +52,6 @@ vtkm_declare_headers(${headers}) # internal and which are part of the external interface. #add_custom_target(vtkmContInternal ALL DEPENDS vtkmCont) -add_subdirectory(testing) +if (VTKm_ENABLE_TESTING) + add_subdirectory(testing) +endif () diff --git a/vtkm/cont/kokkos/CMakeLists.txt b/vtkm/cont/kokkos/CMakeLists.txt index 59f3efcd0..2f2e23fdf 100644 --- a/vtkm/cont/kokkos/CMakeLists.txt +++ b/vtkm/cont/kokkos/CMakeLists.txt @@ -17,6 +17,6 @@ add_subdirectory(internal) vtkm_declare_headers(${headers}) #----------------------------------------------------------------------------- -if (TARGET vtkm::kokkos) +if (TARGET vtkm::kokkos AND VTKm_ENABLE_TESTING) add_subdirectory(testing) endif() diff --git a/vtkm/cont/openmp/CMakeLists.txt b/vtkm/cont/openmp/CMakeLists.txt index 546bc08b3..cd89a429a 100644 --- a/vtkm/cont/openmp/CMakeLists.txt +++ b/vtkm/cont/openmp/CMakeLists.txt @@ -17,6 +17,6 @@ add_subdirectory(internal) vtkm_declare_headers(${headers}) #----------------------------------------------------------------------------- -if (TARGET vtkm::openmp) +if (TARGET vtkm::openmp AND VTKm_ENABLE_TESTING) add_subdirectory(testing) endif() diff --git a/vtkm/cont/serial/CMakeLists.txt b/vtkm/cont/serial/CMakeLists.txt index 299d4a5a4..653c4214f 100644 --- a/vtkm/cont/serial/CMakeLists.txt +++ b/vtkm/cont/serial/CMakeLists.txt @@ -17,4 +17,6 @@ add_subdirectory(internal) vtkm_declare_headers(${headers}) #----------------------------------------------------------------------------- -add_subdirectory(testing) +if (VTKm_ENABLE_TESTING) + add_subdirectory(testing) +endif () diff --git a/vtkm/cont/tbb/CMakeLists.txt b/vtkm/cont/tbb/CMakeLists.txt index c79edd130..105f33d16 100644 --- a/vtkm/cont/tbb/CMakeLists.txt +++ b/vtkm/cont/tbb/CMakeLists.txt @@ -17,6 +17,6 @@ add_subdirectory(internal) vtkm_declare_headers(${headers}) #----------------------------------------------------------------------------- -if (TARGET vtkm::tbb) +if (TARGET vtkm::tbb AND VTKm_ENABLE_TESTING) add_subdirectory(testing) endif() diff --git a/vtkm/exec/CMakeLists.txt b/vtkm/exec/CMakeLists.txt index fb8503887..71021d5e8 100644 --- a/vtkm/exec/CMakeLists.txt +++ b/vtkm/exec/CMakeLists.txt @@ -63,4 +63,6 @@ add_subdirectory(cuda) add_subdirectory(kokkos) #----------------------------------------------------------------------------- -add_subdirectory(testing) +if (VTKm_ENABLE_TESTING) + add_subdirectory(testing) +endif () diff --git a/vtkm/exec/arg/CMakeLists.txt b/vtkm/exec/arg/CMakeLists.txt index 473595752..69e25cfc6 100644 --- a/vtkm/exec/arg/CMakeLists.txt +++ b/vtkm/exec/arg/CMakeLists.txt @@ -49,4 +49,6 @@ vtkm_declare_headers(${headers}) #----------------------------------------------------------------------------- -add_subdirectory(testing) +if (VTKm_ENABLE_TESTING) + add_subdirectory(testing) +endif () diff --git a/vtkm/exec/cuda/internal/CMakeLists.txt b/vtkm/exec/cuda/internal/CMakeLists.txt index 27fa86cf5..c942726e5 100644 --- a/vtkm/exec/cuda/internal/CMakeLists.txt +++ b/vtkm/exec/cuda/internal/CMakeLists.txt @@ -25,6 +25,6 @@ set_source_files_properties(ThrustPatches.h PROPERTIES VTKm_CANT_BE_HEADER_TESTED TRUE) #----------------------------------------------------------------------------- -if (TARGET vtkm::cuda) +if (TARGET vtkm::cuda AND VTKm_ENABLE_TESTING) add_subdirectory(testing) endif() diff --git a/vtkm/exec/internal/CMakeLists.txt b/vtkm/exec/internal/CMakeLists.txt index 7aa424536..4ce933838 100644 --- a/vtkm/exec/internal/CMakeLists.txt +++ b/vtkm/exec/internal/CMakeLists.txt @@ -22,4 +22,6 @@ vtkm_declare_headers(${headers}) vtkm_pyexpander_generated_file(WorkletInvokeFunctorDetail.h) -add_subdirectory(testing) +if (VTKm_ENABLE_TESTING) + add_subdirectory(testing) +endif () diff --git a/vtkm/exec/openmp/internal/CMakeLists.txt b/vtkm/exec/openmp/internal/CMakeLists.txt index ebe27bead..a5ef2681a 100644 --- a/vtkm/exec/openmp/internal/CMakeLists.txt +++ b/vtkm/exec/openmp/internal/CMakeLists.txt @@ -15,6 +15,6 @@ set(headers vtkm_declare_headers(${headers}) #----------------------------------------------------------------------------- -if (VTKm_ENABLE_OPENMP) +if (VTKm_ENABLE_OPENMP AND VTKm_ENABLE_TESTING) add_subdirectory(testing) endif() diff --git a/vtkm/exec/serial/internal/CMakeLists.txt b/vtkm/exec/serial/internal/CMakeLists.txt index b132287f0..42e374fdb 100644 --- a/vtkm/exec/serial/internal/CMakeLists.txt +++ b/vtkm/exec/serial/internal/CMakeLists.txt @@ -15,4 +15,6 @@ set(headers vtkm_declare_headers(${headers}) #----------------------------------------------------------------------------- -add_subdirectory(testing) +if (VTKm_ENABLE_TESTING) + add_subdirectory(testing) +endif () diff --git a/vtkm/exec/tbb/internal/CMakeLists.txt b/vtkm/exec/tbb/internal/CMakeLists.txt index f8530973b..9758b7a7a 100644 --- a/vtkm/exec/tbb/internal/CMakeLists.txt +++ b/vtkm/exec/tbb/internal/CMakeLists.txt @@ -15,6 +15,6 @@ set(headers vtkm_declare_headers(${headers}) #----------------------------------------------------------------------------- -if (TARGET vtkm::tbb) +if (TARGET vtkm::tbb AND VTKm_ENABLE_TESTING) add_subdirectory(testing) endif() diff --git a/vtkm/filter/CMakeLists.txt b/vtkm/filter/CMakeLists.txt index cc6f012cd..a2b927b7a 100644 --- a/vtkm/filter/CMakeLists.txt +++ b/vtkm/filter/CMakeLists.txt @@ -278,4 +278,6 @@ add_subdirectory(internal) add_subdirectory(particleadvection) #----------------------------------------------------------------------------- -add_subdirectory(testing) +if (VTKm_ENABLE_TESTING) + add_subdirectory(testing) +endif () diff --git a/vtkm/internal/CMakeLists.txt b/vtkm/internal/CMakeLists.txt index c752f7689..01e0cf07e 100755 --- a/vtkm/internal/CMakeLists.txt +++ b/vtkm/internal/CMakeLists.txt @@ -88,4 +88,6 @@ vtkm_pyexpander_generated_file(FunctionInterfaceDetailPost.h) vtkm_pyexpander_generated_file(VariantImplDetail.h) vtkm_pyexpander_generated_file(VecOperators.h) -add_subdirectory(testing) +if (VTKm_ENABLE_TESTING) + add_subdirectory(testing) +endif () diff --git a/vtkm/interop/cuda/CMakeLists.txt b/vtkm/interop/cuda/CMakeLists.txt index 6f4646a24..84b1c532b 100644 --- a/vtkm/interop/cuda/CMakeLists.txt +++ b/vtkm/interop/cuda/CMakeLists.txt @@ -17,6 +17,6 @@ vtkm_declare_headers(${headers}) add_subdirectory(internal) -if(VTKm_ENABLE_OPENGL_TESTS) +if(VTKm_ENABLE_OPENGL_TESTS AND VTKm_ENABLE_TESTING) add_subdirectory(testing) endif() diff --git a/vtkm/interop/internal/CMakeLists.txt b/vtkm/interop/internal/CMakeLists.txt index 9d4a515d9..c434197f8 100644 --- a/vtkm/interop/internal/CMakeLists.txt +++ b/vtkm/interop/internal/CMakeLists.txt @@ -18,6 +18,6 @@ set(headers vtkm_declare_headers(${headers}) #----------------------------------------------------------------------------- -if(TARGET vtkm_rendering) +if(TARGET vtkm_rendering AND VTKm_ENABLE_TESTING) add_subdirectory(testing) endif() diff --git a/vtkm/io/CMakeLists.txt b/vtkm/io/CMakeLists.txt index 98d2018d3..0ce968f11 100644 --- a/vtkm/io/CMakeLists.txt +++ b/vtkm/io/CMakeLists.txt @@ -98,4 +98,6 @@ endif() add_subdirectory(internal) add_subdirectory(reader) add_subdirectory(writer) -add_subdirectory(testing) +if (VTKm_ENABLE_TESTING) + add_subdirectory(testing) +endif () diff --git a/vtkm/random/CMakeLists.txt b/vtkm/random/CMakeLists.txt index 9ab10ff01..5074453b4 100644 --- a/vtkm/random/CMakeLists.txt +++ b/vtkm/random/CMakeLists.txt @@ -14,4 +14,6 @@ set(headers vtkm_declare_headers(${headers}) #----------------------------------------------------------------------------- -add_subdirectory(testing) +if (VTKm_ENABLE_TESTING) + add_subdirectory(testing) +endif () diff --git a/vtkm/rendering/CMakeLists.txt b/vtkm/rendering/CMakeLists.txt index bed5b8a76..d42414c42 100644 --- a/vtkm/rendering/CMakeLists.txt +++ b/vtkm/rendering/CMakeLists.txt @@ -155,4 +155,6 @@ endif() #----------------------------------------------------------------------------- add_subdirectory(internal) add_subdirectory(raytracing) -add_subdirectory(testing) +if (VTKm_ENABLE_TESTING) + add_subdirectory(testing) +endif () diff --git a/vtkm/source/CMakeLists.txt b/vtkm/source/CMakeLists.txt index 959a76786..88c576b2c 100644 --- a/vtkm/source/CMakeLists.txt +++ b/vtkm/source/CMakeLists.txt @@ -30,4 +30,6 @@ vtkm_library(NAME vtkm_source target_link_libraries(vtkm_source PUBLIC vtkm_cont) #----------------------------------------------------------------------------- -add_subdirectory(testing) +if (VTKm_ENABLE_TESTING) + add_subdirectory(testing) +endif () diff --git a/vtkm/worklet/CMakeLists.txt b/vtkm/worklet/CMakeLists.txt index 61d1f1cba..db8b61d60 100644 --- a/vtkm/worklet/CMakeLists.txt +++ b/vtkm/worklet/CMakeLists.txt @@ -158,4 +158,6 @@ target_link_libraries(vtkm_worklet PUBLIC vtkm_cont) set_source_files_properties(${sources_device} PROPERTIES SKIP_UNITY_BUILD_INCLUSION ON) #----------------------------------------------------------------------------- -add_subdirectory(testing) +if (VTKm_ENABLE_TESTING) + add_subdirectory(testing) +endif () diff --git a/vtkm/worklet/internal/CMakeLists.txt b/vtkm/worklet/internal/CMakeLists.txt index 3a34f182c..7ca14a166 100644 --- a/vtkm/worklet/internal/CMakeLists.txt +++ b/vtkm/worklet/internal/CMakeLists.txt @@ -19,4 +19,6 @@ set(headers vtkm_declare_headers(${headers}) -add_subdirectory(testing) +if (VTKm_ENABLE_TESTING) + add_subdirectory(testing) +endif () From b719911d1b2f4e40909f5406e0b92cf29b5f4a99 Mon Sep 17 00:00:00 2001 From: Ben Boeckel Date: Tue, 1 Jun 2021 18:40:46 -0400 Subject: [PATCH 2/2] cmake: use `if (TEST)` to detect tests that are enabled It's just simpler in this case. --- vtkm/cont/openmp/testing/CMakeLists.txt | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/vtkm/cont/openmp/testing/CMakeLists.txt b/vtkm/cont/openmp/testing/CMakeLists.txt index f70b7d823..e0547fca1 100644 --- a/vtkm/cont/openmp/testing/CMakeLists.txt +++ b/vtkm/cont/openmp/testing/CMakeLists.txt @@ -36,15 +36,16 @@ vtkm_unit_tests(SOURCES ${unit_tests} DEFINES VTKM_NO_ERROR_ON_MIXED_CUDA_CXX_TAG LIBRARIES vtkm_worklet) -if (VTKm_ENABLE_TESTING) - #We need to have all OpenMP tests run serially as they - #will uses all the system cores, and we will cause a N*N thread - #explosion which causes the tests to run slower than when run - #serially - foreach (test ${unit_tests}) - get_filename_component(tname ${test} NAME_WE) - set_tests_properties(${tname} PROPERTIES - RUN_SERIAL True - ) - endforeach() -endif() +#We need to have all OpenMP tests run serially as they +#will uses all the system cores, and we will cause a N*N thread +#explosion which causes the tests to run slower than when run +#serially +foreach (test ${unit_tests}) + if (NOT TEST "${test}") + continue () + endif () + get_filename_component(tname ${test} NAME_WE) + set_tests_properties(${tname} PROPERTIES + RUN_SERIAL True + ) +endforeach()