diff --git a/CMake/VTKmConfig.cmake.in b/CMake/VTKmConfig.cmake.in index 2f15d5db3..d33134edd 100644 --- a/CMake/VTKmConfig.cmake.in +++ b/CMake/VTKmConfig.cmake.in @@ -105,6 +105,14 @@ if (VTKm_ENABLE_TBB) endif() endif() +if (VTKm_ENABLE_OPENMP) + find_dependency(OpenMP) + if (NOT OpenMP_FOUND) + set(VTKm_FOUND 0) + list(APPEND VTKm_NOT_FOUND_REASON "OpenMP not found: ${OpenMP_NOT_FOUND_MESSAGE}") + endif() +endif() + if (VTKm_ENABLE_ANARI) find_dependency(anari) if (NOT anari_FOUND) diff --git a/CMake/VTKmDeviceAdapters.cmake b/CMake/VTKmDeviceAdapters.cmake index ace2a9e60..d2519ea17 100644 --- a/CMake/VTKmDeviceAdapters.cmake +++ b/CMake/VTKmDeviceAdapters.cmake @@ -58,21 +58,13 @@ if(VTKm_ENABLE_OPENMP AND NOT (TARGET vtkm_openmp OR TARGET vtkm::openmp)) find_package(OpenMP 4.0 REQUIRED COMPONENTS CXX QUIET) add_library(vtkm_openmp INTERFACE) + target_link_libraries(vtkm_openmp INTERFACE OpenMP::OpenMP_CXX) + target_compile_options(vtkm_openmp INTERFACE $<$:${OpenMP_CXX_FLAGS}>) + if(VTKm_ENABLE_CUDA) + string(REPLACE ";" "," openmp_cuda_flags "-Xcompiler=${OpenMP_CXX_FLAGS}") + target_compile_options(vtkm_openmp INTERFACE $<$:${openmp_cuda_flags}>) + endif() set_target_properties(vtkm_openmp PROPERTIES EXPORT_NAME openmp) - if(OpenMP_CXX_FLAGS) - set_property(TARGET vtkm_openmp - APPEND PROPERTY INTERFACE_COMPILE_OPTIONS $<$:${OpenMP_CXX_FLAGS}>) - - if(VTKm_ENABLE_CUDA) - string(REPLACE ";" "," openmp_cuda_flags "-Xcompiler=${OpenMP_CXX_FLAGS}") - set_property(TARGET vtkm_openmp - APPEND PROPERTY INTERFACE_COMPILE_OPTIONS $<$:${openmp_cuda_flags}>) - endif() - endif() - if(OpenMP_CXX_LIBRARIES) - set_target_properties(vtkm_openmp PROPERTIES - INTERFACE_LINK_LIBRARIES "${OpenMP_CXX_LIBRARIES}") - endif() install(TARGETS vtkm_openmp EXPORT ${VTKm_EXPORT_NAME}) endif()