diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 16785ac4f8..6d4b9e2f84 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -711,7 +711,12 @@ if (onnxruntime_USE_CUDA) if ( CMAKE_CUDA_FLAGS ) list(REMOVE_ITEM CMAKE_CUDA_FLAGS "-cudart static") endif() - string(APPEND CMAKE_CUDA_FLAGS "-cudart shared") + if (${CMAKE_VERSION} VERSION_GREATER_EQUAL "3.17.0") + # cmake 3.17.0 introduces CMAKE_CUDA_RUNTIME which must be used instead of explicit -cudart shared flag + set(CMAKE_CUDA_RUNTIME_LIBRARY Shared) + else() + string(APPEND CMAKE_CUDA_FLAGS "-cudart shared") + endif() enable_language(CUDA) set(CMAKE_CUDA_STANDARD 11) file(TO_CMAKE_PATH ${onnxruntime_CUDNN_HOME} onnxruntime_CUDNN_HOME)