Draft: Modernize CUDA build for simplicity and use by downstream clients
This is a startup/WIP MR to investigate ways to modernise the CUDA part of the VecGeom CMake build (so no C++/CUDA changes). To include:
- Use of CMake's first class CUDA support rather than
cuda_add_library
et al - Handling of static/shared libraries with separable compilation and usage requirements/recipe for downstream clients (AdePT/Celeritas projects are immediate use cases).
All that's done for now is to create the branch and MR for shared work with @pcanal. The initial commit is purely there to start the branch, bumping CMake to 3.12 initially for improved CUDA/other support (but suspect we'll need further bumps).
Addresses: VECGEOM-558