diff --git a/3rdParty/googletest/version.txt b/3rdParty/googletest/version.txt
new file mode 100644
index 0000000000000000000000000000000000000000..b9fa3d3def665fa11b4146282404e6b4f110ab21
--- /dev/null
+++ b/3rdParty/googletest/version.txt
@@ -0,0 +1,3 @@
+release v1.10.0, 03.10.2019
+
+https://github.com/google/googletest/releases/tag/release-1.10.0
diff --git a/apps/gpu/LBM/DrivenCavity/CMakeLists.txt b/apps/gpu/LBM/DrivenCavity/CMakeLists.txt
index a1963c9f6d0b6ee0202184b4f402edb9597261de..16cd3e1b927e552b47d0af41e6355322798b7164 100644
--- a/apps/gpu/LBM/DrivenCavity/CMakeLists.txt
+++ b/apps/gpu/LBM/DrivenCavity/CMakeLists.txt
@@ -4,7 +4,4 @@ PROJECT(DrivenCavity)
 
 vf_add_library(BUILDTYPE binary DEPENDS VirtualFluids_GPU basics GridGenerator FILES DrivenCavity.cpp )
 
-include (${VF_CMAKE_DIR}/3rd/cuda.cmake)
-include (${VF_CMAKE_DIR}/3rd/mpi.cmake)
-include (${VF_CMAKE_DIR}/3rd/boost.cmake)
-linkBoost ("serialization")
+linkCUDA()
diff --git a/apps/gpu/LBM/TGV_3D/3rdPartyLinking.cmake b/apps/gpu/LBM/TGV_3D/3rdPartyLinking.cmake
deleted file mode 100644
index 30d15ff96351a944d95f7d4309b6b4f4a15456cb..0000000000000000000000000000000000000000
--- a/apps/gpu/LBM/TGV_3D/3rdPartyLinking.cmake
+++ /dev/null
@@ -1,13 +0,0 @@
-include (${CMAKE_SOURCE_DIR}/${cmakeMacroPath}/MPI/Link.cmake)
-linkMPI(${targetName})
-include (${CMAKE_SOURCE_DIR}/${cmakeMacroPath}/Cuda/Link.cmake)
-linkCuda(${targetName})
-include (${CMAKE_SOURCE_DIR}/${cmakeMacroPath}/Boost/Link.cmake)
-linkBoost(${targetName} "serialization")
-#include (${CMAKE_SOURCE_DIR}/${cmakeMacroPath}/Metis/Link.cmake)
-#linkMetis(${targetName})
-
-if(HULC.BUILD_JSONCPP)
-  include (${CMAKE_SOURCE_DIR}/${cmakeMacroPath}/JsonCpp/Link.cmake)
-  linkJsonCpp(${targetName})
-endif()
\ No newline at end of file
diff --git a/apps/gpu/LBM/TGV_3D/CMakeLists.txt b/apps/gpu/LBM/TGV_3D/CMakeLists.txt
index 56d9ac4f1281b03b3de4a023853619f0f5df4a14..c8a724bf1f5f43500cf9e373193769e155ef3f35 100644
--- a/apps/gpu/LBM/TGV_3D/CMakeLists.txt
+++ b/apps/gpu/LBM/TGV_3D/CMakeLists.txt
@@ -2,14 +2,4 @@ PROJECT(TGV_3D)
 
 vf_add_library(BUILDTYPE binary DEPENDS basics VirtualFluids_GPU GridGenerator FILES TGV_3D.cpp)
 
-include (${VF_CMAKE_DIR}/3rd/cuda.cmake)
-include (${VF_CMAKE_DIR}/3rd/mpi.cmake)
-include (${VF_CMAKE_DIR}/3rd/boost.cmake)
-linkBoost ("serialization")
-
-vf_get_library_name(library_name)
-target_include_directories(${library_name} PRIVATE "${CMAKE_SOURCE_DIR}/src/basics")
-target_include_directories(${library_name} PRIVATE "${CMAKE_SOURCE_DIR}/src/gpu")
-target_include_directories(${library_name} PRIVATE "${CMAKE_SOURCE_DIR}/src/gpu/VirtualFluids_GPU")
-target_include_directories(${library_name} PRIVATE "${CMAKE_SOURCE_DIR}/src/gpu/GridGenerator")
-target_include_directories(${library_name} PRIVATE "${CMAKE_SOURCE_DIR}/src/basics/Core")
\ No newline at end of file
+linkCUDA()
diff --git a/apps/gpu/LBM/TGV_3D/CMakePackage.cmake b/apps/gpu/LBM/TGV_3D/CMakePackage.cmake
deleted file mode 100644
index 5d39e3804dbd180790629111449a7dc918292430..0000000000000000000000000000000000000000
--- a/apps/gpu/LBM/TGV_3D/CMakePackage.cmake
+++ /dev/null
@@ -1,9 +0,0 @@
-#FILE ENDINGS
-resetFileEndingsToCollect()
-addCAndCPPFileTypes()
-addFileEndingToCollect("*.cu")
-addFileEndingToCollect("*.cuh")
-
-#GLOB SOURCE FILES IN MY_SRCS
-unset(MY_SRCS)
-includeRecursiveAllFilesFrom(${targetName} ${CMAKE_CURRENT_LIST_DIR})
\ No newline at end of file
diff --git a/apps/gpu/LBM/TGV_3D_MultiGPU/3rdPartyLinking.cmake b/apps/gpu/LBM/TGV_3D_MultiGPU/3rdPartyLinking.cmake
deleted file mode 100644
index 30d15ff96351a944d95f7d4309b6b4f4a15456cb..0000000000000000000000000000000000000000
--- a/apps/gpu/LBM/TGV_3D_MultiGPU/3rdPartyLinking.cmake
+++ /dev/null
@@ -1,13 +0,0 @@
-include (${CMAKE_SOURCE_DIR}/${cmakeMacroPath}/MPI/Link.cmake)
-linkMPI(${targetName})
-include (${CMAKE_SOURCE_DIR}/${cmakeMacroPath}/Cuda/Link.cmake)
-linkCuda(${targetName})
-include (${CMAKE_SOURCE_DIR}/${cmakeMacroPath}/Boost/Link.cmake)
-linkBoost(${targetName} "serialization")
-#include (${CMAKE_SOURCE_DIR}/${cmakeMacroPath}/Metis/Link.cmake)
-#linkMetis(${targetName})
-
-if(HULC.BUILD_JSONCPP)
-  include (${CMAKE_SOURCE_DIR}/${cmakeMacroPath}/JsonCpp/Link.cmake)
-  linkJsonCpp(${targetName})
-endif()
\ No newline at end of file
diff --git a/apps/gpu/LBM/TGV_3D_MultiGPU/CMakeLists.txt b/apps/gpu/LBM/TGV_3D_MultiGPU/CMakeLists.txt
index 24a7c8907fc7c2fd31b02ef868642584f647a32e..49846436eefc93093a57bebf045833efd3b5e3f5 100644
--- a/apps/gpu/LBM/TGV_3D_MultiGPU/CMakeLists.txt
+++ b/apps/gpu/LBM/TGV_3D_MultiGPU/CMakeLists.txt
@@ -2,14 +2,4 @@ PROJECT(TGV_3D_MultiGPU)
 
 vf_add_library(BUILDTYPE binary DEPENDS basics VirtualFluids_GPU GridGenerator FILES TGV_3D_MultiGPU.cpp)
 
-include (${VF_CMAKE_DIR}/3rd/cuda.cmake)
-include (${VF_CMAKE_DIR}/3rd/mpi.cmake)
-include (${VF_CMAKE_DIR}/3rd/boost.cmake)
-linkBoost ("serialization")
-
-vf_get_library_name(library_name)
-target_include_directories(${library_name} PRIVATE "${CMAKE_SOURCE_DIR}/src/basics")
-target_include_directories(${library_name} PRIVATE "${CMAKE_SOURCE_DIR}/src/gpu")
-target_include_directories(${library_name} PRIVATE "${CMAKE_SOURCE_DIR}/src/gpu/VirtualFluids_GPU")
-target_include_directories(${library_name} PRIVATE "${CMAKE_SOURCE_DIR}/src/gpu/GridGenerator")
-target_include_directories(${library_name} PRIVATE "${CMAKE_SOURCE_DIR}/src/basics/Core")
\ No newline at end of file
+linkCUDA()
diff --git a/apps/gpu/LBM/TGV_3D_MultiGPU/CMakePackage.cmake b/apps/gpu/LBM/TGV_3D_MultiGPU/CMakePackage.cmake
deleted file mode 100644
index 5d39e3804dbd180790629111449a7dc918292430..0000000000000000000000000000000000000000
--- a/apps/gpu/LBM/TGV_3D_MultiGPU/CMakePackage.cmake
+++ /dev/null
@@ -1,9 +0,0 @@
-#FILE ENDINGS
-resetFileEndingsToCollect()
-addCAndCPPFileTypes()
-addFileEndingToCollect("*.cu")
-addFileEndingToCollect("*.cuh")
-
-#GLOB SOURCE FILES IN MY_SRCS
-unset(MY_SRCS)
-includeRecursiveAllFilesFrom(${targetName} ${CMAKE_CURRENT_LIST_DIR})
\ No newline at end of file
diff --git a/apps/gpu/LBM/gridGeneratorTest/3rdPartyLinking.cmake b/apps/gpu/LBM/gridGeneratorTest/3rdPartyLinking.cmake
deleted file mode 100644
index 30d15ff96351a944d95f7d4309b6b4f4a15456cb..0000000000000000000000000000000000000000
--- a/apps/gpu/LBM/gridGeneratorTest/3rdPartyLinking.cmake
+++ /dev/null
@@ -1,13 +0,0 @@
-include (${CMAKE_SOURCE_DIR}/${cmakeMacroPath}/MPI/Link.cmake)
-linkMPI(${targetName})
-include (${CMAKE_SOURCE_DIR}/${cmakeMacroPath}/Cuda/Link.cmake)
-linkCuda(${targetName})
-include (${CMAKE_SOURCE_DIR}/${cmakeMacroPath}/Boost/Link.cmake)
-linkBoost(${targetName} "serialization")
-#include (${CMAKE_SOURCE_DIR}/${cmakeMacroPath}/Metis/Link.cmake)
-#linkMetis(${targetName})
-
-if(HULC.BUILD_JSONCPP)
-  include (${CMAKE_SOURCE_DIR}/${cmakeMacroPath}/JsonCpp/Link.cmake)
-  linkJsonCpp(${targetName})
-endif()
\ No newline at end of file
diff --git a/apps/gpu/LBM/gridGeneratorTest/CMakeLists.txt b/apps/gpu/LBM/gridGeneratorTest/CMakeLists.txt
index 8e249d2a21604bf501dc0c75bf9f7190d4a154ad..cc8d8eb5d1390ac1b91ca2d6599fa0d82224735e 100644
--- a/apps/gpu/LBM/gridGeneratorTest/CMakeLists.txt
+++ b/apps/gpu/LBM/gridGeneratorTest/CMakeLists.txt
@@ -2,14 +2,4 @@ PROJECT(GridGeneratorTest)
 
 vf_add_library(BUILDTYPE binary DEPENDS basics VirtualFluids_GPU GridGenerator FILES gridGenerator.cpp)
 
-include (${VF_CMAKE_DIR}/3rd/cuda.cmake)
-include (${VF_CMAKE_DIR}/3rd/mpi.cmake)
-include (${VF_CMAKE_DIR}/3rd/boost.cmake)
-linkBoost ("serialization")
-
-vf_get_library_name(library_name)
-target_include_directories(${library_name} PRIVATE "${CMAKE_SOURCE_DIR}/src/basics")
-target_include_directories(${library_name} PRIVATE "${CMAKE_SOURCE_DIR}/src/gpu")
-target_include_directories(${library_name} PRIVATE "${CMAKE_SOURCE_DIR}/src/gpu/VirtualFluids_GPU")
-target_include_directories(${library_name} PRIVATE "${CMAKE_SOURCE_DIR}/src/gpu/GridGenerator")
-target_include_directories(${library_name} PRIVATE "${CMAKE_SOURCE_DIR}/src/basics/Core")
\ No newline at end of file
+linkCUDA()
diff --git a/apps/gpu/LBM/gridGeneratorTest/CMakePackage.cmake b/apps/gpu/LBM/gridGeneratorTest/CMakePackage.cmake
deleted file mode 100644
index 5d39e3804dbd180790629111449a7dc918292430..0000000000000000000000000000000000000000
--- a/apps/gpu/LBM/gridGeneratorTest/CMakePackage.cmake
+++ /dev/null
@@ -1,9 +0,0 @@
-#FILE ENDINGS
-resetFileEndingsToCollect()
-addCAndCPPFileTypes()
-addFileEndingToCollect("*.cu")
-addFileEndingToCollect("*.cuh")
-
-#GLOB SOURCE FILES IN MY_SRCS
-unset(MY_SRCS)
-includeRecursiveAllFilesFrom(${targetName} ${CMAKE_CURRENT_LIST_DIR})
\ No newline at end of file
diff --git a/src/gpu/GridGenerator/CMakeLists.txt b/src/gpu/GridGenerator/CMakeLists.txt
index 86b49cc4712e4ec23df96ba5a9bfa912ee23029f..2908e93ccfae8589b7d729c9f2dcdc8b2c9aaf44 100644
--- a/src/gpu/GridGenerator/CMakeLists.txt
+++ b/src/gpu/GridGenerator/CMakeLists.txt
@@ -5,4 +5,5 @@ vf_add_library(BUILDTYPE shared DEPENDS basics)
 linkCUDA()
 linkOpenMP()
 
-set_property(TARGET ${library_name} PROPERTY CUDA_SEPARABLE_COMPILATION ON)
\ No newline at end of file
+vf_get_library_name(library_name)
+set_target_properties(${library_name} PROPERTIES CUDA_SEPARABLE_COMPILATION ON)
\ No newline at end of file
diff --git a/src/gpu/Traffic/CMakeLists.txt b/src/gpu/Traffic/CMakeLists.txt
index 18e6715772880cab54c65aeed51961c8c92c4d1d..8876b709009cf597d4d2e33c624486650acebb64 100644
--- a/src/gpu/Traffic/CMakeLists.txt
+++ b/src/gpu/Traffic/CMakeLists.txt
@@ -2,4 +2,4 @@
 
 vf_add_library(BUILDTYPE shared DEPENDS GridGenerator basics)
 
-include (${VF_CMAKE_DIR}/3rd/cuda.cmake)
+linkCUDA()
\ No newline at end of file