Skip to content

VTK-m Update CMake Infrastructure to use CMake 3.3/3.9

Robert Maynard requested to merge robertmaynard/vtk-m:cmake_refactor into master

Continues the work from !1043 (closed) and !996 (closed)

Finishes the following tasks:

  1. CUDA compilation uses first class cuda support allowing us to leverage separable compilation.

  2. Benchmarks have been moved out of the vtkm directory to clarify the fact that they are more like examples/utilities and not something that should be 'core' vtk-m

  3. Rendering Unit Tests are now built for each specific device

  4. Rendering context selection is now done with 'VTKm_ENABLE_GL_CONTEXT', 'VTKm_ENABLE_OSMESA_CONTEXT', 'VTKm_ENABLE_EGL_CONTEXT' all of which are mutually exclusive.

  5. CUDA device code can now use constexpr like limits::max()

  6. All examples are now converted over to the new cmake code

  7. Added VTKm_INSTALL_ONLY_LIBRARIES option which resolves paraview/paraview#17747 (closed)

  8. CUDA builds now generate warnings rather than hide all warnings. This helps expose issues when methods aren't marked as VTKM_EXEC

At this point I think we should merge these changes into master. I have been unable to reproduce the delve CUDA build failures and think they will go away once we push these changes into master.

Otherwise the only issue with this work is that it exposes warnings that need to be fixed.

Edited by Robert Maynard

Merge request reports