diff --git a/CMake/3rd.cmake b/CMake/3rd.cmake
index 6cc488f94716f7cec973874b0930ed8f9b719d08..5ec921758c1b335c1cc9d78a4441d44c9bfe6de3 100644
--- a/CMake/3rd.cmake
+++ b/CMake/3rd.cmake
@@ -1,5 +1,4 @@
 include(${VF_CMAKE_DIR}/3rd/boost.cmake)
-include(${VF_CMAKE_DIR}/3rd/cuda.cmake)
 include(${VF_CMAKE_DIR}/3rd/gmock.cmake)
 include(${VF_CMAKE_DIR}/3rd/mpi.cmake)
 include(${VF_CMAKE_DIR}/3rd/OpenMP.cmake)
\ No newline at end of file
diff --git a/CMake/3rd/cuda.cmake b/CMake/3rd/cuda.cmake
deleted file mode 100644
index 73d9b8647e2fa92dc760b60040ef727e4b4785f0..0000000000000000000000000000000000000000
--- a/CMake/3rd/cuda.cmake
+++ /dev/null
@@ -1,13 +0,0 @@
-
-function(linkCUDA)
-
-    set(CUDA_CUT_INCLUDE_DIR "${VF_THIRD_DIR}/cuda_samples/")
-
-    vf_get_library_name(library_name)
-    target_include_directories(${library_name} PRIVATE ${CUDA_CUT_INCLUDE_DIR})
-    target_include_directories(${library_name} PRIVATE ${CMAKE_CUDA_TOOLKIT_INCLUDE_DIRECTORIES})
-
-    # set the following properties only for specific targets
-    # set_property(TARGET ${targetName} PROPERTY CUDA_SEPARABLE_COMPILATION ON)
-    # set_property(TARGET ${targetName} PROPERTY CUDA_64_BIT_DEVICE_CODE ON)
-endfunction()
diff --git a/CMake/3rd/mpi.cmake b/CMake/3rd/mpi.cmake
index 93b3ee386cc46623ed02bbbffb88996328f03e52..3cdcfadf76aaf91508046b6be0203a44acc63e65 100644
--- a/CMake/3rd/mpi.cmake
+++ b/CMake/3rd/mpi.cmake
@@ -3,7 +3,7 @@ function (linkMPI)
     find_package(MPI REQUIRED)
 
     vf_get_library_name(library_name)
-    target_include_directories(${library_name} PUBLIC ${MPI_CXX_INCLUDE_PATH})
+    #target_include_directories(${library_name} PUBLIC ${MPI_CXX_INCLUDE_PATH})
     target_link_libraries(${library_name} PRIVATE MPI::MPI_CXX)
 
 endfunction()
\ No newline at end of file
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 8d743768918b108fcb5d68b6df89f01867c41c0c..dafb380b456cefc7c9af4ff3a8bba63d03cb57f7 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -106,6 +106,10 @@ if(BUILD_VF_GPU)
 
     message("CUDA Architecture: ${CMAKE_CUDA_ARCHITECTURES}")
 
+    set(CUDA_CUT_INCLUDE_DIR "${VF_THIRD_DIR}/cuda_samples/")
+    include_directories(${CUDA_CUT_INCLUDE_DIR})
+    include_directories(${CMAKE_CUDA_TOOLKIT_INCLUDE_DIRECTORIES})
+
     include (gpu.cmake)
 endif()
 
diff --git a/gpu.cmake b/gpu.cmake
index 29fe0d826a11d169f2c17510dde26c2581ce6ad5..6bdff52053d9b4ad047ca8015980a08e9e2f3a79 100644
--- a/gpu.cmake
+++ b/gpu.cmake
@@ -1,14 +1,4 @@
 
-#############################################################
-###                     CUDAPATH                          ###
-#############################################################
-
-# if CMake cannot find CUDA by itself, set the correct paths manually:
-#SET(CUDA_CUT_INCLUDE_DIR    "/cluster/cuda/9.0/include;/cluster/cuda/9.0/samples/common/inc" CACHE PATH "CUDA_CUT_INCLUDE_DIR")
-#SET(CUDA_SAMPLE_INCLUDE_DIR "/cluster/cuda/9.0/samples/common/inc" CACHE PATH "CUDA_CUT_INCLUDE_DIR")
-
-
-#############################################################
 
 if(BUILD_NUMERIC_TESTS)
     set(CMAKE_CXX_STANDARD 17)
@@ -24,9 +14,6 @@ ENDIF()
 
 set(CMAKE_CUDA_FLAGS_DEBUG " -G" CACHE STRING "" FORCE)
 
-#############################################################
-
-enable_language(CUDA)
 
 ##########################################################################################################################
 ###                  Subdirectories                                                                                    ###
diff --git a/src/gpu/GksGpu/CMakeLists.txt b/src/gpu/GksGpu/CMakeLists.txt
index 88df905d3eb847c1ed5e9b5bc5a1ec68c549e313..facd4b663568210500ff783c4f603df10f81dcf9 100644
--- a/src/gpu/GksGpu/CMakeLists.txt
+++ b/src/gpu/GksGpu/CMakeLists.txt
@@ -1,7 +1,7 @@
+project(GksGpu LANGUAGES CUDA CXX)
 
 vf_add_library(BUILDTYPE shared PRIVATE_LINK basics GksMeshAdapter)
 
-linkCUDA()
 linkMPI()
 
 vf_get_library_name(library_name)
diff --git a/src/gpu/GridGenerator/CMakeLists.txt b/src/gpu/GridGenerator/CMakeLists.txt
index 46866937e2fe91e4d2eedd3cbbaf16a65ae8a6fc..57431eab6d66d5d81c6c4fbf04a5f44266856419 100644
--- a/src/gpu/GridGenerator/CMakeLists.txt
+++ b/src/gpu/GridGenerator/CMakeLists.txt
@@ -1,9 +1,9 @@
+project(GridGenerator LANGUAGES CUDA CXX)
 
 
 vf_add_library(PRIVATE_LINK basics)
 vf_get_library_name(library_name)
 
-linkCUDA()
 linkOpenMP(${library_name})
 
 
diff --git a/src/gpu/Traffic/CMakeLists.txt b/src/gpu/Traffic/CMakeLists.txt
index c836ac39130824ebc01da73c62a76c85656573a8..249594e0434bc01aecd8f95f524a25a0745013d4 100644
--- a/src/gpu/Traffic/CMakeLists.txt
+++ b/src/gpu/Traffic/CMakeLists.txt
@@ -1,5 +1,3 @@
-
+project(Traffic LANGUAGES CUDA CXX)
 
 vf_add_library(BUILDTYPE shared PRIVATE_LINK GridGenerator basics)
-
-linkCUDA()
\ No newline at end of file
diff --git a/src/gpu/VirtualFluids_GPU/CMakeLists.txt b/src/gpu/VirtualFluids_GPU/CMakeLists.txt
index 442efdc1422dc278161d3ad6571f3e52864e90de..2df796f2fcbf7b0423e5e8c651bcf6e00e35ba81 100644
--- a/src/gpu/VirtualFluids_GPU/CMakeLists.txt
+++ b/src/gpu/VirtualFluids_GPU/CMakeLists.txt
@@ -1,3 +1,4 @@
+project(VirtualFluids_GPU LANGUAGES CUDA CXX)
 
 IF(MSVC)
     set(libsToLink ws2_32 GridGenerator basics Traffic) # ws_32 throws an error on Phoenix
@@ -10,7 +11,6 @@ ENDIF(MSVC)
 vf_add_library(PRIVATE_LINK ${libsToLink})
 
 linkMPI()
-linkCUDA()
 linkBoost(COMPONENTS "serialization")
 
 #SET(TPN_WIN32 "/EHsc")