diff --git a/tests/BasicLbmScenarios/CMakeLists.txt b/tests/BasicLbmScenarios/CMakeLists.txt
index 4b9eef3a0267648cb20bba2f85f6287d02cecbc7..42a1ced66263d90e5f4872c95ace55e8566538ec 100644
--- a/tests/BasicLbmScenarios/CMakeLists.txt
+++ b/tests/BasicLbmScenarios/CMakeLists.txt
@@ -15,18 +15,37 @@ foreach( TestID ${TestIDs} )
 endforeach()
 
 
+if( $CACHE{WALBERLA_BUILD_WITH_CUDA} )
+    find_package( CUDAToolkit )
+    
+    #   Workaround: CUDA headers are included in core/timing
+    target_link_libraries( TestBasicLbmScenariosCPU PRIVATE CUDA::cudart )
+
+    set( _codegen_suffixes hpp cu )
+
+    add_executable( TestBasicLbmScenariosCUDA TestBasicLbmScenarios.cpp )
+    walberla_generate_sources( TestBasicLbmScenariosCUDA SCRIPTS LbmAlgorithms.py SCRIPT_ARGS --target=cuda FILE_EXTENSIONS ${_codegen_suffixes} )
+    target_link_libraries( TestBasicLbmScenariosCUDA PRIVATE walberla::core walberla::blockforest walberla::field walberla::gpu walberla::geometry walberla::experimental CUDA::cudart )
+
+    add_dependencies( SfgTests TestBasicLbmScenariosCUDA )
+
+    foreach( TestID ${TestIDs} )
+        add_test( NAME "BasicLbmScenarios - CUDA - ${TestID}" COMMAND TestBasicLbmScenariosCUDA ${TestID} )
+    endforeach()
+endif()
+
 if( $CACHE{WALBERLA_BUILD_WITH_HIP} )
     find_package(hip REQUIRED)
 
     set( _codegen_suffixes hpp cpp )
 
-    add_executable( TestBasicLbmScenariosGPU TestBasicLbmScenarios.cpp )
-    walberla_generate_sources( TestBasicLbmScenariosGPU SCRIPTS LbmAlgorithms.py SCRIPT_ARGS --target=hip FILE_EXTENSIONS ${_codegen_suffixes} )
-    target_link_libraries( TestBasicLbmScenariosGPU PRIVATE walberla::core walberla::blockforest walberla::field walberla::gpu walberla::geometry walberla::experimental hip::host )
+    add_executable( TestBasicLbmScenariosHIP TestBasicLbmScenarios.cpp )
+    walberla_generate_sources( TestBasicLbmScenariosHIP SCRIPTS LbmAlgorithms.py SCRIPT_ARGS --target=hip FILE_EXTENSIONS ${_codegen_suffixes} )
+    target_link_libraries( TestBasicLbmScenariosHIP PRIVATE walberla::core walberla::blockforest walberla::field walberla::gpu walberla::geometry walberla::experimental hip::host )
 
-    add_dependencies( SfgTests TestBasicLbmScenariosGPU )
+    add_dependencies( SfgTests TestBasicLbmScenariosHIP )
 
     foreach( TestID ${TestIDs} )
-        add_test( NAME "BasicLbmScenarios - HIP - ${TestID}" COMMAND TestBasicLbmScenariosGPU ${TestID} )
+        add_test( NAME "BasicLbmScenarios - HIP - ${TestID}" COMMAND TestBasicLbmScenariosHIP ${TestID} )
     endforeach()
 endif()
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index eb3cb86fe6b0bfe682d1bd9d3886d62cf42f1c64..1d719cbfa8741eb2e817ca3b69bb81497db38e1b 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -1,5 +1,5 @@
 cmake_minimum_required( VERSION 3.24 )
-project( sfg-walberla-testsuite )
+project( sfg-walberla-testsuite LANGUAGES CXX CUDA )
 
 set(WALBERLA_BUILD_TESTS OFF CACHE BOOL "")
 set(WALBERLA_BUILD_BENCHMARKS OFF CACHE BOOL "")
diff --git a/tests/CMakePresets.json b/tests/CMakePresets.json
index b187c21bf4665d809cf3a006b35faa29728a08a8..a064ccfbfb88e5d4aa225185bb26a9cdf4c8fe3c 100644
--- a/tests/CMakePresets.json
+++ b/tests/CMakePresets.json
@@ -7,13 +7,24 @@
     },
     "configurePresets": [
         {
-            "name": "testsuite-dbg",
+            "name": "testsuite-dbg-cpu",
             "binaryDir": "${sourceDir}/build/${presetName}",
             "generator": "Ninja",
             "cacheVariables": {
                 "CMAKE_BUILD_TYPE": "Debug",
                 "WALBERLA_BUILD_TESTS": false
             }
+        },
+        {
+            "name": "testsuite-dbg-cuda",
+            "binaryDir": "${sourceDir}/build/${presetName}",
+            "generator": "Ninja",
+            "cacheVariables": {
+                "CMAKE_BUILD_TYPE": "Debug",
+                "WALBERLA_BUILD_TESTS": false,
+                "WALBERLA_BUILD_WITH_CUDA": true,
+                "CMAKE_CUDA_ARCHITECTURES": "native"
+            }
         }
     ]
 }