From 4c4685c303aa646bfa7f7435400d04ac0ab7f8bd Mon Sep 17 00:00:00 2001
From: Soeren Peters <peters@irmb.tu-bs.de>
Date: Mon, 6 Jul 2020 16:01:38 +0200
Subject: [PATCH] Made the GridGenerator build with the "new" cmake. Changed
 the setting the compiler options to the new cmake function:
 target_compile_options

---
 CMake/3rd/OpenMP.cmake                        |  13 +
 .../Cuda/Link.cmake => CMake/3rd/cuda.cmake   |  12 +-
 CMake/CMakeSetCompilerFlags.cmake             |  21 +-
 CMake/VirtualFluidsMacros.cmake               |   4 +-
 CMake/cmake_config_files/ELLADAN.config.cmake |   3 +
 CMake/compilerflags/gccGeneric.cmake          |   4 +-
 CMakeLists.txt                                |   8 +-
 apps/cpu/VirtualFluids.h                      |   2 +-
 gpu.cmake                                     | 256 +++++++++++++++---
 gpu/CMakeMacros/OpenMP/Link.cmake             |  10 -
 gpu/src/GridGenerator/CMakeLists.txt          |  26 ++
 .../GridGenerator/geometries/Arrow/ArrowImp.h |   2 +-
 .../TriangularMesh/TriangularMesh.cu          |   2 +-
 .../TriangularMesh/TriangularMeshStrategy.cpp |   2 +-
 .../grid/GridBuilder/GridBuilder.h            |   2 +-
 gpu/src/GridGenerator/grid/GridImp.cu         |   6 +-
 .../grid/partition/Partition.cpp              |   2 +-
 .../GridGenerator/grid/partition/Partition.h  |   2 +-
 .../io/GridVTKWriter/GridVTKWriter.cpp        |   4 +-
 gpu/src/GridGenerator/io/QLineWriter.cpp      |   2 +-
 .../SimulationFileWriter.h                    |   2 +-
 src/basics/CMakeLists.txt                     |   6 +-
 src/basics/{core => Core}/ArrayTypes.h        |   0
 src/basics/{core => Core}/DataTypes.h         |   0
 .../Input/ConfigData/ConfigData.h             |   0
 .../Input/ConfigData/ConfigDataImp.cpp        |   0
 .../Input/ConfigData/ConfigDataImp.h          |   0
 .../ConfigFileReader/ConfigFileReader.cpp     |   0
 .../Input/ConfigFileReader/ConfigFileReader.h |   0
 .../Input/ConfigInput/ConfigInput.cpp         |   0
 .../Input/ConfigInput/ConfigInput.h           |   0
 src/basics/{core => Core}/Input/Input.cpp     |   0
 src/basics/{core => Core}/Input/Input.h       |   0
 .../Input/JsonInput/JsonInput.cpp             |   0
 .../Input/JsonInput/JsonInput.h               |   0
 src/basics/{core => Core}/LbmOrGks.h          |   0
 src/basics/{core => Core}/Logger/Logger.cpp   |   0
 src/basics/{core => Core}/Logger/Logger.h     |   0
 .../Logger/implementations/LoggerImp.cpp      |   0
 .../Logger/implementations/LoggerImp.h        |   0
 .../Logger/implementations/LoggerTest.cpp     |   0
 src/basics/{core => Core}/NonCreatable.h      |   0
 .../{core => Core}/PointerDefinitions.h       |   0
 src/basics/{core => Core}/RealConstants.h     |   0
 .../StringUtilities/StringUtil.cpp            |   0
 .../StringUtilities/StringUtil.h              |   0
 src/basics/{core => Core}/Timer/Timer.cpp     |   0
 src/basics/{core => Core}/Timer/Timer.h       |   0
 src/basics/{core => Core}/Timer/TimerImp.cpp  |   0
 src/basics/{core => Core}/Timer/TimerImp.h    |   0
 src/basics/{core => Core}/VectorTypes.cpp     |   0
 src/basics/{core => Core}/VectorTypes.h       |   0
 src/basics/{core => Core}/buildInfo.cmake     |   0
 src/basics/{core => Core}/buildInfo.h         |   0
 src/basics/{core => Core}/buildInfo.in.cpp    |   0
 src/basics/{core => Core}/package.include     |   0
 .../gpu}/VirtualFluidsDefinitions.in.h        |   0
 57 files changed, 306 insertions(+), 85 deletions(-)
 create mode 100644 CMake/3rd/OpenMP.cmake
 rename gpu/CMakeMacros/Cuda/Link.cmake => CMake/3rd/cuda.cmake (68%)
 delete mode 100644 gpu/CMakeMacros/OpenMP/Link.cmake
 create mode 100644 gpu/src/GridGenerator/CMakeLists.txt
 rename src/basics/{core => Core}/ArrayTypes.h (100%)
 rename src/basics/{core => Core}/DataTypes.h (100%)
 rename src/basics/{core => Core}/Input/ConfigData/ConfigData.h (100%)
 rename src/basics/{core => Core}/Input/ConfigData/ConfigDataImp.cpp (100%)
 rename src/basics/{core => Core}/Input/ConfigData/ConfigDataImp.h (100%)
 rename src/basics/{core => Core}/Input/ConfigFileReader/ConfigFileReader.cpp (100%)
 rename src/basics/{core => Core}/Input/ConfigFileReader/ConfigFileReader.h (100%)
 rename src/basics/{core => Core}/Input/ConfigInput/ConfigInput.cpp (100%)
 rename src/basics/{core => Core}/Input/ConfigInput/ConfigInput.h (100%)
 rename src/basics/{core => Core}/Input/Input.cpp (100%)
 rename src/basics/{core => Core}/Input/Input.h (100%)
 rename src/basics/{core => Core}/Input/JsonInput/JsonInput.cpp (100%)
 rename src/basics/{core => Core}/Input/JsonInput/JsonInput.h (100%)
 rename src/basics/{core => Core}/LbmOrGks.h (100%)
 rename src/basics/{core => Core}/Logger/Logger.cpp (100%)
 rename src/basics/{core => Core}/Logger/Logger.h (100%)
 rename src/basics/{core => Core}/Logger/implementations/LoggerImp.cpp (100%)
 rename src/basics/{core => Core}/Logger/implementations/LoggerImp.h (100%)
 rename src/basics/{core => Core}/Logger/implementations/LoggerTest.cpp (100%)
 rename src/basics/{core => Core}/NonCreatable.h (100%)
 rename src/basics/{core => Core}/PointerDefinitions.h (100%)
 rename src/basics/{core => Core}/RealConstants.h (100%)
 rename src/basics/{core => Core}/StringUtilities/StringUtil.cpp (100%)
 rename src/basics/{core => Core}/StringUtilities/StringUtil.h (100%)
 rename src/basics/{core => Core}/Timer/Timer.cpp (100%)
 rename src/basics/{core => Core}/Timer/Timer.h (100%)
 rename src/basics/{core => Core}/Timer/TimerImp.cpp (100%)
 rename src/basics/{core => Core}/Timer/TimerImp.h (100%)
 rename src/basics/{core => Core}/VectorTypes.cpp (100%)
 rename src/basics/{core => Core}/VectorTypes.h (100%)
 rename src/basics/{core => Core}/buildInfo.cmake (100%)
 rename src/basics/{core => Core}/buildInfo.h (100%)
 rename src/basics/{core => Core}/buildInfo.in.cpp (100%)
 rename src/basics/{core => Core}/package.include (100%)
 rename {gpu/src => src/gpu}/VirtualFluidsDefinitions.in.h (100%)

diff --git a/CMake/3rd/OpenMP.cmake b/CMake/3rd/OpenMP.cmake
new file mode 100644
index 000000000..fce16693d
--- /dev/null
+++ b/CMake/3rd/OpenMP.cmake
@@ -0,0 +1,13 @@
+
+find_package(OpenMP)
+if (OPENMP_FOUND)
+	#set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
+	#set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
+    #set (CMAKE_CUDA_FLAGS "${CMAKE_CUDA_FLAGS} -Xcompiler ${OpenMP_CXX_FLAGS}")
+endif()
+
+#message (Cuda Flags: ${OpenMP_CXX_FLAGS})
+vf_get_library_name(library_name)
+if(OpenMP_CXX_FOUND)
+	target_link_libraries(${library_name} PUBLIC OpenMP::OpenMP_CXX)
+endif()
diff --git a/gpu/CMakeMacros/Cuda/Link.cmake b/CMake/3rd/cuda.cmake
similarity index 68%
rename from gpu/CMakeMacros/Cuda/Link.cmake
rename to CMake/3rd/cuda.cmake
index c1a4ddcc1..32b2e82d4 100644
--- a/gpu/CMakeMacros/Cuda/Link.cmake
+++ b/CMake/3rd/cuda.cmake
@@ -1,20 +1,18 @@
-macro(linkCuda)
-#input: -
+
 
     find_path(CUDA_CUT_INCLUDE_DIR
       helper_cuda.h
-      PATHS "$ENV{NVCUDASAMPLES_ROOT}"
+      PATHS "$ENV{NVCUDASAMPLES_ROOT}" "${NVCUDASAMPLES_ROOT}"
       PATH_SUFFIXES "common/inc"
       DOC "Location of helper_cuda.h"
       NO_DEFAULT_PATH
     )
-    
-    INCLUDE_DIRECTORIES( ${CUDA_INCLUDE_DIRS} ${CUDA_CUT_INCLUDE_DIR})
+
+    vf_get_library_name(library_name)
+    target_include_directories(${library_name} PRIVATE ${CUDA_INCLUDE_DIRS} ${CUDA_CUT_INCLUDE_DIR})
 
 	#set_property(TARGET ${targetName} PROPERTY CUDA_SEPARABLE_COMPILATION ON)
 	#set_property(TARGET ${targetName} PROPERTY CUDA_64_BIT_DEVICE_CODE ON)
 	
     #set(CUDA_NVCC_FLAGS "-G" CACHE TYPE INTERNAL FORCE)
     #set(CUDA_NVCC_FLAGS ${CUDA_NVCC_FLAGS}; -gencode arch=compute_13,code=sm_13 )
-	
-endmacro(linkCuda)
diff --git a/CMake/CMakeSetCompilerFlags.cmake b/CMake/CMakeSetCompilerFlags.cmake
index 7fb108825..76a5b3f1b 100644
--- a/CMake/CMakeSetCompilerFlags.cmake
+++ b/CMake/CMakeSetCompilerFlags.cmake
@@ -116,23 +116,36 @@ MACRO(ADD_COMPILER_FLAGS_TO_PROJECT compiler_type project_name project_language
      ADD_TARGET_PROPERTIES(${project_name} LINK_FLAGS ${CAB_COMPILER_ADDITIONAL_LINK_PROPS_DEBUG}) 
    ENDIF()
    IF(CAB_COMPILER_ADDITIONAL_LINK_PROPS_RELEASE)
-     ADD_TARGET_PROPERTIES(${project_name} LINK_FLAGS ${CAB_COMPILER_ADDITIONAL_LINK_PROPS_RELEASE}) 
+     ADD_TARGET_PROPERTIES(${project_name} LINK_FLAGS ${CAB_COMPILER_ADDITIONAL_LINK_PROPS_RELEASE})
    ENDIF()
 
    ################################################################
    # COMPILER FLAGS
    ################################################################
+   #message (COMPILE FLAGS INTERN: ${CAB_COMPILER_ADDTIONAL_${project_language}_COMPILER_FLAGS})
+
+    # TODO: Clean this up!!
    IF(CAB_COMPILER_ADDTIONAL_${project_language}_COMPILER_FLAGS)
-     ADD_TARGET_PROPERTIES(${project_name} COMPILE_FLAGS ${CAB_COMPILER_ADDTIONAL_${project_language}_COMPILER_FLAGS}) 
+       #message (COMPILE FLAGS INTERN: ${CAB_COMPILER_ADDTIONAL_${project_language}_COMPILER_FLAGS})
+       foreach(flag IN LISTS CAB_COMPILER_ADDTIONAL_${project_language}_COMPILER_FLAGS)
+           #message(compiler option: ${flag})
+           target_compile_options(${project_name} PRIVATE "$<$<COMPILE_LANGUAGE:${project_language}>:${flag}>")
+       endforeach()
+       #get_target_property(var ${project_name} COMPILE_OPTIONS)
+       #message(set compile options: ${var})
+
+       #add_custom_command(TARGET ${project_name} POST_BUILD COMMAND echo built with the flags: ${var})
+       #ADD_TARGET_PROPERTIES(${project_name} COMPILE_FLAGS ${CAB_COMPILER_ADDTIONAL_${project_language}_COMPILER_FLAGS})
+       #target_compile_options (${project_name} PRIVATE $<$<COMPILE_LANGUAGE:CXX>:${CAB_COMPILER_ADDTIONAL_${project_language}_COMPILER_FLAGS}>)
    ENDIF()
    IF(CAB_COMPILER_ADDTIONAL_${project_language}_COMPILER_FLAGS_DEBUG)
      MESSAGE(STATUS "ADD_COMPILER_FLAGS_TO_PROJECT: sorry, a long as CMake has no support for COMPILE_FLAGS_<CONFIG> -> DEBUG flags are neglected")
-     #ADD_TARGET_PROPERTIES(${project_name} COMPILE_FLAGS_DEBUG ${CAB_COMPILER_ADDTIONAL_${project_language}_COMPILER_FLAGS_DEBUG}) 
+     #ADD_TARGET_PROPERTIES(${project_name} COMPILE_FLAGS_DEBUG ${CAB_COMPILER_ADDTIONAL_${project_language}_COMPILER_FLAGS_DEBUG})
    ENDIF()
    IF(CAB_COMPILER_ADDTIONAL_${project_language}_COMPILER_FLAGS_RELEASE)
      MESSAGE(STATUS "ADD_COMPILER_FLAGS_TO_PROJECT: sorry, a long as CMake has no support for COMPILE_FLAGS_<CONFIG> -> RELEASE flags are set for RELEASE AND DEBUG")
      ADD_TARGET_PROPERTIES(${project_name} COMPILE_FLAGS ${CAB_COMPILER_ADDTIONAL_${project_language}_COMPILER_FLAGS_RELEASE}) 
-     #ADD_TARGET_PROPERTIES(${project_name} COMPILE_FLAGS_RELEASE ${CAB_COMPILER_ADDTIONAL_${project_language}_COMPILER_FLAGS_RELEASE}) 
+     #ADD_TARGET_PROPERTIES(${project_name} COMPILE_FLAGS_RELEASE ${CAB_COMPILER_ADDTIONAL_${project_language}_COMPILER_FLAGS_RELEASE})
    ENDIF()
 
 
diff --git a/CMake/VirtualFluidsMacros.cmake b/CMake/VirtualFluidsMacros.cmake
index 676fad0a5..0a0389b40 100644
--- a/CMake/VirtualFluidsMacros.cmake
+++ b/CMake/VirtualFluidsMacros.cmake
@@ -133,6 +133,7 @@ function(vf_add_library)
     ADD_COMPILER_FLAGS_TO_PROJECT(${CAB_COMPILER} ${library_name} "CXX" ${ARG_BUILDTYPE})
     MESSAGE(STATUS "compiler flags for compiler ${CAB_COMPILER} on machine ${CAB_MACHINE} for project ${project_name} (${ARG_BUILDTYPE}) have been configured")
 
+    MESSAGE (COMPILE FLAGS: ${CAB_ADDTIONAL_COMPILER_FLAGS})
     IF(CAB_ADDTIONAL_COMPILER_FLAGS)
         ADD_TARGET_PROPERTIES(${library_name} COMPILE_FLAGS ${CAB_ADDTIONAL_COMPILER_FLAGS})
     ENDIF()
@@ -167,8 +168,9 @@ function(vf_add_library)
     endif()
 
     target_include_directories(${library_name} PRIVATE ${CMAKE_BINARY_DIR})
-    #target_include_directories(${library_name} INTERFACE ${CMAKE_CURRENT_SOURCE_DIR})
+    target_include_directories(${library_name} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR})
     target_include_directories(${library_name} PRIVATE ${CMAKE_SOURCE_DIR}/src)
 
+
 endfunction(vf_add_library)
 
diff --git a/CMake/cmake_config_files/ELLADAN.config.cmake b/CMake/cmake_config_files/ELLADAN.config.cmake
index 59cee7400..1a7304ce9 100644
--- a/CMake/cmake_config_files/ELLADAN.config.cmake
+++ b/CMake/cmake_config_files/ELLADAN.config.cmake
@@ -34,6 +34,9 @@
 #################################################################################
 #  METIS
 #################################################################################
+set (NVCUDASAMPLES_ROOT "~/cuda-samples/Common")
+
+
 IF(${USE_METIS})
     SET(METIS_INCLUDEDIR "/usr/include")
     SET(METIS_DEBUG_LIBRARY "/usr/lib/x86_64-linux-gnu/libmetis.so")
diff --git a/CMake/compilerflags/gccGeneric.cmake b/CMake/compilerflags/gccGeneric.cmake
index c2e14c67f..d658afe73 100644
--- a/CMake/compilerflags/gccGeneric.cmake
+++ b/CMake/compilerflags/gccGeneric.cmake
@@ -8,11 +8,11 @@ MACRO(SET_COMPILER_SPECIFIC_FLAGS_INTERN build_type use64BitOptions)
    #############################################################################################################
    # Flags
    #############################################################################################################
-   LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-O3 -fomit-frame-pointer -finline-functions -funroll-all-loops -fPIC")
+   LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-O3;-fomit-frame-pointer;-finline-functions;-funroll-all-loops;-fPIC")
    LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-Wno-deprecated") #deprecated header warning (jarl benutzt sstream weil schneller und so) 
    LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-Wno-unused-result")
    
-   LIST(APPEND CAB_COMPILER_ADDTIONAL_C_COMPILER_FLAGS "-O3 -fomit-frame-pointer -finline-functions -funroll-all-loops -fPIC")
+   LIST(APPEND CAB_COMPILER_ADDTIONAL_C_COMPILER_FLAGS "-O3;-fomit-frame-pointer;-finline-functions;-funroll-all-loops;-fPIC")
    LIST(APPEND CAB_COMPILER_ADDTIONAL_C_COMPILER_FLAGS "-Wno-deprecated") #deprecated header warning (jarl benutzt sstream weil schneller und so) 
    LIST(APPEND CAB_COMPILER_ADDTIONAL_C_COMPILER_FLAGS "-Wno-unused-result")
    #############################################################################################################
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 301363e62..7edb2acb2 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -22,13 +22,11 @@ include("${CMAKE_PATH}/VirtualFluidsMacros.cmake")
 add_subdirectory(src/basics)
 
 #if (BUILD_VF_CPU)
-#    add_subdirectory(3rdParty/MuParser)
-#    add_subdirectory(cpu)
-include (cpu.cmake)
+#include (cpu.cmake)
 #endif()
 #if(BUILD_VF_GPU)
-#    add_subdirectory(gpu)
+include (gpu.cmake)
 #endif()
 
 set (APPS_ROOT_CPU "${CMAKE_SOURCE_DIR}/apps/cpu/")
-include(${APPS_ROOT_CPU}/Applications.cmake)
\ No newline at end of file
+#include(${APPS_ROOT_CPU}/Applications.cmake)
\ No newline at end of file
diff --git a/apps/cpu/VirtualFluids.h b/apps/cpu/VirtualFluids.h
index c40393345..2fd332190 100644
--- a/apps/cpu/VirtualFluids.h
+++ b/apps/cpu/VirtualFluids.h
@@ -12,7 +12,7 @@
 #include <omp.h>
 #endif 
 
-#include <basics/core/PointerDefinitions.h>
+#include <basics/Core/PointerDefinitions.h>
 
 #include <MuParser/include/muParser.h>
 #include <MuParser/include/muParserBase.h>
diff --git a/gpu.cmake b/gpu.cmake
index aa345b869..66b478204 100644
--- a/gpu.cmake
+++ b/gpu.cmake
@@ -1,54 +1,232 @@
-cmake_minimum_required(VERSION 3.9..3.17 FATAL_ERROR)
+cmake_minimum_required(VERSION 3.9 FATAL_ERROR)
 
-if(${CMAKE_VERSION} VERSION_LESS 3.12)
-    cmake_policy(VERSION ${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION})
+if(POLICY CMP0042)
+    CMAKE_POLICY(SET CMP0042 NEW)
 endif()
+if(POLICY CMP0020)
+    CMAKE_POLICY(SET CMP0020 NEW)
+endif()
+if(POLICY CMP0028)
+    CMAKE_POLICY(SET CMP0028 NEW)
+endif()
+if(POLICY CMP0037)
+    CMAKE_POLICY(SET CMP0037 NEW)
+endif()
+if(POLICY CMP0047)
+    CMAKE_POLICY(SET CMP0047 NEW)
+endif()
+if(POLICY CMP0053)
+    CMAKE_POLICY(SET CMP0053 NEW)
+endif()
+if(POLICY CMP0054)
+    CMAKE_POLICY(SET CMP0054 NEW)
+endif()
+
+
+if(UNIX)
+    set(CMAKE_CXX_STANDARD 11)
+endif()
+
+#############################################################
+###                     ENVIRONMENT                       ###
+#############################################################
+set(cmakeMacroPath "CMakeMacros")
+#include(${cmakeMacroPath}/Environment/environment.cmake)
+
+#CAB
+#include("../CMake/CMakeCABMacros.cmake")
+#include("../CMake/FileUtilities.cmake")
+#include("../CMake/VirtualFluidsMacros.cmake")
+
+#############################################################
+###                   GENERAL MACROS                      ###
+#############################################################
+#include(${CMAKE_SOURCE_DIR}/${cmakeMacroPath}/general/BuildTarget.cmake)
+#include(${CMAKE_SOURCE_DIR}/${cmakeMacroPath}/general/BuildTargetUtilities.cmake)
+#include(${CMAKE_SOURCE_DIR}/${cmakeMacroPath}/general/EndingsToCollect.cmake)
+#include(${CMAKE_SOURCE_DIR}/${cmakeMacroPath}/general/FileUtilities.cmake)
+
+#############################################################
+###                   PROJECT SETTINGS                    ###
+#############################################################
+
+project(VirtualFluidsGPU)
+
+set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
+set(CMAKE_INCLUDE_CURRENT_DIR ON)
+include_directories(${CMAKE_BINARY_DIR}/gpu)
+
+set_property(GLOBAL PROPERTY USE_FOLDERS ON)
+set_property(GLOBAL PROPERTY PREDEFINED_TARGETS_FOLDER ".cmake")
+
+set(libraryFolder    "libs")
+set(gksLibraryFolder "libs/GKS")
+
+set(testFolder "tests")
+
+set(appFolder    "apps")
+set(lbmAppFolder "apps/LBM")
+set(gksAppFolder "apps/GKS")
+
+set(thirdPartyFolder "3rdParty")
+
+IF(MSVC)
+    ADD_DEFINITIONS ( "-DNOMINMAX" )                # Disable Min/Max-Macros
+    ADD_DEFINITIONS ( "-D_CRT_SECURE_NO_WARNINGS" ) # disable warnings promoting Microsoft's security enhanced CRT
+    ADD_DEFINITIONS ( "-D_SCL_SECURE_NO_WARNINGS" ) # disable warnings triggered by Microsoft's checked iterators
+    SET( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -MP" ) # enable multi-threaded compiling
+    SET( CMAKE_CXX_FLAGS  "${CMAKE_CXX_FLAGS} /bigobj" ) # enable big object files (fatal error C1128)
+ENDIF(MSVC)
+
+#############################################################
+###                         OPTIONS                       ###
+#############################################################
+option(BUILD_SHARED_LIBS        "Build shared libraries"      ON )
+option(VF.BUILD_VF_GPU          "Build VirtualFluids GPU"     OFF )
+option(VF.BUILD_VF_GKS          "Build VirtualFluids GKS"     OFF )
+option(VF.BUILD_VF_TRAFFIC      "Build VirtualFluids Traffic" OFF)
+option(VF.BUILD_JSONCPP         "Builds json cpp "            OFF)
+option(VF.BUILD_NUMERIC_TESTS   "Build numeric tests"         OFF)
+
+option(VF.BUILD_DOUBLE_ACCURACY "Use double accuracy"         OFF )
+
+IF( VF.BUILD_DOUBLE_ACCURACY )
+    SET( VF_DOUBLE_ACCURACY 1 )
+ENDIF()
 
-project(VirtualFluids CXX)
+#############################################################
 
-set (CMAKE_PATH "${CMAKE_SOURCE_DIR}/CMake")
+enable_language(CUDA)
 
-option(BUILD_VF_CPU "Build VirtualFluids cpu variant" OFF)
-option(BUILD_VF_GPU "Build VirtualFluids gpu variant" ON)
+#sharedLibs()
 
+#############################################################
 
-include("${CMAKE_PATH}/CMakeCABMacros.cmake")
-include("${CMAKE_PATH}/FileUtilities.cmake")
-include("${CMAKE_PATH}/VirtualFluidsMacros.cmake")
+include(${CMAKE_SOURCE_DIR}/gpu/${cmakeMacroPath}/general/FindCompiler.cmake)
+configure_file(src/gpu/VirtualFluidsDefinitions.in.h VirtualFluidsDefinitions.h)
+if(MSVC)
+    SET( CMAKE_CXX_FLAGS "/FI${CMAKE_BINARY_DIR}/VirtualFluidsDefinitions.h ${CMAKE_CXX_FLAGS}" )
+ELSE(MSVC)
+    SET( CMAKE_CXX_FLAGS "-include ${CMAKE_BINARY_DIR}/VirtualFluidsDefinitions.h ${CMAKE_CXX_FLAGS}" )
+ENDIF(MSVC)
 
+IF( VF.BUILD_VF_GKS )
+    # only use this with device of CC larger than 6.0
+    set(CMAKE_CUDA_FLAGS " -arch=sm_60 -Xptxas=\"-v\"" CACHE STRING "" FORCE)
+ENDIF()
+
+set(CMAKE_CUDA_FLAGS_DEBUG " -G" CACHE STRING "" FORCE)
+
+
+##########################################################################################################################
+###                  Subdirectories                                                                                    ###
+##########################################################################################################################
+
+#############################################################
+###                  Core                                 ###
+#############################################################
+
+add_subdirectory(gpu/src/GridGenerator)
+#add_subdirectory(3rdParty/metis/metis-5.1.0)
+
+#############################################################
+###                  Virtual Fluids GPU                   ###
+#############################################################
 
-SET(USE_ZOLTAN OFF CACHE BOOL "include Zoltan library support")
-SET(USE_METIS ON CACHE BOOL "include METIS library support")
-SET(USE_MPI ON CACHE BOOL "include MPI library support")
-SET(USE_VTK OFF CACHE BOOL "include VTK library support")
-SET(USE_CATALYST OFF CACHE BOOL "include Paraview Catalyst support")
-SET(USE_BOOST OFF CACHE BOOL "include Boost support")
-#SET(USE_PYTHON OFF CACHE BOOL "include Python scripting support")
-#SET(USE_FETOL OFF CACHE BOOL "include FETOL library support")
-SET(USE_INTEL OFF CACHE BOOL "include Intel compiler support")
-SET(USE_GCC OFF CACHE BOOL "include gcc compiler support")
-SET(USE_HLRN_LUSTRE OFF CACHE BOOL "include HLRN Lustre support")
-SET(USE_DEM_COUPLING OFF CACHE BOOL "PE plugin")
-IF(${USE_MPI})
-    LIST(APPEND CAB_ADDTIONAL_COMPILER_FLAGS -DVF_MPI)
+IF (VF.BUILD_VF_GPU)
+    add_subdirectory(targets/libs/VirtualFluids_GPU)
+
+    #add_subdirectory(targets/apps/LBM/lbmTest)
+    #add_subdirectory(targets/apps/LBM/metisTest)
+    #add_subdirectory(targets/apps/LBM/Basel)
+    #add_subdirectory(targets/apps/LBM/BaselNU)
+    #add_subdirectory(targets/apps/LBM/BaselMultiGPU)
+    add_subdirectory(targets/apps/LBM/DrivenCavity)
+    add_subdirectory(targets/apps/LBM/gridGeneratorTest)
+    add_subdirectory(targets/apps/LBM/TGV_3D)
+    add_subdirectory(targets/apps/LBM/TGV_3D_MultiGPU)
+ELSE()
+    MESSAGE( STATUS "exclude Virtual Fluids GPU." )
 ENDIF()
-IF(${USE_METIS})
-    LIST(APPEND CAB_ADDTIONAL_COMPILER_FLAGS -DVF_METIS)
+
+#############################################################
+###                  Virtual Fluids GKS                   ###
+#############################################################
+
+IF (VF.BUILD_VF_GKS)
+    add_subdirectory(targets/libs/GksMeshAdapter)
+    add_subdirectory(targets/libs/GksVtkAdapter)
+
+    add_subdirectory(targets/libs/GksGpu)
+
+    #add_subdirectory(targets/apps/GKS/gksTest)
+    #add_subdirectory(targets/apps/GKS/ChannelFlow)
+
+    #add_subdirectory(targets/apps/GKS/ChannelFlowObstacle)
+    #add_subdirectory(targets/apps/GKS/ShearWave)
+
+    #add_subdirectory(targets/apps/GKS/LiFuXu)
+
+    #add_subdirectory(targets/apps/GKS/TaylorGreen3D)
+    #add_subdirectory(targets/apps/GKS/DrivenCavity3D)
+    #add_subdirectory(targets/apps/GKS/ThermalCavity)
+
+    #add_subdirectory(targets/apps/GKS/ThermalCavityMultiGPU)
+    #add_subdirectory(targets/apps/GKS/DrivenCavityMultiGPU)
+    #add_subdirectory(targets/apps/GKS/RayleighBenardMultiGPU)
+
+    #add_subdirectory(targets/apps/GKS/SalinasVazquez)
+    #add_subdirectory(targets/apps/GKS/BoundaryJet)
+
+    #add_subdirectory(targets/apps/GKS/PropaneFlame)
+    #add_subdirectory(targets/apps/GKS/ConfinedCombustion)
+    #add_subdirectory(targets/apps/GKS/MethaneFlame)
+
+    #add_subdirectory(targets/apps/GKS/Room)
+    #add_subdirectory(targets/apps/GKS/RoomMultiGPU)
+    #add_subdirectory(targets/apps/GKS/RoomFire)
+    #add_subdirectory(targets/apps/GKS/RoomFireExtended)
+    #add_subdirectory(targets/apps/GKS/ConcreteHeatFluxBCTest)
+
+    #add_subdirectory(targets/apps/GKS/PoolFire)
+    add_subdirectory(targets/apps/GKS/Flame7cm)
+    add_subdirectory(targets/apps/GKS/SandiaFlame_1m)
+    #add_subdirectory(targets/apps/GKS/Candle)
+
+    #add_subdirectory(targets/apps/GKS/MultiGPU)
+    add_subdirectory(targets/apps/GKS/MultiGPU_nD)
+    add_subdirectory(targets/apps/GKS/SingleGPU)
+ELSE()
+    MESSAGE( STATUS "exclude Virtual Fluids GKS." )
 ENDIF()
-# FIND MPI
-IF((NOT ${CMAKE_CXX_COMPILER} MATCHES mpicxx) AND (NOT ${CMAKE_CXX_COMPILER} MATCHES mpiicpc))# OR NOT ${CMAKE_CXX_COMPILER} MATCHES cc OR NOT ${CMAKE_CXX_COMPILER} MATCHES mpiCC)
-    FIND_PACKAGE(MPI REQUIRED)
+
+#############################################################
+###                     JSONCPP                           ###
+#############################################################
+IF (NOT VF.BUILD_JSONCPP)
+    MESSAGE( STATUS "Build Input Project without JsonCpp." )
+ELSE()
+    add_subdirectory(3rdParty/jsoncpp)
+    add_definitions(-DBUILD_JSONCPP)
 ENDIF()
 
-add_subdirectory(src/basics)
+#############################################################
+###                   Numeric Tests                       ###
+#############################################################
+
+if(VF.BUILD_NUMERIC_TESTS)
+    add_subdirectory(3rdParty/fftw/fftw-3.3.7)
+    add_subdirectory(3rdParty/googletest)
+    add_subdirectory(targets/tests/NumericalTests)
+    add_subdirectory(targets/tests/NumericalTestPostProcessing)
+endif()
+
+#############################################################
+###					Annas Traffic Sim				      ###
+#############################################################
 
-#if (BUILD_VF_CPU)
-    add_subdirectory(3rdParty/MuParser)
-    add_subdirectory(cpu)
-#endif()
-#if(BUILD_VF_GPU)
-#    add_subdirectory(gpu)
-#endif()
+if(VF.BUILD_VF_TRAFFIC)
+    add_subdirectory(targets/libs/Traffic)
 
-set (APPS_ROOT_CPU "${CMAKE_SOURCE_DIR}/apps/cpu/")
-include(${APPS_ROOT_CPU}/Applications.cmake)
\ No newline at end of file
+    add_subdirectory(targets/apps/LBM/TrafficTest)
+endif()
\ No newline at end of file
diff --git a/gpu/CMakeMacros/OpenMP/Link.cmake b/gpu/CMakeMacros/OpenMP/Link.cmake
deleted file mode 100644
index 2a5ae6710..000000000
--- a/gpu/CMakeMacros/OpenMP/Link.cmake
+++ /dev/null
@@ -1,10 +0,0 @@
-macro(linkOpenMP targetName)
-
-find_package(OpenMP)
-if (OPENMP_FOUND)
-	set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
-	set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
-    set (CMAKE_CUDA_FLAGS "${CMAKE_CUDA_FLAGS} -Xcompiler ${OpenMP_CXX_FLAGS}")
-endif()
-
-endmacro(linkOpenMP)
diff --git a/gpu/src/GridGenerator/CMakeLists.txt b/gpu/src/GridGenerator/CMakeLists.txt
new file mode 100644
index 000000000..052da46b8
--- /dev/null
+++ b/gpu/src/GridGenerator/CMakeLists.txt
@@ -0,0 +1,26 @@
+
+
+#include (${CMAKE_SOURCE_DIR}/${cmakeMacroPath}/Cuda/Link.cmake)
+#linkCuda(${targetName})
+#include (${CMAKE_SOURCE_DIR}/${cmakeMacroPath}/MPI/Link.cmake)
+#linkMPI(${targetName})
+#include (${CMAKE_SOURCE_DIR}/${cmakeMacroPath}/Boost/Link.cmake)
+#linkBoost(${targetName} "serialization")
+#include (${CMAKE_SOURCE_DIR}/${cmakeMacroPath}/Metis/Link.cmake)
+#linkMetis(${targetName})
+#include (${CMAKE_SOURCE_DIR}/${cmakeMacroPath}/OpenMP/Link.cmake)
+#linkOpenMP(${targetName})
+
+
+vf_add_library(BUILDTYPE shared)
+
+include (${CMAKE_PATH}/3rd/cuda.cmake)
+include (${CMAKE_PATH}/3rd/OpenMP.cmake)
+
+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}/gpu/src")
+target_include_directories(${library_name} PRIVATE "${CMAKE_SOURCE_DIR}/src/basics/Core")
+
+
+set_property(TARGET ${library_name} PROPERTY CUDA_SEPARABLE_COMPILATION ON)
\ No newline at end of file
diff --git a/gpu/src/GridGenerator/geometries/Arrow/ArrowImp.h b/gpu/src/GridGenerator/geometries/Arrow/ArrowImp.h
index 950dbfd9f..61e715866 100644
--- a/gpu/src/GridGenerator/geometries/Arrow/ArrowImp.h
+++ b/gpu/src/GridGenerator/geometries/Arrow/ArrowImp.h
@@ -3,7 +3,7 @@
 
 #include <memory>
 
-#include "GridGenerator/global.h"
+#include "global.h"
 
 #include "Arrow.h"
 
diff --git a/gpu/src/GridGenerator/geometries/TriangularMesh/TriangularMesh.cu b/gpu/src/GridGenerator/geometries/TriangularMesh/TriangularMesh.cu
index acce19b71..96bc858e4 100644
--- a/gpu/src/GridGenerator/geometries/TriangularMesh/TriangularMesh.cu
+++ b/gpu/src/GridGenerator/geometries/TriangularMesh/TriangularMesh.cu
@@ -2,7 +2,7 @@
 
 #include "Core/Timer/Timer.h"
 
-#include "VirtualFluidsBasics/numerics/geometry3d/GbTriFaceMesh3D.h"
+#include "basics/numerics/geometry3d/GbTriFaceMesh3D.h"
 
 #include "geometries/TriangularMesh/triangleNeighborFinder/TriangleNeighborFinder.h"
 #include "geometries/TriangularMesh/TriangularMeshStrategy.h"
diff --git a/gpu/src/GridGenerator/geometries/TriangularMesh/TriangularMeshStrategy.cpp b/gpu/src/GridGenerator/geometries/TriangularMesh/TriangularMeshStrategy.cpp
index b24c6c9fb..3fea77f54 100644
--- a/gpu/src/GridGenerator/geometries/TriangularMesh/TriangularMeshStrategy.cpp
+++ b/gpu/src/GridGenerator/geometries/TriangularMesh/TriangularMeshStrategy.cpp
@@ -2,7 +2,7 @@
 
 #include "Core/Timer/Timer.h"
 
-#include "VirtualFluidsBasics/numerics/geometry3d/GbTriFaceMesh3D.h"
+#include "basics/numerics/geometry3d/GbTriFaceMesh3D.h"
 
 #include "geometries/Triangle/Triangle.h"
 #include "geometries/TriangularMesh/TriangularMesh.h"
diff --git a/gpu/src/GridGenerator/grid/GridBuilder/GridBuilder.h b/gpu/src/GridGenerator/grid/GridBuilder/GridBuilder.h
index 8307d2d7f..b7cb1094e 100644
--- a/gpu/src/GridGenerator/grid/GridBuilder/GridBuilder.h
+++ b/gpu/src/GridGenerator/grid/GridBuilder/GridBuilder.h
@@ -5,7 +5,7 @@
 #include <string>
 #include <memory>
 
-#include "GridGenerator/global.h"
+#include "global.h"
 
 #define GEOMQS 6
 #define INLETQS 0
diff --git a/gpu/src/GridGenerator/grid/GridImp.cu b/gpu/src/GridGenerator/grid/GridImp.cu
index 84c64cba3..795a2460a 100644
--- a/gpu/src/GridGenerator/grid/GridImp.cu
+++ b/gpu/src/GridGenerator/grid/GridImp.cu
@@ -476,7 +476,7 @@ HOSTDEVICE bool GridImp::isValidEndOfGridStopper(uint index) const
 
 	return hasNeighborOfType(index, FLUID);
 
-	//previous version of Sören P.
+	//previous version of S�ren P.
     //return this->field.is(index, OUT_OF_GRID) && (nodeInNextCellIs(index, FLUID) || nodeInNextCellIs(index, FLUID_CFF))
     //    || this->field.is(index, OUT_OF_GRID) && (nodeInPreviousCellIs(index, FLUID) || nodeInPreviousCellIs(index, FLUID_CFF));
 }
@@ -489,7 +489,7 @@ HOSTDEVICE bool GridImp::isValidEndOfGridBoundaryStopper(uint index) const
 
 	return ! hasAllNeighbors(index);
 
-	//previous version of Sören P.
+	//previous version of S�ren P.
     //return this->field.is(index, OUT_OF_GRID) && (nodeInNextCellIs(index, FLUID) || nodeInNextCellIs(index, FLUID_CFF))
     //    || this->field.is(index, OUT_OF_GRID) && (nodeInPreviousCellIs(index, FLUID) || nodeInPreviousCellIs(index, FLUID_CFF));
 }
@@ -502,7 +502,7 @@ HOSTDEVICE bool GridImp::isValidSolidStopper(uint index) const
 
 	return hasNeighborOfType(index, FLUID);
 
-	//previous version of Sören P.
+	//previous version of S�ren P.
 	//return this->field.is(index, SOLID) && (nodeInNextCellIs(index, FLUID) || nodeInNextCellIs(index, FLUID_CFF))
  //       || this->field.is(index, SOLID) && (nodeInPreviousCellIs(index, FLUID) || nodeInPreviousCellIs(index, FLUID_CFF));
 }
diff --git a/gpu/src/GridGenerator/grid/partition/Partition.cpp b/gpu/src/GridGenerator/grid/partition/Partition.cpp
index e4df00403..970599105 100644
--- a/gpu/src/GridGenerator/grid/partition/Partition.cpp
+++ b/gpu/src/GridGenerator/grid/partition/Partition.cpp
@@ -4,7 +4,7 @@
 //#include <stdio.h>
 //#include <iostream>
 //
-//#include <GridGenerator/global.h>
+//#include <global.h>
 //#include <GridGenerator/grid/Grid.h>
 //#include <GridGenerator/geometries/Triangle/Triangle.h>
 //#include <GridGenerator/geometries/Vertex/Vertex.h>
diff --git a/gpu/src/GridGenerator/grid/partition/Partition.h b/gpu/src/GridGenerator/grid/partition/Partition.h
index 5700af1d9..0c0ebc870 100644
--- a/gpu/src/GridGenerator/grid/partition/Partition.h
+++ b/gpu/src/GridGenerator/grid/partition/Partition.h
@@ -1,7 +1,7 @@
 //#ifndef Partition_H
 //#define Partition_H
 //
-//#include "GridGenerator/global.h"
+//#include "global.h"
 //
 //
 //#include <vector>
diff --git a/gpu/src/GridGenerator/io/GridVTKWriter/GridVTKWriter.cpp b/gpu/src/GridGenerator/io/GridVTKWriter/GridVTKWriter.cpp
index 9ea43fd9f..a0a15e2e5 100644
--- a/gpu/src/GridGenerator/io/GridVTKWriter/GridVTKWriter.cpp
+++ b/gpu/src/GridGenerator/io/GridVTKWriter/GridVTKWriter.cpp
@@ -6,8 +6,8 @@
 #include <sstream>
 #include <memory>
 
-#include "VirtualFluidsBasics/basics/writer/WbWriterVtkXmlBinary.h"
-#include "VirtualFluidsBasics/basics/container/CbArray3D.h"
+#include "basics/basics/writer/WbWriterVtkXmlBinary.h"
+#include "basics/basics/container/CbArray3D.h"
 
 #include "geometries/Vertex/Vertex.h"
 
diff --git a/gpu/src/GridGenerator/io/QLineWriter.cpp b/gpu/src/GridGenerator/io/QLineWriter.cpp
index 7f086b272..79a54a998 100644
--- a/gpu/src/GridGenerator/io/QLineWriter.cpp
+++ b/gpu/src/GridGenerator/io/QLineWriter.cpp
@@ -4,7 +4,7 @@
 #include <string>
 #include <fstream>
 
-#include "VirtualFluidsBasics/basics/utilities/UbTuple.h"
+#include "basics/basics/utilities/UbTuple.h"
 
 #include "geometries/Vertex/Vertex.h"
 
diff --git a/gpu/src/GridGenerator/io/SimulationFileWriter/SimulationFileWriter.h b/gpu/src/GridGenerator/io/SimulationFileWriter/SimulationFileWriter.h
index 7a08ac041..b4edfba92 100644
--- a/gpu/src/GridGenerator/io/SimulationFileWriter/SimulationFileWriter.h
+++ b/gpu/src/GridGenerator/io/SimulationFileWriter/SimulationFileWriter.h
@@ -10,7 +10,7 @@
 
 #include "Core/NonCreatable.h"
 
-#include "GridGenerator/global.h"
+#include "global.h"
 
 class UnstructuredGridBuilder;
 class GridBuilder;
diff --git a/src/basics/CMakeLists.txt b/src/basics/CMakeLists.txt
index 4052d3b62..b668e432f 100644
--- a/src/basics/CMakeLists.txt
+++ b/src/basics/CMakeLists.txt
@@ -14,7 +14,7 @@ INCLUDE_DIRECTORIES(${CMAKE_CURRENT_LIST_DIR}/basics/writer)
 include (${CMAKE_SOURCE_DIR}/CMake/VirtualFluidsMacros.cmake)
 SET(CAB_ADDITIONAL_LINK_LIBRARIES ${MPI_CXX_LIBRARIES})
 
-include(core/buildInfo.cmake)
+include(Core/buildInfo.cmake)
 
 INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/VirtualFluidsCore)
 INCLUDE_DIRECTORIES(${MPI_INCLUDE_PATH})
@@ -30,10 +30,10 @@ vf_add_library(BUILDTYPE static
         ${CMAKE_CURRENT_LIST_DIR}/basics/transmiitter
         ${CMAKE_CURRENT_LIST_DIR}/basics/utilities
         ${CMAKE_CURRENT_LIST_DIR}/basics/writer
-        ${CMAKE_CURRENT_LIST_DIR}/core
+        ${CMAKE_CURRENT_LIST_DIR}/Core
 
         EXCLUDE buildInfo.in.cpp
         )
 vf_get_library_name (library_name)
-target_include_directories(${library_name} PRIVATE ${CMAKE_CURRENT_LIST_DIR}/core)
+target_include_directories(${library_name} PRIVATE ${CMAKE_CURRENT_LIST_DIR}/Core)
 target_include_directories(${library_name} PRIVATE ${CMAKE_CURRENT_BINARY_DIR})
diff --git a/src/basics/core/ArrayTypes.h b/src/basics/Core/ArrayTypes.h
similarity index 100%
rename from src/basics/core/ArrayTypes.h
rename to src/basics/Core/ArrayTypes.h
diff --git a/src/basics/core/DataTypes.h b/src/basics/Core/DataTypes.h
similarity index 100%
rename from src/basics/core/DataTypes.h
rename to src/basics/Core/DataTypes.h
diff --git a/src/basics/core/Input/ConfigData/ConfigData.h b/src/basics/Core/Input/ConfigData/ConfigData.h
similarity index 100%
rename from src/basics/core/Input/ConfigData/ConfigData.h
rename to src/basics/Core/Input/ConfigData/ConfigData.h
diff --git a/src/basics/core/Input/ConfigData/ConfigDataImp.cpp b/src/basics/Core/Input/ConfigData/ConfigDataImp.cpp
similarity index 100%
rename from src/basics/core/Input/ConfigData/ConfigDataImp.cpp
rename to src/basics/Core/Input/ConfigData/ConfigDataImp.cpp
diff --git a/src/basics/core/Input/ConfigData/ConfigDataImp.h b/src/basics/Core/Input/ConfigData/ConfigDataImp.h
similarity index 100%
rename from src/basics/core/Input/ConfigData/ConfigDataImp.h
rename to src/basics/Core/Input/ConfigData/ConfigDataImp.h
diff --git a/src/basics/core/Input/ConfigFileReader/ConfigFileReader.cpp b/src/basics/Core/Input/ConfigFileReader/ConfigFileReader.cpp
similarity index 100%
rename from src/basics/core/Input/ConfigFileReader/ConfigFileReader.cpp
rename to src/basics/Core/Input/ConfigFileReader/ConfigFileReader.cpp
diff --git a/src/basics/core/Input/ConfigFileReader/ConfigFileReader.h b/src/basics/Core/Input/ConfigFileReader/ConfigFileReader.h
similarity index 100%
rename from src/basics/core/Input/ConfigFileReader/ConfigFileReader.h
rename to src/basics/Core/Input/ConfigFileReader/ConfigFileReader.h
diff --git a/src/basics/core/Input/ConfigInput/ConfigInput.cpp b/src/basics/Core/Input/ConfigInput/ConfigInput.cpp
similarity index 100%
rename from src/basics/core/Input/ConfigInput/ConfigInput.cpp
rename to src/basics/Core/Input/ConfigInput/ConfigInput.cpp
diff --git a/src/basics/core/Input/ConfigInput/ConfigInput.h b/src/basics/Core/Input/ConfigInput/ConfigInput.h
similarity index 100%
rename from src/basics/core/Input/ConfigInput/ConfigInput.h
rename to src/basics/Core/Input/ConfigInput/ConfigInput.h
diff --git a/src/basics/core/Input/Input.cpp b/src/basics/Core/Input/Input.cpp
similarity index 100%
rename from src/basics/core/Input/Input.cpp
rename to src/basics/Core/Input/Input.cpp
diff --git a/src/basics/core/Input/Input.h b/src/basics/Core/Input/Input.h
similarity index 100%
rename from src/basics/core/Input/Input.h
rename to src/basics/Core/Input/Input.h
diff --git a/src/basics/core/Input/JsonInput/JsonInput.cpp b/src/basics/Core/Input/JsonInput/JsonInput.cpp
similarity index 100%
rename from src/basics/core/Input/JsonInput/JsonInput.cpp
rename to src/basics/Core/Input/JsonInput/JsonInput.cpp
diff --git a/src/basics/core/Input/JsonInput/JsonInput.h b/src/basics/Core/Input/JsonInput/JsonInput.h
similarity index 100%
rename from src/basics/core/Input/JsonInput/JsonInput.h
rename to src/basics/Core/Input/JsonInput/JsonInput.h
diff --git a/src/basics/core/LbmOrGks.h b/src/basics/Core/LbmOrGks.h
similarity index 100%
rename from src/basics/core/LbmOrGks.h
rename to src/basics/Core/LbmOrGks.h
diff --git a/src/basics/core/Logger/Logger.cpp b/src/basics/Core/Logger/Logger.cpp
similarity index 100%
rename from src/basics/core/Logger/Logger.cpp
rename to src/basics/Core/Logger/Logger.cpp
diff --git a/src/basics/core/Logger/Logger.h b/src/basics/Core/Logger/Logger.h
similarity index 100%
rename from src/basics/core/Logger/Logger.h
rename to src/basics/Core/Logger/Logger.h
diff --git a/src/basics/core/Logger/implementations/LoggerImp.cpp b/src/basics/Core/Logger/implementations/LoggerImp.cpp
similarity index 100%
rename from src/basics/core/Logger/implementations/LoggerImp.cpp
rename to src/basics/Core/Logger/implementations/LoggerImp.cpp
diff --git a/src/basics/core/Logger/implementations/LoggerImp.h b/src/basics/Core/Logger/implementations/LoggerImp.h
similarity index 100%
rename from src/basics/core/Logger/implementations/LoggerImp.h
rename to src/basics/Core/Logger/implementations/LoggerImp.h
diff --git a/src/basics/core/Logger/implementations/LoggerTest.cpp b/src/basics/Core/Logger/implementations/LoggerTest.cpp
similarity index 100%
rename from src/basics/core/Logger/implementations/LoggerTest.cpp
rename to src/basics/Core/Logger/implementations/LoggerTest.cpp
diff --git a/src/basics/core/NonCreatable.h b/src/basics/Core/NonCreatable.h
similarity index 100%
rename from src/basics/core/NonCreatable.h
rename to src/basics/Core/NonCreatable.h
diff --git a/src/basics/core/PointerDefinitions.h b/src/basics/Core/PointerDefinitions.h
similarity index 100%
rename from src/basics/core/PointerDefinitions.h
rename to src/basics/Core/PointerDefinitions.h
diff --git a/src/basics/core/RealConstants.h b/src/basics/Core/RealConstants.h
similarity index 100%
rename from src/basics/core/RealConstants.h
rename to src/basics/Core/RealConstants.h
diff --git a/src/basics/core/StringUtilities/StringUtil.cpp b/src/basics/Core/StringUtilities/StringUtil.cpp
similarity index 100%
rename from src/basics/core/StringUtilities/StringUtil.cpp
rename to src/basics/Core/StringUtilities/StringUtil.cpp
diff --git a/src/basics/core/StringUtilities/StringUtil.h b/src/basics/Core/StringUtilities/StringUtil.h
similarity index 100%
rename from src/basics/core/StringUtilities/StringUtil.h
rename to src/basics/Core/StringUtilities/StringUtil.h
diff --git a/src/basics/core/Timer/Timer.cpp b/src/basics/Core/Timer/Timer.cpp
similarity index 100%
rename from src/basics/core/Timer/Timer.cpp
rename to src/basics/Core/Timer/Timer.cpp
diff --git a/src/basics/core/Timer/Timer.h b/src/basics/Core/Timer/Timer.h
similarity index 100%
rename from src/basics/core/Timer/Timer.h
rename to src/basics/Core/Timer/Timer.h
diff --git a/src/basics/core/Timer/TimerImp.cpp b/src/basics/Core/Timer/TimerImp.cpp
similarity index 100%
rename from src/basics/core/Timer/TimerImp.cpp
rename to src/basics/Core/Timer/TimerImp.cpp
diff --git a/src/basics/core/Timer/TimerImp.h b/src/basics/Core/Timer/TimerImp.h
similarity index 100%
rename from src/basics/core/Timer/TimerImp.h
rename to src/basics/Core/Timer/TimerImp.h
diff --git a/src/basics/core/VectorTypes.cpp b/src/basics/Core/VectorTypes.cpp
similarity index 100%
rename from src/basics/core/VectorTypes.cpp
rename to src/basics/Core/VectorTypes.cpp
diff --git a/src/basics/core/VectorTypes.h b/src/basics/Core/VectorTypes.h
similarity index 100%
rename from src/basics/core/VectorTypes.h
rename to src/basics/Core/VectorTypes.h
diff --git a/src/basics/core/buildInfo.cmake b/src/basics/Core/buildInfo.cmake
similarity index 100%
rename from src/basics/core/buildInfo.cmake
rename to src/basics/Core/buildInfo.cmake
diff --git a/src/basics/core/buildInfo.h b/src/basics/Core/buildInfo.h
similarity index 100%
rename from src/basics/core/buildInfo.h
rename to src/basics/Core/buildInfo.h
diff --git a/src/basics/core/buildInfo.in.cpp b/src/basics/Core/buildInfo.in.cpp
similarity index 100%
rename from src/basics/core/buildInfo.in.cpp
rename to src/basics/Core/buildInfo.in.cpp
diff --git a/src/basics/core/package.include b/src/basics/Core/package.include
similarity index 100%
rename from src/basics/core/package.include
rename to src/basics/Core/package.include
diff --git a/gpu/src/VirtualFluidsDefinitions.in.h b/src/gpu/VirtualFluidsDefinitions.in.h
similarity index 100%
rename from gpu/src/VirtualFluidsDefinitions.in.h
rename to src/gpu/VirtualFluidsDefinitions.in.h
-- 
GitLab