Propagate CUDA includes to host compiler
The driver_types.h
file used by cuda/Interface.h
seems to be an internal (or ancient) header file, doesn't use <>
for system libraries, and isn't available by the host compiler because the CUDA paths aren't propagated through the vecgeom
lib.
This uses the CUDA toolkit to propagate the headers correctly.
FAILED: test/geocel/CMakeFiles/testcel_geocel.dir/vg/VecgeomTestBase.cc.o
/usr/bin/c++ -DG4LIB_BUILD_DLL -DGTEST_LINKED_AS_SHARED_LIBRARY=1 -Dtestcel_geocel_EXPORTS -I/__w/celeritas/celeritas/test -I/__w/celeritas/celeritas/build/test -I/__w/celeritas/celeritas/src -I/__w/celeritas/celeritas/build/include -isystem /opt/view/include -isystem /opt/view/include/Geant4 -isystem /opt/software/linux-rocky9-x86_64_v3/gcc-11.5.0/clhep-2.4.7.1-3tp5xebivqxft3yw3wonb3nxql5u7mfo/include -Wall -Wextra -pedantic -Werror -Wno-error=deprecated-declarations -O3 -DNDEBUG -std=c++20 -fPIC -MD -MT test/geocel/CMakeFiles/testcel_geocel.dir/vg/VecgeomTestBase.cc.o -MF test/geocel/CMakeFiles/testcel_geocel.dir/vg/VecgeomTestBase.cc.o.d -o test/geocel/CMakeFiles/testcel_geocel.dir/vg/VecgeomTestBase.cc.o -c /__w/celeritas/celeritas/test/geocel/vg/VecgeomTestBase.cc
In file included from /opt/view/include/VecGeom/base/Transformation3D.h:14,
from /opt/view/include/VecGeom/navigation/NavStatePath.h:11,
from /opt/view/include/VecGeom/navigation/NavigationState.h:9,
from /opt/view/include/VecGeom/navigation/NavStatePool.h:14,
from /__w/celeritas/celeritas/src/geocel/vg/detail/VecgeomNavCollection.hh:14,
from /__w/celeritas/celeritas/src/geocel/vg/VecgeomData.hh:18,
from /__w/celeritas/celeritas/test/geocel/vg/VecgeomTestBase.hh:10,
from /__w/celeritas/celeritas/test/geocel/vg/VecgeomTestBase.cc:7:
/opt/view/include/VecGeom/backend/cuda/Interface.h:12:10: fatal error: driver_types.h: No such file or directory
12 | #include "driver_types.h" // Required for cudaError_t type
| ^~~~~~~~~~~~~~~~