Several revisions ago, the ability to use virtual methods in the
execution environment was deprecated. Completely remove this
functionality for the VTK-m 2.0 release.
This mechanism sets up CMake variables that allow a user to select which
modules/libraries to create. Dependencies will be tracked down to ensure
that all of a module's dependencies are also enabled.
The modules are also arranged into groups.
Groups allow you to set the enable flag for a group of modules at once.
Thus, if you have several modules that are likely to be used together,
you can create a group for them.
This can be handy in converting user-friendly CMake options (such as
`VTKm_ENABLE_RENDERING`) to the modules that enable that by pointing to
the appropriate group.
The configuration for CI changed to using the newer CMake option
`CMAKE_CUDA_ARCHITECTURES` for turing builds instead of the now
depreciated `VTKm_CUDA_Architecture` setting. However, this new
setting only works for newer versions of CMake, and some of the
CI docker images still have older versions of CMake.
This happened to work on the CI because the CI was run on
machines that had the right CUDA device installed (I guess), but
did not work with the `reproduce_ci_env.py` utility. Fix this
by checking the CMake version first.
- It also adds CTEST_MAX_PARALLELISM to further control the number of
parallelism level while building vtk-m.
Signed-off-by: Vicente Adolfo Bolea Sanchez <vicente.bolea@kitware.com>
When VTK compiles VTK-m for inclusion as an accelerator library, it sets
an option to compile filters and other components for a different (and
expanded) set of common types. We should test this configuration.
To simplify reproducing docker based CI workers locally, VTK-m has python program that handles all the
work automatically for you.
The program is located in `[Utilities/CI/reproduce_ci_env.py ]` and requires python3 and pyyaml.
To use the program is really easy! The following two commands will create the `build:rhel8` gitlab-ci
worker as a docker image and setup a container just as how gitlab-ci would be before the actual
compilation of VTK-m. Instead of doing the compilation, instead you will be given an interactive shell.
```
./reproduce_ci_env.py create rhel8
./reproduce_ci_env.py run rhel8
```
To compile VTK-m from the the interactive shell you would do the following:
```
> src]# cd build/
> build]# cmake --build .
```