VTK-m Update CMake Infrastructure to use CMake 3.3/3.9
Continues the work from !1043 (closed) and !996 (closed)
Finishes the following tasks:
-
CUDA compilation uses first class cuda support allowing us to leverage separable compilation.
-
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
-
Rendering Unit Tests are now built for each specific device
-
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.
-
CUDA device code can now use constexpr like limits::max()
-
All examples are now converted over to the new cmake code
-
Added
VTKm_INSTALL_ONLY_LIBRARIES
option which resolves paraview/paraview#17747 (closed) -
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.