cudaPackages_10.cudatoolkit: fix infinite recursion in setupCudaHook

This commit is contained in:
Someone Serge 2023-07-20 02:17:27 +03:00
parent 9f46beb6a7
commit bfb24acbd0
No known key found for this signature in database
GPG key ID: 7B0E3B1390D61DA4
3 changed files with 10 additions and 3 deletions

View file

@ -59,9 +59,6 @@ final: prev: let
# Required in addition to ccRoot as otherwise bin/gcc is looked up
# when building CMakeCUDACompilerId.cu
substitutions.ccFullPath = "${backendStdenv.cc}/bin/${backendStdenv.cc.targetPrefix}c++";
# Required by cmake's enable_language(CUDA) to build a test program
substitutions.cudartRoot = prev.lib.getDev (final.cuda_cudart or final.cudatoolkit);
}
./hooks/setup-cuda-hook.sh)
{ });

View file

@ -0,0 +1,5 @@
# shellcheck shell=bash
# CMake's enable_language(CUDA) runs a compiler test and it doesn't account for
# CUDAToolkit_ROOT. We have to help it locate libcudart
export NVCC_APPEND_FLAGS+=" -L@cudartRoot@/lib -I@cudartRoot@/include"

View file

@ -27,6 +27,11 @@ in
inherit (prev.backendStdenv) cc;
in
{
# Required by cmake's enable_language(CUDA) to build a test program
# When implementing cross-compilation support: this is
# final.pkgs.targetPackages.cudaPackages.cuda_cudart
env.cudartRoot = "${prev.lib.getDev final.cuda_cudart}";
# Point NVCC at a compatible compiler
# Desiredata: whenever a package (e.g. magma) adds cuda_nvcc to