New in version 3.17.

Select the CUDA runtime library for use when compiling and linking CUDA. This variable is used to initialize the CUDA_RUNTIME_LIBRARY property on all targets as they are created.

The allowed case insensitive values are:


Link with -cudart=none or equivalent flag(s) to use no CUDA runtime library.


Link with -cudart=shared or equivalent flag(s) to use a dynamically-linked CUDA runtime library.


Link with -cudart=static or equivalent flag(s) to use a statically-linked CUDA runtime library.

Contents of CMAKE_CUDA_RUNTIME_LIBRARY may use generator expressions.

If this variable is not set then the CUDA_RUNTIME_LIBRARY target property will not be set automatically. If that property is not set then CMake uses an appropriate default value based on the compiler to select the CUDA runtime library.


This property has effect only when the CUDA language is enabled. To control the CUDA runtime linking when only using the CUDA SDK with the C or C++ language we recommend using the FindCUDAToolkit module.