diff --git a/3rdParty/MarchingCubes/CMakePackage.txt b/3rdParty/MarchingCubes/CMakePackage.txt
index bea0c0b7df77f75944c36260ff48bb9353fc8394..64f5dcd2028cfd7904187d7bac7131554e02b20c 100644
--- a/3rdParty/MarchingCubes/CMakePackage.txt
+++ b/3rdParty/MarchingCubes/CMakePackage.txt
@@ -2,5 +2,5 @@ GET_FILENAME_COMPONENT( CURRENT_DIR  ${CMAKE_CURRENT_LIST_FILE} PATH)
 COLLECT_PACKAGE_DATA_WITH_OPTION(${CURRENT_DIR} ALL_SOURCES outOption outSourceGroupName)
 
 IF(${outOption})
-   LIST(APPEND CAB_ADDTIONAL_COMPILER_FLAGS -DMC_CUBES  )
+   list(APPEND VF_COMPILER_DEFINITION MC_CUBES)
 ENDIF()
diff --git a/CMake/CMakeCABMacros.cmake b/CMake/CMakeCABMacros.cmake
index fb72274532aa74e828a9e07cdad420fe85a03f58..0012cb917a79a841a21a1613a75c0c80f4ad42c1 100644
--- a/CMake/CMakeCABMacros.cmake
+++ b/CMake/CMakeCABMacros.cmake
@@ -63,15 +63,26 @@ INCLUDE(${VF_CMAKE_DIR}/CMakeSetCompilerFlags.cmake)
 ###############################################################################################################
 # Reset the compiler and linker flags
 ###############################################################################################################
-SET(CAB_ADDTIONAL_COMPILER_FLAGS)
-
-SET(CAB_ADDITIONAL_LINK_FLAGS)
-SET(CAB_ADDITIONAL_LINK_FLAGS_DEBUG)
-SET(CAB_ADDITIONAL_LINK_FLAGS_RELEASE)
+SET(VF_COMPILER_DEFINITION)
+SET(VF_LINK_OPTIONS)
 
 SET(CAB_ADDITIONAL_LINK_LIBRARIES)
 
-LIST(APPEND CAB_ADDTIONAL_COMPILER_FLAGS -DSOURCE_ROOT=${VF_ROOT_DIR} )
+LIST(APPEND VF_COMPILER_DEFINITION SOURCE_ROOT=${VF_ROOT_DIR} )
+
+#################################################################
+###   OS DEFINES                                              ###
+#################################################################
+IF(WIN32)
+    list(APPEND VF_COMPILER_DEFINITION __WIN__)
+ELSEIF(UNIX)
+    list(APPEND VF_COMPILER_DEFINITION __unix__)
+ENDIF()
+IF(APPLE)
+    list(APPEND VF_COMPILER_DEFINITION __APPLE__)
+endif()
+
+
 
 ###############################################################
 # set hostname -> CAB_MACHINE and load an optional config file
@@ -89,8 +100,7 @@ IF(NOT CAB_MACHINE)
 ENDIF()
 
 CHECK_FOR_VARIABLE(CAB_MACHINE "machine name, e.g. ALTIX, ARWEN")
-LIST(APPEND CAB_ADDTIONAL_COMPILER_FLAGS -DCAB_MACHINE_${CAB_MACHINE})
-LIST(APPEND CAB_ADDTIONAL_COMPILER_FLAGS -DCAB_MACHINE=${CAB_MACHINE})
+LIST(APPEND VF_COMPILER_DEFINITION CAB_MACHINE=${CAB_MACHINE})
 SET(CMAKE_CONFIG_FILE "${VF_CMAKE_DIR}/cmake_config_files/${CAB_MACHINE}.config.cmake")
 
 IF(NOT EXISTS ${CMAKE_CONFIG_FILE})
diff --git a/CMake/CMakeSetCompilerFlags.cmake b/CMake/CMakeSetCompilerFlags.cmake
index 17f7562d2be079796095089ff9b994ce96d9a6e9..cfe6ac407cf0c9a9ec7cb8ef08254a02fad57a96 100644
--- a/CMake/CMakeSetCompilerFlags.cmake
+++ b/CMake/CMakeSetCompilerFlags.cmake
@@ -2,27 +2,12 @@
 ###               SET_COMPILER_SPECIFIC_FLAGS                ###
 ###  determines compiler flags variables                     ###
 ################################################################
-MACRO(SET_COMPILER_SPECIFIC_FLAGS)
-   IF(NOT CMAKE_CXX_COMPILER)
-      MESSAGE(FATAL_ERROR "before SET_CAB_COMPILER-Macro PROJECT-Macro has to be called")
-   ENDIF()
+MACRO(LOAD_COMPILER_FLAGS_FROM_FILE)
 
-  ###############################################################################################################
-  ## Flags ruecksetzen
-  ###############################################################################################################
-  SET(CAB_COMPILER_ADDITIONAL_LINK_PROPS "")
-  SET(CAB_COMPILER_ADDITIONAL_LINK_PROPS_DEBUG "")
-  SET(CAB_COMPILER_ADDITIONAL_LINK_PROPS_RELEASE "")
-  
   SET(CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "")
   SET(CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS_DEBUG "")
   SET(CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS_RELEASE "")
 
-  SET(CAB_COMPILER_ADDTIONAL_C_COMPILER_FLAGS "")
-  SET(CAB_COMPILER_ADDTIONAL_C_COMPILER_FLAGS_DEBUG "")
-  SET(CAB_COMPILER_ADDTIONAL_C_COMPILER_FLAGS_RELEASE "")
-
-
    # https://cmake.org/cmake/help/latest/variable/CMAKE_LANG_COMPILER_ID.html#variable:CMAKE_<LANG>_COMPILER_ID
 
    IF( SPECIFIC_COMPILER_FLAG_FILE )
@@ -34,18 +19,14 @@ MACRO(SET_COMPILER_SPECIFIC_FLAGS)
 	   MESSAGE(FATAL_ERROR "compiler=${CMAKE_CXX_COMPILER_ID} seems to be a not supported compiler")
 	ENDIF()
 
-ENDMACRO(SET_COMPILER_SPECIFIC_FLAGS)
+ENDMACRO()
 
 ################################################################
 ###             ADD_COMPILER_FLAGS_TO_PROJECT                ###
-###  adds COMPILER_FLGAS TO project                          ###
 ################################################################
 MACRO(ADD_COMPILER_FLAGS_TO_PROJECT project_name)
 
-   ################################################################
-   # SET_COMPILER_SPECIFIC_FLAGS
-   ################################################################
-   SET_COMPILER_SPECIFIC_FLAGS()
+   LOAD_COMPILER_FLAGS_FROM_FILE()
 
    #workaround fuer itanium processoren
    IF(${CMAKE_SYSTEM_PROCESSOR} MATCHES "ia64")
@@ -53,49 +34,18 @@ MACRO(ADD_COMPILER_FLAGS_TO_PROJECT project_name)
       LIST(APPEND CAB_COMPILER_ADDTIONAL_C_COMPILER_FLAGS   -D_M_IA64)
    ENDIF()
 
-   ################################################################
-   # LINKER PROPS
-   ################################################################
-   status("additional linker probs: ${CAB_COMPILER_ADDITIONAL_LINK_PROPS}")
-
-   IF(CAB_COMPILER_ADDITIONAL_LINK_PROPS)
-     ADD_TARGET_PROPERTIES(${project_name} LINK_FLAGS ${CAB_COMPILER_ADDITIONAL_LINK_PROPS}) 
-   ENDIF()
-   IF(CAB_COMPILER_ADDITIONAL_LINK_PROPS_DEBUG)
-     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})
-   ENDIF()
 
-   ################################################################
-   # COMPILER FLAGS
-   ################################################################
-   #message (COMPILE FLAGS INTERN: ${CAB_COMPILER_ADDTIONAL_${project_language}_COMPILER_FLAGS})
+   foreach(flag IN LISTS CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS)
+       target_compile_options(${project_name} PRIVATE "$<$<COMPILE_LANGUAGE:CXX>:${flag}>")
+   endforeach()
 
-    # TODO: Clean this up!!
-   IF(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})
+   foreach(flag IN LISTS CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS_DEBUG)
+       target_compile_options(${project_name} PRIVATE "$<$<AND:$<COMPILE_LANGUAGE:CXX>,$<CONFIG:DEBUG>>:${flag}>")
+   endforeach()
 
-       #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})
-   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})
-   ENDIF()
+   foreach(flag IN LISTS CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS_RELEASE)
+       target_compile_options(${project_name} PRIVATE "$<$<AND:$<COMPILE_LANGUAGE:CXX>,$<CONFIG:RELEASE>>:${flag}>")
+   endforeach()
 
 
 ENDMACRO(ADD_COMPILER_FLAGS_TO_PROJECT project_name)
\ No newline at end of file
diff --git a/CMake/VirtualFluidsMacros.cmake b/CMake/VirtualFluidsMacros.cmake
index f82da9fb2eed248b6c0deb53565cf1f0c390b709..aab92f51a7562f0f8be9e4bac5c27abb1af68cb6 100644
--- a/CMake/VirtualFluidsMacros.cmake
+++ b/CMake/VirtualFluidsMacros.cmake
@@ -11,6 +11,14 @@ function(status msg)
     message(STATUS "  VF - ${msg}")
 endfunction()
 
+#################################################################################
+## include intern macros
+#################################################################################
+include(${VF_CMAKE_DIR}/CMakeCABMacros.cmake)
+include(${VF_CMAKE_DIR}/FileUtilities.cmake)
+include(${VF_CMAKE_DIR}/3rd.cmake)
+
+
 #################################################################################
 ## set global project file endings
 #################################################################################
@@ -24,6 +32,7 @@ set (VIRTUAL_FLUIDS_GLOB_FILES
         CACHE INTERNAL "File endings to glob for source files" )
 
 
+
 #################################################################################
 ## Sets the library name to the current folder name.
 ## output parameter: library_name
@@ -79,18 +88,6 @@ function(vf_add_library)
     includeProductionFiles (${library_name} "${sourceFiles}")
 
 
-
-    #################################################################
-    ###   OS DEFINES                                              ###
-    #################################################################
-    IF(WIN32)
-        LIST(APPEND CAB_ADDTIONAL_COMPILER_FLAGS -D__WIN__)
-    ELSEIF(APPLE)
-        LIST(APPEND CAB_ADDTIONAL_COMPILER_FLAGS -D__APPLE__)
-    ELSEIF(UNIX)
-        LIST(APPEND CAB_ADDTIONAL_COMPILER_FLAGS -D__unix__)
-    ENDIF()
-
     #################################################################
     ###   ADDITIONAL_MAKE_CLEAN_FILES                             ###
     #################################################################
@@ -133,36 +130,20 @@ function(vf_add_library)
     #################################################################
     ADD_COMPILER_FLAGS_TO_PROJECT(${library_name})
     status("compiler flags for compiler ${CAB_COMPILER} on machine ${CAB_MACHINE} for project ${project_name} (${ARG_BUILDTYPE}) have been configured")
-    status("compiler flags: ${CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS}")
-    status("additional compiler flags: ${CAB_ADDTIONAL_COMPILER_FLAGS}")
+    status("compiler flags CXX: ${CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS}")
+    status("additional compiler flags CXX debug: ${CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS_DEBUG}")
+    status("additional compiler flags CXX release: ${CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS_RELEASE}")
 
-    #MESSAGE (COMPILE FLAGS: ${CAB_ADDTIONAL_COMPILER_FLAGS})
-    IF(CAB_ADDTIONAL_COMPILER_FLAGS)
-        ADD_TARGET_PROPERTIES(${library_name} COMPILE_FLAGS ${CAB_ADDTIONAL_COMPILER_FLAGS})
-    ENDIF()
-    IF(CAB_ADDTIONAL_COMPILER_FLAGS_DEBUG)
-        MESSAGE(FATAL_ERROR "COMPILE_FLAGS_DEBUG_<CONFIG> not supported by cmake yet :-(")
-        ADD_TARGET_PROPERTIES(${library_name} COMPILE_FLAGS_DEBUG ${CAB_ADDTIONAL_COMPILER_FLAGS_DEBUG})
-    ENDIF()
-    IF(CAB_ADDTIONAL_COMPILER_FLAGS_RELEASE)
-        MESSAGE(FATAL_ERROR "COMPILE_FLAGS_<CONFIG> not supported by cmake yet :-(")
-        ADD_TARGET_PROPERTIES(${library_name} COMPILE_FLAGS_RELEASE ${CAB_ADDTIONAL_COMPILER_FLAGS_RELEASE})
-    ENDIF()
+    status("additional compiler definitions: ${VF_COMPILER_DEFINITION}")
+    status("additional linker flags: ${VF_LINK_OPTIONS}")
 
-    #################################################################
-    ###   ADDITIONAL LINK PROPERTIES                              ###
-    #################################################################
-    status("additional linker flags: ${CAB_ADDITIONAL_LINK_FLAGS}")
+    foreach(flag IN LISTS VF_COMPILER_DEFINITION)
+        target_compile_definitions(${library_name} PRIVATE ${flag})
+    endforeach()
 
-    IF(CAB_ADDITIONAL_LINK_FLAGS)
-        ADD_TARGET_PROPERTIES(${library_name} LINK_FLAGS ${CAB_ADDITIONAL_LINK_FLAGS})
-    ENDIF()
-    IF(CAB_ADDITIONAL_LINK_FLAGS_DEBUG)
-        ADD_TARGET_PROPERTIES(${library_name} LINK_FLAGS_DEBUG ${CAB_ADDITIONAL_LINK_FLAGS_DEBUG})
-    ENDIF()
-    IF(CAB_ADDITIONAL_LINK_FLAGS_RELEASE)
-        ADD_TARGET_PROPERTIES(${library_name} LINK_FLAGS_RELEASE ${CAB_ADDITIONAL_LINK_FLAGS_RELEASE})
-    ENDIF()
+    foreach(flag IN LISTS VF_LINK_OPTIONS) #TODO: check what happens when lib is static
+        target_link_options(${library_name} PRIVATE ${flag})
+    endforeach()
 
 
     if (NOT ${ARG_BUILDTYPE} MATCHES binary)
diff --git a/CMake/cmake_config_files/BILBO.config.cmake b/CMake/cmake_config_files/BILBO.config.cmake
index a31f7e22c8a1de694da5f6a868fcebe40358eae6..3c7f0f728ddad36d22ff1d65d83aa7927c14ed48 100644
--- a/CMake/cmake_config_files/BILBO.config.cmake
+++ b/CMake/cmake_config_files/BILBO.config.cmake
@@ -4,10 +4,6 @@
 # OS:          MacOS X
 #################################################################################
 
-LIST(APPEND CAB_ADDTIONAL_COMPILER_FLAGS -D__unix__)
-LIST(APPEND CAB_ADDTIONAL_COMPILER_FLAGS -D__UNIX__)
-LIST(APPEND CAB_ADDTIONAL_COMPILER_FLAGS -D__APPLE__)
-
 #################################################################################
 #  METIS
 #################################################################################
diff --git a/CMake/cmake_config_files/BOMBADIL.config.cmake b/CMake/cmake_config_files/BOMBADIL.config.cmake
index 7769b340a2239c007a3b47b98564935dc4cb7c8f..7838e2f52b35deae8c114c57968f4b71e0b5b2e4 100644
--- a/CMake/cmake_config_files/BOMBADIL.config.cmake
+++ b/CMake/cmake_config_files/BOMBADIL.config.cmake
@@ -4,14 +4,6 @@
 # OS:          Windows 10
 #################################################################################
 
-#LIST(APPEND CAB_ADDTIONAL_COMPILER_FLAGS -D__unix__)
-#LIST(APPEND CAB_ADDTIONAL_COMPILER_FLAGS -D__UNIX__)
-#LIST(APPEND CAB_ADDTIONAL_COMPILER_FLAGS -D__APPLE__)
-
-IF(NOT CMAKE_CXX_COMPILER)
-   MESSAGE(FATAL_ERROR "before cmake-config-file can be included -> project must be extecuted")
-ENDIF()
-  
 #################################################################################
 # MPI
 #################################################################################
@@ -33,14 +25,6 @@ SET(BOOST_LIBRARYDIR ${BOOST_ROOT}"/stageMSVC64/lib")
 #  VTK  
 #################################################################################
 set(VTK_DIR "d:/Tools/VTK/build/VTK-8.0.0")
-#################################################################################
-#  ZOLTAN  
-#################################################################################
-IF(${USE_ZOLTAN})
-  SET(ZOLTAN_INCLUDEDIR "d:/Tools/zoltan/include")
-  SET(ZOLTAN_DEBUG_LIBRARY "d:/Tools/zoltan/lib/Debug/zoltan.lib") 
-  SET(ZOLTAN_RELEASE_LIBRARY "d:/Tools/zoltan/lib/Release/zoltan.lib") 
-ENDIF()
 
 #################################################################################
 #  METIS  
diff --git a/CMake/cmake_config_files/ELLADAN.config.cmake b/CMake/cmake_config_files/ELLADAN.config.cmake
index 88645865a77fee75ae0318b917d9c78bf42036fd..80291455e6db49f542b847640ec187620d7eacca 100644
--- a/CMake/cmake_config_files/ELLADAN.config.cmake
+++ b/CMake/cmake_config_files/ELLADAN.config.cmake
@@ -4,9 +4,6 @@
 # OS:          Ubuntu 20.04
 #################################################################################
 
-LIST(APPEND CAB_ADDTIONAL_COMPILER_FLAGS -D__unix__)
-LIST(APPEND CAB_ADDTIONAL_COMPILER_FLAGS -D__UNIX__)
-
 set(NVCUDASAMPLES_ROOT "~/cuda-samples/Common")
 #################################################################################
 #  METIS
diff --git a/CMake/cmake_config_files/PHOENIX.config.cmake b/CMake/cmake_config_files/PHOENIX.config.cmake
index 994a6837b95be85757f9b0f1bd6c9ff44a30a9e6..7ed31e406a9e528de24c8131f0083976c72555d5 100644
--- a/CMake/cmake_config_files/PHOENIX.config.cmake
+++ b/CMake/cmake_config_files/PHOENIX.config.cmake
@@ -4,9 +4,6 @@
 # OS:          CentOS 7.3
 #################################################################################
 
-LIST(APPEND CAB_ADDTIONAL_COMPILER_FLAGS -D__unix__)
-LIST(APPEND CAB_ADDTIONAL_COMPILER_FLAGS -D__UNIX__)
-
 SET(BOOST_VERSION "1.63.0" CACHE STRING "std: 1.63.0")
 
 #################################################################################
diff --git a/CMake/compilerflags/AppleClang.cmake b/CMake/compilerflags/AppleClang.cmake
index 79f332c2be34c866e74822e1e8e32b7f602dd5fe..ef97a54a4ebe17bde5e016e04a40a187371172e9 100644
--- a/CMake/compilerflags/AppleClang.cmake
+++ b/CMake/compilerflags/AppleClang.cmake
@@ -9,20 +9,20 @@
 #############################################################################################################
 LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-O3;-fomit-frame-pointer;-finline-functions;-fPIC;-Wbackslash-newline-escape")
 
-LIST(APPEND CAB_COMPILER_ADDTIONAL_C_COMPILER_FLAGS "-O3;-fomit-frame-pointer;-finline-functions;-fPIC")
-
-
 #############################################################################################################
 # mt support
 #############################################################################################################
 LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-pthread")
-LIST(APPEND CAB_COMPILER_ADDTIONAL_C_COMPILER_FLAGS "-pthread")
 
 #############################################################################################################
 # c++ 11 support
 #############################################################################################################
 LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-std=c++11")
-LIST(APPEND CAB_COMPILER_ADDTIONAL_C_COMPILER_FLAGS "-std=c++11")
+
+
+# test
+#LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS_RELEASE "-Wall")
+#LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS_DEBUG "-Werror")
 
 #############################################################################################################
 # disable warning
@@ -31,8 +31,6 @@ LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-Wno-deprecated") #deprec
 #LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-Wbackslash-newline-escape") #backslash and newline separated by space
 LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-Wcomment") #'/*' within block comment
 
-LIST(APPEND CAB_COMPILER_ADDTIONAL_C_COMPILER_FLAGS "-Wbackslash-newline-escape") #backslash and newline separated by space
-
 #############################################################################################################
 # c++ 17 support
 #############################################################################################################
diff --git a/CMake/compilerflags/Clang.cmake b/CMake/compilerflags/Clang.cmake
index 1d43882f467365ff76f8a4b68c629bcd35bb88ae..4e79d520c0b91a41d62f658092489941926bda05 100644
--- a/CMake/compilerflags/Clang.cmake
+++ b/CMake/compilerflags/Clang.cmake
@@ -9,20 +9,15 @@
 #############################################################################################################
 LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-O3;-fomit-frame-pointer;-finline-functions;-fPIC;-Wbackslash-newline-escape")
 
-LIST(APPEND CAB_COMPILER_ADDTIONAL_C_COMPILER_FLAGS "-O3;-fomit-frame-pointer;-finline-functions;-fPIC")
-
-
 #############################################################################################################
 # mt support
 #############################################################################################################
 LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-pthread")
-LIST(APPEND CAB_COMPILER_ADDTIONAL_C_COMPILER_FLAGS "-pthread")
 
 #############################################################################################################
 # c++ 11 support
 #############################################################################################################
 LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-std=c++11")
-LIST(APPEND CAB_COMPILER_ADDTIONAL_C_COMPILER_FLAGS "-std=c++11")
 
 #############################################################################################################
 # disable warning
@@ -31,8 +26,6 @@ LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-Wno-deprecated") #deprec
 #LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-Wbackslash-newline-escape") #backslash and newline separated by space
 LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-Wcomment") #'/*' within block comment
 
-LIST(APPEND CAB_COMPILER_ADDTIONAL_C_COMPILER_FLAGS "-Wbackslash-newline-escape") #backslash and newline separated by space
-
 #############################################################################################################
 # c++ 17 support
 #############################################################################################################
diff --git a/CMake/compilerflags/GNU.cmake b/CMake/compilerflags/GNU.cmake
index 7efff28df1898ad9603bbd632880ee1886244a65..2a14ad1e2d13b7d165175bcbecafce29bc5b5475 100644
--- a/CMake/compilerflags/GNU.cmake
+++ b/CMake/compilerflags/GNU.cmake
@@ -2,30 +2,25 @@
 #############################################################################################################
 # 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_C_COMPILER_FLAGS "-O3 -fomit-frame-pointer -finline-functions -funroll-all-loops -fPIC")
-
 #############################################################################################################
 # OpenMP support
 #############################################################################################################
 IF(USE_OPENMP)
     LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-fopenmp")
-    LIST(APPEND CAB_COMPILER_ADDTIONAL_C_COMPILER_FLAGS "-fopenmp")
 ENDIF()
 
 #############################################################################################################
 # mt support
 #############################################################################################################
 LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-pthread")
-LIST(APPEND CAB_COMPILER_ADDTIONAL_C_COMPILER_FLAGS "-pthread")
 
 #############################################################################################################
 # c++ 11 support
 #############################################################################################################
 LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-std=c++11")
-LIST(APPEND CAB_COMPILER_ADDTIONAL_C_COMPILER_FLAGS "-std=c++11")
 
 #############################################################################################################
 # c++ 17 support
diff --git a/CMake/compilerflags/Intel.cmake b/CMake/compilerflags/Intel.cmake
index 8832712bb33c68901aa16288f7348ae407689cb7..bec6b8eff9d4e7528a346b75fa47309f49336559 100644
--- a/CMake/compilerflags/Intel.cmake
+++ b/CMake/compilerflags/Intel.cmake
@@ -14,8 +14,7 @@
 #LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-xHOST -O3 -ip -ipo -fno-alias -mcmodel=medium -qopt-streaming-stores=always")
 
 LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-wd1478") #auto_ptr warning from mu::Parser
-#LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-xHOST -O3 -ip -fno-alias -mcmodel=medium -qopt-streaming-stores=always -xCORE-AVX512 -qopt-zmm-usage=high")
-LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-xHOST -O3 -ip -fno-alias -mcmodel=medium -qopt-streaming-stores=always -xCORE-AVX512 -qopt-zmm-usage=high")
+LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-xHOST;-O3;-ip;-fno-alias;-mcmodel=medium;-qopt-streaming-stores=always;-xCORE-AVX512;-qopt-zmm-usage=high")
 
 #Debug
 #LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-g -traceback")
@@ -31,10 +30,8 @@ ENDIF()
 ## mt support
 ###############################################################################################################
 #LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-pthread")
-#LIST(APPEND CAB_COMPILER_ADDTIONAL_C_COMPILER_FLAGS "-pthread")
 
 #############################################################################################################
 # c++ 11 support
 #############################################################################################################
 LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-std=c++11")
-LIST(APPEND CAB_COMPILER_ADDTIONAL_C_COMPILER_FLAGS "-std=c++11")
diff --git a/CMake/compilerflags/MSVC.cmake b/CMake/compilerflags/MSVC.cmake
index 113cba6b5e4610f37d33fd91a5d68c2c04114a3f..62de9ecb8b1f4f04fce9e01e3e672729a5d14017 100644
--- a/CMake/compilerflags/MSVC.cmake
+++ b/CMake/compilerflags/MSVC.cmake
@@ -8,14 +8,17 @@
 OPTION(USE_UNSECURE_STL_VECTORS_RELEASE "_SECURE_SCL=0" OFF)
 IF(USE_UNSECURE_STL_VECTORS_RELEASE)
     # More MSVC specific compilation flags
-    LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-D_SECURE_SCL=0")
-    LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-D_SCL_SECURE_NO_WARNINGS")
+    LIST(APPEND VF_COMPILER_DEFINITION _SECURE_SCL=0)
+    LIST(APPEND VF_COMPILER_DEFINITION _SCL_SECURE_NO_WARNINGS)
 ENDIF()
 
+#LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS_RELEASE "/W1")
+#LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS_DEBUG "/Wall")
+
 ###############################################################################################################
 ## Flags
 ###############################################################################################################
-LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-D_CRT_SECURE_NO_DEPRECATE")
+LIST(APPEND VF_COMPILER_DEFINITION _CRT_SECURE_NO_DEPRECATE)
 LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "/wd4996") #deprecated strcpy...
 LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "/wd4800") #forcing value to bool 'true' or 'false' (performance warning)
 LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "/bigobj") #ansonsten funzt mit boost das compilieren unter windows nimmer
diff --git a/CMakeLists.txt b/CMakeLists.txt
index c04b32d7648d8d1ef7f50350ce33b4832fb41aa1..47c6ff0a1cb68a30c082e9a41db592a4814c0aac 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -52,9 +52,6 @@ endif()
 #################################################################################
 include(CMakePrintHelpers)
 include(${VF_CMAKE_DIR}/VirtualFluidsMacros.cmake)
-include(${VF_CMAKE_DIR}/CMakeCABMacros.cmake)
-include(${VF_CMAKE_DIR}/FileUtilities.cmake)
-include(${VF_CMAKE_DIR}/3rd.cmake)
 
 include(${VF_CMAKE_DIR}/CMakeMacros_old/general/FindCompiler.cmake)
 configure_file(src/basics/VirtualFluidsDefinitions.in.h ${CMAKE_BINARY_DIR}/VirtualFluidsDefinitions.h)
diff --git a/cpu.cmake b/cpu.cmake
index 215a491e2985d2c56232295dff67193e2627ebe0..249c8837c443b69d0e47a28e6b622326c0d61ab4 100644
--- a/cpu.cmake
+++ b/cpu.cmake
@@ -64,7 +64,6 @@ IF(${USE_VTK})
     #find_package(VTK 6.1 NO_MODULE)
     FIND_PACKAGE(VTK REQUIRED)
     INCLUDE_DIRECTORIES(${VTK_INCLUDE_DIRS})
-    MESSAGE("VTK_INCLUDE_DIRS = " ${VTK_INCLUDE_DIRS})
 ENDIF()
 
 IF(${USE_CATALYST})
@@ -72,41 +71,35 @@ IF(${USE_CATALYST})
     include("${PARAVIEW_USE_FILE}")
 ENDIF()
 
-#LIST(APPEND CAB_ADDTIONAL_COMPILER_FLAGS -DCAB_BOOST)
-LIST(APPEND CAB_ADDTIONAL_COMPILER_FLAGS -DNOMINMAX)
-#LIST(APPEND CAB_ADDTIONAL_COMPILER_FLAGS -DBOOST_SIGNALS_NO_DEPRECATION_WARNING)
-#LIST(APPEND CAB_ADDTIONAL_COMPILER_FLAGS -DCAB_RUBY)
-#LIST(APPEND CAB_ADDTIONAL_COMPILER_FLAGS -mpe=mpilog)
-#LIST(APPEND CAB_ADDTIONAL_COMPILER_FLAGS -noshlib)
-#LIST(APPEND CAB_ADDTIONAL_COMPILER_FLAGS -DSINGLEPRECISION)
-
 IF(${USE_METIS})
-    LIST(APPEND CAB_ADDTIONAL_COMPILER_FLAGS -DVF_METIS)
+    list(APPEND VF_COMPILER_DEFINITION VF_METIS)
 ENDIF()
 IF(${USE_MPI})
-    LIST(APPEND CAB_ADDTIONAL_COMPILER_FLAGS -DVF_MPI)
+    list(APPEND VF_COMPILER_DEFINITION VF_MPI)
 ENDIF()
 IF(${USE_VTK})
-    LIST(APPEND CAB_ADDTIONAL_COMPILER_FLAGS -DVF_VTK)
+    list(APPEND VF_COMPILER_DEFINITION VF_VTK)
 ENDIF()
 IF(${USE_CATALYST})
-    LIST(APPEND CAB_ADDTIONAL_COMPILER_FLAGS -DVF_CATALYST)
+    list(APPEND VF_COMPILER_DEFINITION VF_CATALYST)
 ENDIF()
 
 IF(${USE_BOOST})
-    LIST(APPEND CAB_ADDTIONAL_COMPILER_FLAGS -DVF_BOOST)
+    list(APPEND VF_COMPILER_DEFINITION VF_BOOST)
 ENDIF()
 
 IF(${USE_HLRN_LUSTRE})
-    LIST(APPEND CAB_ADDTIONAL_COMPILER_FLAGS -DHLRN_LUSTRE)
+    list(APPEND VF_COMPILER_DEFINITION HLRN_LUSTRE)
 ENDIF()
 
 IF(${CMAKE_CXX_COMPILER_ID} STREQUAL "Intel")
-    SET(CAB_ADDITIONAL_LINK_FLAGS ${CAB_ADDITIONAL_LINK_FLAGS} -parallel)
+    list(APPEND VF_LINK_OPTIONS -parallel)
+    list(APPEND VF_LINK_OPTIONS -irc)
 ENDIF()
 
 IF(${CMAKE_CXX_COMPILER_ID} STREQUAL "GNU")
-    SET(CAB_ADDITIONAL_LINK_FLAGS ${CAB_ADDITIONAL_LINK_FLAGS} -lgomp)
+    list(APPEND VF_LINK_OPTIONS -lgomp)
+    list(APPEND VF_LINK_OPTIONS -lrt)
 ENDIF()
 
 
@@ -114,21 +107,17 @@ ENDIF()
 # IF(${USE_PYTHON})
 # FIND_PACKAGE(PythonLibs)
 # INCLUDE_DIRECTORIES(${PYTHON_INCLUDE_DIR})
-# LIST(APPEND CAB_ADDTIONAL_COMPILER_FLAGS -DVF_PYTHON)
-# LIST(APPEND CAB_ADDTIONAL_COMPILER_FLAGS -DBOOST_PYTHON_STATIC_LIB)
+# LIST(APPEND VF_COMPILER_DEFINITION VF_PYTHON)
+# LIST(APPEND VF_COMPILER_DEFINITION BOOST_PYTHON_STATIC_LIB)
 # add_subdirectory(python)
 # ENDIF()
 
 # IF(${CMAKE_CXX_COMPILER_ID} STREQUAL "Intel")
-# LIST(APPEND CAB_ADDTIONAL_COMPILER_FLAGS -DMPICH_IGNORE_CXX_SEEK)
-# LIST(APPEND CAB_ADDTIONAL_COMPILER_FLAGS -DMPICH_SKIP_MPICXX)
+# LIST(APPEND VF_COMPILER_DEFINITION MPICH_IGNORE_CXX_SEEK)
+# LIST(APPEND VF_COMPILER_DEFINITION MPICH_SKIP_MPICXX)
 # ENDIF()
 
 
-#IF(${USE_DEM_COUPLING})
-#    add_subdirectory(Plugins/dem_coupling)
-#ENDIF()
-
 add_subdirectory(${VF_THIRD_DIR}/MuParser)
 
 add_subdirectory(src/cpu/VirtualFluidsCore)
diff --git a/src/basics/CMakeLists.txt b/src/basics/CMakeLists.txt
index ff6c0c122ee9d2fc738e0fe67bba48ba621a95e1..53b17f291d31566cac6da0688ff34624897a17dd 100644
--- a/src/basics/CMakeLists.txt
+++ b/src/basics/CMakeLists.txt
@@ -1,3 +1,11 @@
+# Old VF basics defines. TODO: might be deleted in future.
+#LIST(APPEND VF_COMPILER_DEFINITION CAB_BOOST)
+#LIST(APPEND VF_COMPILER_DEFINITION BOOST_SIGNALS_NO_DEPRECATION_WARNING)
+#LIST(APPEND VF_COMPILER_DEFINITION CAB_RUBY)
+#LIST(APPEND VF_COMPILER_DEFINITION mpe=mpilog)
+#LIST(APPEND VF_COMPILER_DEFINITION noshlib)
+#LIST(APPEND VF_COMPILER_DEFINITION SINGLEPRECISION)
+
 
 include(Core/buildInfo.cmake)
 
diff --git a/src/cpu/VirtualFluidsCore/CMakeLists.txt b/src/cpu/VirtualFluidsCore/CMakeLists.txt
index 79c86121fa2565d6a53bb1b38e911edb9a2d0a0f..b6327ceea55917e01c0853413183298de73c7ca7 100644
--- a/src/cpu/VirtualFluidsCore/CMakeLists.txt
+++ b/src/cpu/VirtualFluidsCore/CMakeLists.txt
@@ -1,14 +1,4 @@
 
-IF(${CMAKE_CXX_COMPILER_ID} STREQUAL "GNU")
-   SET(CAB_ADDITIONAL_LINK_LIBRARIES ${CAB_ADDITIONAL_LINK_LIBRARIES} rt)
-   SET(CAB_ADDITIONAL_LINK_LIBRARIES ${CAB_ADDITIONAL_LINK_LIBRARIES} gomp)
-ENDIF()
-
-IF(${CMAKE_CXX_COMPILER_ID} STREQUAL "Intel")
-   SET(CAB_ADDITIONAL_LINK_LIBRARIES ${CAB_ADDITIONAL_LINK_LIBRARIES} irc)
-   SET(CAB_ADDITIONAL_LINK_FLAGS ${CAB_ADDITIONAL_LINK_FLAGS} parallel)
-ENDIF()
-
 IF(${USE_METIS})
    SET(LINK_LIBRARY optimized ${METIS_RELEASE_LIBRARY} debug ${METIS_DEBUG_LIBRARY})
    SET(CAB_ADDITIONAL_LINK_LIBRARIES ${CAB_ADDITIONAL_LINK_LIBRARIES} ${LINK_LIBRARY})