From 8d207097b198a5da2be15ec1579df4c77440b9c2 Mon Sep 17 00:00:00 2001 From: Kenneth Moreland Date: Thu, 12 Nov 2015 14:41:22 -0700 Subject: [PATCH] If VTK-m is required in find_package, require sub packages If a project loads VTK-m with find_package(VTKm REQUIRED), then also make it required to find any packages the default devices require. --- CMake/VTKmConfig.cmake.in | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/CMake/VTKmConfig.cmake.in b/CMake/VTKmConfig.cmake.in index 896b0523a..1e871e5ea 100644 --- a/CMake/VTKmConfig.cmake.in +++ b/CMake/VTKmConfig.cmake.in @@ -50,10 +50,18 @@ set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${VTKm_CMAKE_MODULE_PATH}) include(VTKmMacros) -vtkm_configure_device(Serial) +if(VTKm_FIND_REQUIRED) + set(vtkm_is_required REQUIRED) +else() + set(vtkm_is_required) +endif() + +vtkm_configure_device(Serial ${vtkm_is_required}) if(VTKm_ENABLE_CUDA) vtkm_configure_device(CUDA) endif() if(VTKm_ENABLE_TBB) - vtkm_configure_device(TBB) + # If configured with TBB, the VTK-m header files might choose TBB as the + # default device. In that case, the TBB device is required. + vtkm_configure_device(TBB ${vtkm_is_required}) endif()