diff --git a/CMakeLists.txt b/CMakeLists.txt index 36c6831d568138dd51d5160e8dc1f3544ec3caf7..e70d89fa2225f521cb9421388b181d1c66bdda1f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -495,8 +495,9 @@ else() endif() endif() -if (WALBERLA_BUILD_WITH_CUDA AND CUDA_VERSION VERSION_LESS "11.0") +if (WALBERLA_BUILD_WITH_CUDA AND (CUDA_VERSION VERSION_LESS "11.0" OR CMAKE_VERSION VERSION_LESS 3.18.0)) # CUDA < 11 does not support C++17. std::experimental::any works with C++14, unlike std::any. + set(CMAKE_CUDA_STANDARD 14) set(WALBERLA_USE_STD_EXPERIMENTAL_ANY 1) endif() @@ -1051,7 +1052,6 @@ if ( WALBERLA_BUILD_WITH_CUDA ) #CUDA_FOUND is need for our cmake mechanism set ( CUDA_FOUND TRUE ) - set(CMAKE_CUDA_STANDARD_REQUIRED OFF) else() set ( WALBERLA_BUILD_WITH_CUDA FALSE ) endif ( )