diff --git a/cmake/compileroptions/Clang.cmake b/cmake/compileroptions/Clang.cmake
index 1b59e426f30fc86807a79fd6c48d2d9fed04f90f..4bba387b204dce3ae9112cde362ed77656aca722 100644
--- a/cmake/compileroptions/Clang.cmake
+++ b/cmake/compileroptions/Clang.cmake
@@ -1,94 +1,106 @@
 message(STATUS "Setting Clang specific compiler options")
-if (CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang")
-   if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 11.0.0)
-      message(FATAL_ERROR "Clang version must be at least 11!")
-   endif()
+
+if(CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang")
+  if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 11.0.0)
+    message(FATAL_ERROR "Clang version must be at least 11!")
+  endif()
 else()
-   if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 7)
-   message(FATAL_ERROR "Clang version must be at least 7!")
-endif()
+  if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 7)
+    message(FATAL_ERROR "Clang version must be at least 7!")
+  endif()
 endif()
 
+if(WALBERLA_OPTIMIZE_FOR_LOCALHOST)
 
-if( WALBERLA_OPTIMIZE_FOR_LOCALHOST )
+  if((CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang" OR CMAKE_CXX_COMPILER_ID
+                                                     STREQUAL "Clang")
+     AND CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL "arm64")
+    # no -march=native available on this compiler, but there is currently only
+    # one such processor
+  else()
+    add_flag(CMAKE_CXX_FLAGS "-march=native")
+    add_flag(CMAKE_C_FLAGS "-march=native")
+  endif()
 
-   if(( CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang" OR CMAKE_CXX_COMPILER_ID STREQUAL "Clang" ) AND CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL "arm64" )
-      # no -march=native available on this compiler, but there is currently only one such processor
-   else()
-      add_flag ( CMAKE_CXX_FLAGS "-march=native" )
-      add_flag ( CMAKE_C_FLAGS   "-march=native" )
-   endif()
-
-   if( EXISTS "/proc/sys/abi/sve_default_vector_length" )
-      file( READ "/proc/sys/abi/sve_default_vector_length" SVE_LENGTH_BYTES )
-      string(STRIP "${SVE_LENGTH_BYTES}" SVE_LENGTH_BYTES)
-      math(EXPR SVE_LENGTH "${SVE_LENGTH_BYTES} * 8")
-      add_flag ( CMAKE_CXX_FLAGS "-msve-vector-bits=${SVE_LENGTH}" )
-      add_flag ( CMAKE_C_FLAGS   "-msve-vector-bits=${SVE_LENGTH}" )
-   endif()
+  if(EXISTS "/proc/sys/abi/sve_default_vector_length")
+    file(READ "/proc/sys/abi/sve_default_vector_length" SVE_LENGTH_BYTES)
+    string(STRIP "${SVE_LENGTH_BYTES}" SVE_LENGTH_BYTES)
+    math(EXPR SVE_LENGTH "${SVE_LENGTH_BYTES} * 8")
+    add_flag(CMAKE_CXX_FLAGS "-msve-vector-bits=${SVE_LENGTH}")
+    add_flag(CMAKE_C_FLAGS "-msve-vector-bits=${SVE_LENGTH}")
+  endif()
 endif()
 
-if( NOT WARNING_DEPRECATED)
-   add_flag ( CMAKE_CXX_FLAGS "-Wno-deprecated-declarations")
+if(NOT WARNING_DEPRECATED)
+  add_flag(CMAKE_CXX_FLAGS "-Wno-deprecated-declarations")
 endif()
 
-add_flag ( CMAKE_CXX_FLAGS "-Wall -Wconversion -Wshadow -Wno-c++11-extensions -Qunused-arguments" )
+add_flag(CMAKE_CXX_FLAGS
+         "-Wall -Wconversion -Wshadow -Wno-c++11-extensions -Qunused-arguments")
 
-if ( WALBERLA_STL_BOUNDS_CHECKS )
-   add_definitions ( "-D_GLIBCXX_DEBUG" )
-   add_definitions ( "-D_LIBCPP_DEBUG=1" )
+if(WALBERLA_STL_BOUNDS_CHECKS)
+  add_definitions("-D_GLIBCXX_DEBUG")
+  add_definitions("-D_LIBCPP_DEBUG=1")
 endif()
 
-if ( WALBERLA_BUILD_WITH_FASTMATH )
-   add_flag( CMAKE_CXX_FLAGS "-ffast-math")
+if(WALBERLA_BUILD_WITH_FASTMATH)
+  add_flag(CMAKE_CXX_FLAGS "-ffast-math")
 endif()
 
-if ( NOT WIN32 )
-   find_package ( Backtrace QUIET )
-   if ( Backtrace_FOUND )
-      list ( APPEND SERVICE_LIBS ${Backtrace_LIBRARIES} )
-      set ( WALBERLA_BUILD_WITH_BACKTRACE ON )
-      set ( WALBERLA_BACKTRACE_HEADER ${Backtrace_HEADER} )
-   endif ( Backtrace_FOUND )
+if(NOT WIN32)
+  find_package(Backtrace QUIET)
+  if(Backtrace_FOUND)
+    list(APPEND SERVICE_LIBS ${Backtrace_LIBRARIES})
+    set(WALBERLA_BUILD_WITH_BACKTRACE ON)
+    set(WALBERLA_BACKTRACE_HEADER ${Backtrace_HEADER})
+  endif(Backtrace_FOUND)
 endif()
 
-set( CMAKE_C_FLAGS_DEBUGOPTIMIZED   "${CMAKE_C_FLAGS_DEBUGOPTIMIZED} -O3" )
-set( CMAKE_CXX_FLAGS_DEBUGOPTIMIZED "${CMAKE_CXX_FLAGS_DEBUGOPTIMIZED} -O3" )
+set(CMAKE_C_FLAGS_DEBUGOPTIMIZED "${CMAKE_C_FLAGS_DEBUGOPTIMIZED} -O3")
+set(CMAKE_CXX_FLAGS_DEBUGOPTIMIZED "${CMAKE_CXX_FLAGS_DEBUGOPTIMIZED} -O3")
 
-if ( WALBERLA_BUILD_WITH_GPROF )
-   add_flag ( CMAKE_CXX_FLAGS        "-pg" )
+if(WALBERLA_BUILD_WITH_GPROF)
+  add_flag(CMAKE_CXX_FLAGS "-pg")
 endif()
 
-if ( WALBERLA_SANITIZE_ADDRESS )
-   add_flag( CMAKE_CXX_FLAGS "-fsanitize=address")
+if(WALBERLA_SANITIZE_ADDRESS)
+  add_flag(CMAKE_CXX_FLAGS "-fsanitize=address")
 endif()
 
-if ( WALBERLA_SANITIZE_UNDEFINED )
-   add_flag( CMAKE_CXX_FLAGS "-fsanitize=undefined")
+if(WALBERLA_SANITIZE_UNDEFINED)
+  add_flag(CMAKE_CXX_FLAGS "-fsanitize=undefined")
 endif()
 
-if ( WALBERLA_BUILD_WITH_OPENMP )
-   if( APPLE AND EXISTS /opt/local/lib/libomp AND EXISTS /opt/local/include/libomp ) # find libomp from MacPorts
-      set( CMAKE_FRAMEWORK_PATH /opt/local/lib/libomp )
-      set( CMAKE_INCLUDE_PATH /opt/local/include/libomp )
-   endif()
-   find_package( OpenMP )
-   if (OpenMP_FOUND)
-      add_flag ( CMAKE_C_FLAGS   "${OpenMP_C_FLAGS}" )
-      add_flag ( CMAKE_CXX_FLAGS "${OpenMP_CXX_FLAGS}" )
-      list ( APPEND SERVICE_LIBS ${OpenMP_CXX_LIBRARIES} )
-      if( OpenMP_CXX_INCLUDE_DIRS )
-         include_directories( ${OpenMP_CXX_INCLUDE_DIRS} )
-      endif()
-   else()
-      message(FATAL_ERROR "Could NOT enable OpenMP")
-   endif()
+if(WALBERLA_BUILD_WITH_OPENMP)
+  if(APPLE
+     AND EXISTS /opt/local/lib/libomp
+     AND EXISTS /opt/local/include/libomp) # find libomp from MacPorts
+    set(CMAKE_FRAMEWORK_PATH /opt/local/lib/libomp)
+    set(CMAKE_INCLUDE_PATH /opt/local/include/libomp)
+  endif()
+  find_package(OpenMP)
+  if(OpenMP_FOUND)
+    add_flag(CMAKE_C_FLAGS "${OpenMP_C_FLAGS}")
+    add_flag(CMAKE_CXX_FLAGS "${OpenMP_CXX_FLAGS}")
+    list(APPEND SERVICE_LIBS ${OpenMP_CXX_LIBRARIES})
+    if(OpenMP_CXX_INCLUDE_DIRS)
+      include_directories(${OpenMP_CXX_INCLUDE_DIRS})
+    endif()
+  else()
+    message(FATAL_ERROR "Could NOT enable OpenMP")
+  endif()
 
-   # check for bug in combination with OpenMP and sign conversion https://bugs.llvm.org/show_bug.cgi?id=48387
-   try_compile( WALBERLA_CLANG_OPENMP_BUG "${CMAKE_CURRENT_BINARY_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}/cmake/TestClangOpenMPBug.cpp"
-             COMPILE_DEFINITIONS -Werror )
-   if( NOT ${WALBERLA_CLANG_OPENMP_BUG} )
-      message( WARNING "Setting -Wno-sign-conversion due to a compiler bug in LLVM (https://bugs.llvm.org/show_bug.cgi?id=48387)" )
-      add_flag( CMAKE_CXX_FLAGS "-Wno-sign-conversion" )
-   endif()
-endif()
\ No newline at end of file
+  # check for bug in combination with OpenMP and sign conversion
+  # https://bugs.llvm.org/show_bug.cgi?id=48387
+  try_compile(
+    WALBERLA_CLANG_OPENMP_BUG "${CMAKE_CURRENT_BINARY_DIR}"
+    "${CMAKE_CURRENT_SOURCE_DIR}/cmake/TestClangOpenMPBug.cpp"
+    COMPILE_DEFINITIONS -Werror)
+  if(NOT ${WALBERLA_CLANG_OPENMP_BUG})
+    message(
+      WARNING
+        "Setting -Wno-sign-conversion due to a compiler bug in LLVM (https://bugs.llvm.org/show_bug.cgi?id=48387)"
+    )
+    add_flag(CMAKE_CXX_FLAGS "-Wno-sign-conversion")
+  endif()
+endif()
diff --git a/cmake/compileroptions/Cray.cmake b/cmake/compileroptions/Cray.cmake
index 54613d141710ca95e84b0dd5405a4dff44030020..95b88979463b19e3cb2e8550b5564e4ebba4bdcf 100644
--- a/cmake/compileroptions/Cray.cmake
+++ b/cmake/compileroptions/Cray.cmake
@@ -1,27 +1,26 @@
 message(STATUS "Setting Cray specific compiler options")
 
 # Fixes linker errors with Cray compiler
-if( WALBERLA_CXX_COMPILER_IS_CRAY )
-   add_flag ( CMAKE_EXE_LINKER_FLAGS  "-dynamic -L/opt/gcc/4.9.3/snos/lib64" )
-endif()
+add_flag(CMAKE_EXE_LINKER_FLAGS "-dynamic -L/opt/gcc/4.9.3/snos/lib64")
 
 # Silences compiler and linker warnings and information with the Cray compiler
-if( WALBERLA_CXX_COMPILER_IS_CRAY )
-   set( CMAKE_INCLUDE_SYSTEM_FLAG_CXX "-isystem " )
-   add_flag ( CMAKE_CXX_FLAGS "-h nomessage=1" )      # CC-1    The source file does not end with a new-line character.
-   add_flag ( CMAKE_C_FLAGS   "-DSQLITE_HAVE_ISNAN" ) # SQLite will not work correctly with the -ffast-math option of GCC.
-   add_flag ( CMAKE_CXX_FLAGS "-DSQLITE_HAVE_ISNAN" ) # SQLite will not work correctly with the -ffast-math option of GCC.
-endif()
+set(CMAKE_INCLUDE_SYSTEM_FLAG_CXX "-isystem ")
+add_flag(CMAKE_CXX_FLAGS "-h nomessage=1") # CC-1    The source file does not
+                                           # end with a new-line character.
+add_flag(CMAKE_C_FLAGS "-DSQLITE_HAVE_ISNAN") # SQLite will not work correctly
+                                              # with the -ffast-math option of
+                                              # GCC.
+add_flag(CMAKE_CXX_FLAGS "-DSQLITE_HAVE_ISNAN") # SQLite will not work correctly
+                                                # with the -ffast-math option of
+                                                # GCC.
 
-
-if ( NOT WALBERLA_BUILD_WITH_OPENMP )
-    if ( WALBERLA_CXX_COMPILER_IS_CRAY )
-        add_flag ( CMAKE_C_FLAGS   "-h noomp" )
-        add_flag ( CMAKE_CXX_FLAGS "-h noomp" )
-    endif()
+if(NOT WALBERLA_BUILD_WITH_OPENMP)
+  add_flag(CMAKE_C_FLAGS "-h noomp")
+  add_flag(CMAKE_CXX_FLAGS "-h noomp")
 endif()
 
-# Treat warnings as errors leaving it since it is not supported by COMPILE_WARNING_AS_ERROR (cmake 3.24)
-if ( WARNING_ERROR )
-      add_flag ( CMAKE_CXX_FLAGS "-h error_on_warning" )
-endif ( )
\ No newline at end of file
+# Treat warnings as errors leaving it since it is not supported by
+# COMPILE_WARNING_AS_ERROR (cmake 3.24)
+if(WARNING_ERROR)
+  add_flag(CMAKE_CXX_FLAGS "-h error_on_warning")
+endif()
diff --git a/cmake/compileroptions/FujitsuClang.cmake b/cmake/compileroptions/FujitsuClang.cmake
index f710b9a34c605ca0c44d02b3b34a953d652a798c..0d7f9282feafa4e3c779af867dcfeba4372ec5e1 100644
--- a/cmake/compileroptions/FujitsuClang.cmake
+++ b/cmake/compileroptions/FujitsuClang.cmake
@@ -1,26 +1,40 @@
 message(STATUS "Setting FujitsuClang specific compiler options")
 
-add_flag ( CMAKE_CXX_FLAGS "-Wall -Wconversion -Wshadow -Wno-c++11-extensions -Qunused-arguments" )
+add_flag(CMAKE_CXX_FLAGS
+         "-Wall -Wconversion -Wshadow -Wno-c++11-extensions -Qunused-arguments")
 
-set( CMAKE_C_FLAGS_DEBUGOPTIMIZED   "${CMAKE_C_FLAGS_DEBUGOPTIMIZED} -O3" )
-set( CMAKE_CXX_FLAGS_DEBUGOPTIMIZED "${CMAKE_CXX_FLAGS_DEBUGOPTIMIZED} -O3" )
+set(CMAKE_C_FLAGS_DEBUGOPTIMIZED "${CMAKE_C_FLAGS_DEBUGOPTIMIZED} -O3")
+set(CMAKE_CXX_FLAGS_DEBUGOPTIMIZED "${CMAKE_CXX_FLAGS_DEBUGOPTIMIZED} -O3")
 
-if ( WALBERLA_BUILD_WITH_LIKWID_MARKERS )
-    find_library( LIKWID_LIB likwid HINTS $ENV{LIKWID_LIBDIR} $ENV{LIKWID_ROOT}/lib )
-    find_path( LIKWID_INCLUDE_DIR likwid.h HINTS $ENV{LIKWID_INCDIR} $ENV{LIKWID_ROOT}/include )
+if(WALBERLA_BUILD_WITH_LIKWID_MARKERS)
+  find_library(LIKWID_LIB likwid HINTS $ENV{LIKWID_LIBDIR}
+                                       $ENV{LIKWID_ROOT}/lib)
+  find_path(LIKWID_INCLUDE_DIR likwid.h HINTS $ENV{LIKWID_INCDIR}
+                                              $ENV{LIKWID_ROOT}/include)
 
-    # For some reason, these turned out to be necessary when building with likwid on Fugaku
-     find_library( LIKWIDLUA_LIB NAMES likwid-lua HINTS $ENV{LIKWID_LIBDIR} $ENV{LIKWID_ROOT}/lib )
-     find_library( LIKWIDHWLOC_LIB NAMES likwid-hwloc HINTS $ENV{LIKWID_LIBDIR} $ENV{LIKWID_ROOT}/lib )
+  # For some reason, these turned out to be necessary when building with likwid
+  # on Fugaku
+  find_library(
+    LIKWIDLUA_LIB
+    NAMES likwid-lua
+    HINTS $ENV{LIKWID_LIBDIR} $ENV{LIKWID_ROOT}/lib)
+  find_library(
+    LIKWIDHWLOC_LIB
+    NAMES likwid-hwloc
+    HINTS $ENV{LIKWID_LIBDIR} $ENV{LIKWID_ROOT}/lib)
 
-    if ( LIKWID_LIB AND LIKWID_INCLUDE_DIR)
-        set( LIKWID_FOUND 1 )
-        include_directories( ${LIKWID_INCLUDE_DIR})
-        add_definitions ( "-DLIKWID_PERFMON" )
-        list ( APPEND SERVICE_LIBS ${LIKWID_LIB} )
-            list ( APPEND SERVICE_LIBS ${LIKWIDLUA_LIB} ${LIKWIDHWLOC_LIB} )
-    else()
-        message(WARNING "likwid marker library not found. Set environment variable LIKWID_ROOT")
-        set ( WALBERLA_BUILD_WITH_LIKWID_MARKERS OFF CACHE BOOL "Compile in markers for likwid-perfctr" FORCE )
-    endif()
-endif()
\ No newline at end of file
+  if(LIKWID_LIB AND LIKWID_INCLUDE_DIR)
+    set(LIKWID_FOUND 1)
+    include_directories(${LIKWID_INCLUDE_DIR})
+    add_definitions("-DLIKWID_PERFMON")
+    list(APPEND SERVICE_LIBS ${LIKWID_LIB})
+    list(APPEND SERVICE_LIBS ${LIKWIDLUA_LIB} ${LIKWIDHWLOC_LIB})
+  else()
+    message(
+      WARNING
+        "likwid marker library not found. Set environment variable LIKWID_ROOT")
+    set(WALBERLA_BUILD_WITH_LIKWID_MARKERS
+        OFF
+        CACHE BOOL "Compile in markers for likwid-perfctr" FORCE)
+  endif()
+endif()
diff --git a/cmake/compileroptions/GNU.cmake b/cmake/compileroptions/GNU.cmake
index f991232943170dfe4719353e15492e85c4c66991..b9839cf450d17037458f9440d6ffb7cdce2111cd 100644
--- a/cmake/compileroptions/GNU.cmake
+++ b/cmake/compileroptions/GNU.cmake
@@ -1,101 +1,109 @@
 message(STATUS "Setting GNU specific compiler options")
 
-if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 8)
-   message(FATAL_ERROR "GCC version must be at least 8!")
+if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 8)
+  message(FATAL_ERROR "GCC version must be at least 8!")
 endif()
 
 # Profile guided optimization
-if ( WALBERLA_PROFILE_GENERATE )
-   add_flag( CMAKE_CXX_FLAGS "-fprofile-generate" )
+if(WALBERLA_PROFILE_GENERATE)
+  add_flag(CMAKE_CXX_FLAGS "-fprofile-generate")
 endif()
-if ( WALBERLA_PROFILE_USE )
-   add_flag( CMAKE_CXX_FLAGS "-fprofile-use" )
+if(WALBERLA_PROFILE_USE)
+  add_flag(CMAKE_CXX_FLAGS "-fprofile-use")
 endif()
 
-
 # common flags for g++
-if ( NOT WARNING_DISABLE )
-   add_flag ( CMAKE_CXX_FLAGS "-Wall -Wconversion -Wshadow" )
+if(NOT WARNING_DISABLE)
+  add_flag(CMAKE_CXX_FLAGS "-Wall -Wconversion -Wshadow")
 endif()
 
 # architecture optimization
-if( WALBERLA_OPTIMIZE_FOR_LOCALHOST )
-   add_flag ( CMAKE_CXX_FLAGS "-march=native" )
+if(WALBERLA_OPTIMIZE_FOR_LOCALHOST)
+  add_flag(CMAKE_CXX_FLAGS "-march=native")
 endif()
 
-if( EXISTS "/proc/sys/abi/sve_default_vector_length" )
-   file( READ "/proc/sys/abi/sve_default_vector_length" SVE_LENGTH_BYTES )
-   string(STRIP "${SVE_LENGTH_BYTES}" SVE_LENGTH_BYTES)
-   math(EXPR SVE_LENGTH "${SVE_LENGTH_BYTES} * 8")
-   add_flag ( CMAKE_CXX_FLAGS "-msve-vector-bits=${SVE_LENGTH}" )
-   add_flag ( CMAKE_C_FLAGS   "-msve-vector-bits=${SVE_LENGTH}" )
+if(EXISTS "/proc/sys/abi/sve_default_vector_length")
+  file(READ "/proc/sys/abi/sve_default_vector_length" SVE_LENGTH_BYTES)
+  string(STRIP "${SVE_LENGTH_BYTES}" SVE_LENGTH_BYTES)
+  math(EXPR SVE_LENGTH "${SVE_LENGTH_BYTES} * 8")
+  add_flag(CMAKE_CXX_FLAGS "-msve-vector-bits=${SVE_LENGTH}")
+  add_flag(CMAKE_C_FLAGS "-msve-vector-bits=${SVE_LENGTH}")
 endif()
 
 # Warning flags
-add_flag ( CMAKE_CXX_FLAGS "-Wfloat-equal -Wextra" )
-
-if ( WARNING_PEDANTIC )
-   add_flag ( CMAKE_CXX_FLAGS "-pedantic" )
-endif ( )
+add_flag(CMAKE_CXX_FLAGS "-Wfloat-equal -Wextra")
 
- # omit deprecated warnings
-if( NOT WARNING_DEPRECATED)
-       add_flag ( CMAKE_CXX_FLAGS "-Wno-deprecated-declarations")
-   endif()
+if(WARNING_PEDANTIC)
+  add_flag(CMAKE_CXX_FLAGS "-pedantic")
+endif()
 
-if ( WALBERLA_STL_BOUNDS_CHECKS )
-   add_definitions ( "-D_GLIBCXX_DEBUG" )
-   add_definitions ( "-D_LIBCPP_DEBUG=1" )
+# omit deprecated warnings
+if(NOT WARNING_DEPRECATED)
+  add_flag(CMAKE_CXX_FLAGS "-Wno-deprecated-declarations")
 endif()
 
-if( CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL "12.0" )
-   # Omit maybe-uninitialized for gcc 12 for now. Check if it is a bug or a real problem:
-   add_flag( CMAKE_CXX_FLAGS "-Wno-maybe-uninitialized" )
-   # GCC 12 reports a "array bounds" warning at UniformBufferedScheme.h:297 (error: array subscript 26 is above array bounds of)
-   # when e.g. compiling the GhostLayerCommTest.
-   # Since this is most probably a bug in GCC disable the warning for now
-   add_flag( CMAKE_CXX_FLAGS "-Wno-array-bounds" )
+if(WALBERLA_STL_BOUNDS_CHECKS)
+  add_definitions("-D_GLIBCXX_DEBUG")
+  add_definitions("-D_LIBCPP_DEBUG=1")
 endif()
 
-if ( WALBERLA_BUILD_WITH_FASTMATH )
-   add_flag( CMAKE_CXX_FLAGS "-ffast-math")
+if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL "12.0")
+  # Omit maybe-uninitialized for gcc 12 for now. Check if it is a bug or a real
+  # problem:
+  add_flag(CMAKE_CXX_FLAGS "-Wno-maybe-uninitialized")
+  # GCC 12 reports a "array bounds" warning at UniformBufferedScheme.h:297
+  # (error: array subscript 26 is above array bounds of) when e.g. compiling the
+  # GhostLayerCommTest. Since this is most probably a bug in GCC disable the
+  # warning for now
+  add_flag(CMAKE_CXX_FLAGS "-Wno-array-bounds")
 endif()
 
-if (NOT WIN32)
-find_package ( Backtrace QUIET )
-if ( Backtrace_FOUND )
-   list ( APPEND SERVICE_LIBS ${Backtrace_LIBRARIES} )
-   set ( WALBERLA_BUILD_WITH_BACKTRACE ON )
-   set ( WALBERLA_BACKTRACE_HEADER ${Backtrace_HEADER} )
-endif ( Backtrace_FOUND )
+if(WALBERLA_BUILD_WITH_FASTMATH)
+  add_flag(CMAKE_CXX_FLAGS "-ffast-math")
 endif()
 
-set( CMAKE_C_FLAGS_DEBUGOPTIMIZED   "${CMAKE_C_FLAGS_DEBUGOPTIMIZED} -O3" )
-set( CMAKE_CXX_FLAGS_DEBUGOPTIMIZED "${CMAKE_CXX_FLAGS_DEBUGOPTIMIZED} -O3" )
+if(NOT WIN32)
+  find_package(Backtrace QUIET)
+  if(Backtrace_FOUND)
+    list(APPEND SERVICE_LIBS ${Backtrace_LIBRARIES})
+    set(WALBERLA_BUILD_WITH_BACKTRACE ON)
+    set(WALBERLA_BACKTRACE_HEADER ${Backtrace_HEADER})
+  endif(Backtrace_FOUND)
+endif()
 
-# old nvcc compilers and newer stdlibc++ are incompatible. This needs to be checked!
-if (WALBERLA_STL_BOUNDS_CHECKS AND WALBERLA_BUILD_WITH_CODEGEN AND WALBERLA_BUILD_WITH_CUDA AND CMAKE_CUDA_COMPILER_VERSION VERSION_LESS "11.0" AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS "9.0")
-   message(FATAL_ERROR "WALBERLA_STL_BOUNDS_CHECKS is not compatible with your CUDA compiler")
+set(CMAKE_C_FLAGS_DEBUGOPTIMIZED "${CMAKE_C_FLAGS_DEBUGOPTIMIZED} -O3")
+set(CMAKE_CXX_FLAGS_DEBUGOPTIMIZED "${CMAKE_CXX_FLAGS_DEBUGOPTIMIZED} -O3")
+
+# old nvcc compilers and newer stdlibc++ are incompatible. This needs to be
+# checked!
+if(WALBERLA_STL_BOUNDS_CHECKS
+   AND WALBERLA_BUILD_WITH_CODEGEN
+   AND WALBERLA_BUILD_WITH_CUDA
+   AND CMAKE_CUDA_COMPILER_VERSION VERSION_LESS "11.0"
+   AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS "9.0")
+  message(
+    FATAL_ERROR
+      "WALBERLA_STL_BOUNDS_CHECKS is not compatible with your CUDA compiler")
 endif()
 
-if ( WALBERLA_BUILD_WITH_GPROF )
-   add_flag ( CMAKE_CXX_FLAGS        "-pg" )
+if(WALBERLA_BUILD_WITH_GPROF)
+  add_flag(CMAKE_CXX_FLAGS "-pg")
 endif()
 
-if ( WALBERLA_SANITIZE_ADDRESS )
-   add_flag( CMAKE_CXX_FLAGS "-fsanitize=address")
+if(WALBERLA_SANITIZE_ADDRESS)
+  add_flag(CMAKE_CXX_FLAGS "-fsanitize=address")
 endif()
 
-if ( WALBERLA_SANITIZE_UNDEFINED )
-   add_flag( CMAKE_CXX_FLAGS "-fsanitize=undefined")
+if(WALBERLA_SANITIZE_UNDEFINED)
+  add_flag(CMAKE_CXX_FLAGS "-fsanitize=undefined")
 endif()
 
-############################################################################################################################
-##
-##  Testing Coverage
-##
-############################################################################################################################
-if (WALBERLA_BUILD_WITH_GCOV AND CMAKE_COMPILER_IS_GNUCXX  )
-    add_flag ( CMAKE_CXX_FLAGS "--coverage" )
+# ##############################################################################
+#
+# Testing Coverage
+#
+# ##############################################################################
+if(WALBERLA_BUILD_WITH_GCOV AND CMAKE_COMPILER_IS_GNUCXX)
+  add_flag(CMAKE_CXX_FLAGS "--coverage")
 endif()
-############################################################################################################################
\ No newline at end of file
+# ##############################################################################
diff --git a/cmake/compileroptions/IBM.cmake b/cmake/compileroptions/IBM.cmake
index eb9e3bce5362bfb1939260b42b0506e3367dc01b..ca76321c31b16b673f035ee5f9de028daae1ed79 100644
--- a/cmake/compileroptions/IBM.cmake
+++ b/cmake/compileroptions/IBM.cmake
@@ -1,18 +1,20 @@
 message(STATUS "Setting IBM specific compiler options")
 
-if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 17.1.1)
-   message(FATAL_ERROR "IBM compiler version must be at least 17.1.1!")
+if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 17.1.1)
+  message(FATAL_ERROR "IBM compiler version must be at least 17.1.1!")
 endif()
 
 # Fixes linker errors with IBM compiler
-if( WALBERLA_CXX_COMPILER_IS_IBM )
-   add_flag ( CMAKE_CXX_FLAGS "-qpic=large" )
-endif()
+add_flag(CMAKE_CXX_FLAGS "-qpic=large")
 
 # Silences compiler and linker warnings and information with the IBM compiler
-if( WALBERLA_CXX_COMPILER_IS_IBM )
-   add_flag ( CMAKE_CXX_FLAGS "-qsuppress=1586-267" )  # 1586-267 (I) Inlining of specified subprogram failed due to the presence of a C++ exception handler
-   add_flag ( CMAKE_CXX_FLAGS "-qsuppress=1586-266" )  # 1586-266 (I) Inlining of specified subprogram failed due to the presence of a global label
-   add_flag ( CMAKE_CXX_FLAGS "-qsuppress=1500-030" )  # 1500-030: (I) INFORMATION: [...] Additional optimization may be attained by recompiling and specifying MAXMEM option with a value greater than 8192.
-   add_flag ( CMAKE_C_FLAGS "-qsuppress=1500-030" )    # 1500-030: (I) INFORMATION: [...] Additional optimization may be attained by recompiling and specifying MAXMEM option with a value greater than 8192.
-endif()
\ No newline at end of file
+add_flag(CMAKE_CXX_FLAGS "-qsuppress=1586-267") # 1586-267 (I) Inlining of
+# specified subprogram failed due to the presence of a C++ exception handler
+add_flag(CMAKE_CXX_FLAGS "-qsuppress=1586-266") # 1586-266 (I) Inlining of
+# specified subprogram failed due to the presence of a global label
+add_flag(CMAKE_CXX_FLAGS "-qsuppress=1500-030") # 1500-030: (I) INFORMATION:
+# [...] Additional optimization may be attained by recompiling and specifying
+# MAXMEM option with a value greater than 8192.
+add_flag(CMAKE_C_FLAGS "-qsuppress=1500-030") # 1500-030: (I) INFORMATION:
+# [...] Additional optimization may be attained by recompiling and specifying
+# MAXMEM option with a value greater than 8192.
diff --git a/cmake/compileroptions/Intel.cmake b/cmake/compileroptions/Intel.cmake
index b47d31b49eb91dacea1224e17c048f1bb47f4fd0..f8ca96287408c0cedf6159914503ec520cc2980a 100644
--- a/cmake/compileroptions/Intel.cmake
+++ b/cmake/compileroptions/Intel.cmake
@@ -1,72 +1,72 @@
 message(STATUS "Setting Intel specific compiler options")
 
-if ( WALBERLA_PROFILE_GENERATE )
-   add_flag( CMAKE_CXX_FLAGS "-prof-gen" )
-   file( MAKE_DIRECTORY "${CMAKE_BINARY_DIR}/profile" )
-   add_flag( CMAKE_CXX_FLAGS "-prof-dir${CMAKE_BINARY_DIR}/profile" )
+if(WALBERLA_PROFILE_GENERATE)
+  add_flag(CMAKE_CXX_FLAGS "-prof-gen")
+  file(MAKE_DIRECTORY "${CMAKE_BINARY_DIR}/profile")
+  add_flag(CMAKE_CXX_FLAGS "-prof-dir${CMAKE_BINARY_DIR}/profile")
 endif()
 
-if ( WALBERLA_PROFILE_USE )
-   add_flag( CMAKE_CXX_FLAGS "-prof-use" )
-   add_flag( CMAKE_CXX_FLAGS "-prof-dir${CMAKE_BINARY_DIR}/profile" )
+if(WALBERLA_PROFILE_USE)
+  add_flag(CMAKE_CXX_FLAGS "-prof-use")
+  add_flag(CMAKE_CXX_FLAGS "-prof-dir${CMAKE_BINARY_DIR}/profile")
 endif()
 
 # common flags for intel and g++
-if ( NOT WARNING_DISABLE )
-   add_flag ( CMAKE_CXX_FLAGS "-Wall -Wconversion -Wshadow" )
+if(NOT WARNING_DISABLE)
+  add_flag(CMAKE_CXX_FLAGS "-Wall -Wconversion -Wshadow")
 endif()
 
 # architecture optimization
-if( WALBERLA_OPTIMIZE_FOR_LOCALHOST )
-   add_flag ( CMAKE_CXX_FLAGS "-march=native" )
-   add_flag ( CMAKE_C_FLAGS   "-march=native" )
+if(WALBERLA_OPTIMIZE_FOR_LOCALHOST)
+  add_flag(CMAKE_CXX_FLAGS "-march=native")
+  add_flag(CMAKE_C_FLAGS "-march=native")
 
-   add_flag ( CMAKE_CXX_FLAGS "-xhost" )
-   add_flag ( CMAKE_C_FLAGS   "-xhost" )
+  add_flag(CMAKE_CXX_FLAGS "-xhost")
+  add_flag(CMAKE_C_FLAGS "-xhost")
 
-   if( EXISTS "/proc/sys/abi/sve_default_vector_length" )
-      file( READ "/proc/sys/abi/sve_default_vector_length" SVE_LENGTH_BYTES )
-      string(STRIP "${SVE_LENGTH_BYTES}" SVE_LENGTH_BYTES)
-      math(EXPR SVE_LENGTH "${SVE_LENGTH_BYTES} * 8")
-      add_flag ( CMAKE_CXX_FLAGS "-msve-vector-bits=${SVE_LENGTH}" )
-      add_flag ( CMAKE_C_FLAGS   "-msve-vector-bits=${SVE_LENGTH}" )
-   endif()
+  if(EXISTS "/proc/sys/abi/sve_default_vector_length")
+    file(READ "/proc/sys/abi/sve_default_vector_length" SVE_LENGTH_BYTES)
+    string(STRIP "${SVE_LENGTH_BYTES}" SVE_LENGTH_BYTES)
+    math(EXPR SVE_LENGTH "${SVE_LENGTH_BYTES} * 8")
+    add_flag(CMAKE_CXX_FLAGS "-msve-vector-bits=${SVE_LENGTH}")
+    add_flag(CMAKE_C_FLAGS "-msve-vector-bits=${SVE_LENGTH}")
+  endif()
 endif()
 
 # system headers are also supported by intel, but cmake does not recognize that
-set( CMAKE_INCLUDE_SYSTEM_FLAG_CXX "-isystem " )
-add_flag ( CMAKE_CXX_FLAGS "-wd2928,2504,2259,1682,597" )
+set(CMAKE_INCLUDE_SYSTEM_FLAG_CXX "-isystem ")
+add_flag(CMAKE_CXX_FLAGS "-wd2928,2504,2259,1682,597")
 # disable icc/icpc deprecation warning
-add_flag ( CMAKE_CXX_FLAGS "-diag-disable=10441" )
+add_flag(CMAKE_CXX_FLAGS "-diag-disable=10441")
 
 # omit deprecated warnings
-if( NOT WARNING_DEPRECATED)
-   add_flag( CMAKE_CXX_FLAGS "-wd1478" )  # Disable compiler warning # 1478: "declared as deprecated"
+if(NOT WARNING_DEPRECATED)
+  add_flag(CMAKE_CXX_FLAGS "-wd1478") # Disable compiler warning # 1478:
+                                      # "declared as deprecated"
 endif()
 
-
-if ( WALBERLA_STL_BOUNDS_CHECKS )
-   add_definitions ( "-D_GLIBCXX_DEBUG" )
-   add_definitions ( "-D_LIBCPP_DEBUG=1" )
+if(WALBERLA_STL_BOUNDS_CHECKS)
+  add_definitions("-D_GLIBCXX_DEBUG")
+  add_definitions("-D_LIBCPP_DEBUG=1")
 endif()
 
-if ( WALBERLA_BUILD_WITH_FASTMATH )
-   add_flag( CMAKE_CXX_FLAGS "-fp-model fast=2 -no-prec-sqrt -no-prec-div" )
+if(WALBERLA_BUILD_WITH_FASTMATH)
+  add_flag(CMAKE_CXX_FLAGS "-fp-model fast=2 -no-prec-sqrt -no-prec-div")
 endif()
 
-if ( NOT WIN32 )
-   find_package ( Backtrace QUIET )
-   if ( Backtrace_FOUND )
-      list ( APPEND SERVICE_LIBS ${Backtrace_LIBRARIES} )
-      set ( WALBERLA_BUILD_WITH_BACKTRACE ON )
-      set ( WALBERLA_BACKTRACE_HEADER ${Backtrace_HEADER} )
-   endif ( Backtrace_FOUND )
+if(NOT WIN32)
+  find_package(Backtrace QUIET)
+  if(Backtrace_FOUND)
+    list(APPEND SERVICE_LIBS ${Backtrace_LIBRARIES})
+    set(WALBERLA_BUILD_WITH_BACKTRACE ON)
+    set(WALBERLA_BACKTRACE_HEADER ${Backtrace_HEADER})
+  endif(Backtrace_FOUND)
 endif()
 
-   set( CMAKE_C_FLAGS_DEBUGOPTIMIZED   "${CMAKE_C_FLAGS_DEBUGOPTIMIZED} -O3" )
-   set( CMAKE_CXX_FLAGS_DEBUGOPTIMIZED "${CMAKE_CXX_FLAGS_DEBUGOPTIMIZED} -O3" )
+set(CMAKE_C_FLAGS_DEBUGOPTIMIZED "${CMAKE_C_FLAGS_DEBUGOPTIMIZED} -O3")
+set(CMAKE_CXX_FLAGS_DEBUGOPTIMIZED "${CMAKE_CXX_FLAGS_DEBUGOPTIMIZED} -O3")
 
-if ( WALBERLA_BUILD_WITH_GPROF )
-        add_flag ( CMAKE_CXX_FLAGS        "-pg" )
-        add_flag ( CMAKE_EXE_LINKER_FLAGS "-pg" )
-endif()
\ No newline at end of file
+if(WALBERLA_BUILD_WITH_GPROF)
+  add_flag(CMAKE_CXX_FLAGS "-pg")
+  add_flag(CMAKE_EXE_LINKER_FLAGS "-pg")
+endif()
diff --git a/cmake/compileroptions/IntelLLVM.cmake b/cmake/compileroptions/IntelLLVM.cmake
index 4fb4783aa3b0ce727893ec315fa6efbf4cc66fc2..82bdd400c63f21342dd57eca18de1d4bee027fdc 100644
--- a/cmake/compileroptions/IntelLLVM.cmake
+++ b/cmake/compileroptions/IntelLLVM.cmake
@@ -1,35 +1,43 @@
 message(STATUS "Setting IntelLLVM specific compiler options")
 
-#fastmath
-if ( NOT WALBERLA_BUILD_WITH_FASTMATH )
-   add_flag( CMAKE_CXX_FLAGS "-fp-model=precise")
+# fastmath
+if(NOT WALBERLA_BUILD_WITH_FASTMATH)
+  add_flag(CMAKE_CXX_FLAGS "-fp-model=precise")
 endif()
 
-set( CMAKE_C_FLAGS_DEBUGOPTIMIZED   "${CMAKE_C_FLAGS_DEBUGOPTIMIZED} -O3" )
-set( CMAKE_CXX_FLAGS_DEBUGOPTIMIZED "${CMAKE_CXX_FLAGS_DEBUGOPTIMIZED} -O3" )
+set(CMAKE_C_FLAGS_DEBUGOPTIMIZED "${CMAKE_C_FLAGS_DEBUGOPTIMIZED} -O3")
+set(CMAKE_CXX_FLAGS_DEBUGOPTIMIZED "${CMAKE_CXX_FLAGS_DEBUGOPTIMIZED} -O3")
 
-if ( WALBERLA_BUILD_WITH_OPENMP )
-    if( APPLE AND EXISTS /opt/local/lib/libomp AND EXISTS /opt/local/include/libomp ) # find libomp from MacPorts
-        set( CMAKE_FRAMEWORK_PATH /opt/local/lib/libomp )
-        set( CMAKE_INCLUDE_PATH /opt/local/include/libomp )
-    endif()
-    find_package( OpenMP )
-    if (OpenMP_FOUND)
-        add_flag ( CMAKE_C_FLAGS   "${OpenMP_C_FLAGS}" )
-        add_flag ( CMAKE_CXX_FLAGS "${OpenMP_CXX_FLAGS}" )
-        list ( APPEND SERVICE_LIBS ${OpenMP_CXX_LIBRARIES} )
-        if( OpenMP_CXX_INCLUDE_DIRS )
-            include_directories( ${OpenMP_CXX_INCLUDE_DIRS} )
-        endif()
-    else()
-         message(FATAL_ERROR "Could NOT enable OpenMP")
+if(WALBERLA_BUILD_WITH_OPENMP)
+  if(APPLE
+     AND EXISTS /opt/local/lib/libomp
+     AND EXISTS /opt/local/include/libomp) # find libomp from MacPorts
+    set(CMAKE_FRAMEWORK_PATH /opt/local/lib/libomp)
+    set(CMAKE_INCLUDE_PATH /opt/local/include/libomp)
+  endif()
+  find_package(OpenMP)
+  if(OpenMP_FOUND)
+    add_flag(CMAKE_C_FLAGS "${OpenMP_C_FLAGS}")
+    add_flag(CMAKE_CXX_FLAGS "${OpenMP_CXX_FLAGS}")
+    list(APPEND SERVICE_LIBS ${OpenMP_CXX_LIBRARIES})
+    if(OpenMP_CXX_INCLUDE_DIRS)
+      include_directories(${OpenMP_CXX_INCLUDE_DIRS})
     endif()
+  else()
+    message(FATAL_ERROR "Could NOT enable OpenMP")
+  endif()
 
-       # check for bug in combination with OpenMP and sign conversion https://bugs.llvm.org/show_bug.cgi?id=48387
-       try_compile( WALBERLA_CLANG_OPENMP_BUG "${CMAKE_CURRENT_BINARY_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}/cmake/TestClangOpenMPBug.cpp"
-             COMPILE_DEFINITIONS -Werror )
-       if( NOT ${WALBERLA_CLANG_OPENMP_BUG} )
-          message( WARNING "Setting -Wno-sign-conversion due to a compiler bug in LLVM (https://bugs.llvm.org/show_bug.cgi?id=48387)" )
-          add_flag( CMAKE_CXX_FLAGS "-Wno-sign-conversion" )
-       endif()
-endif()
\ No newline at end of file
+  # check for bug in combination with OpenMP and sign conversion
+  # https://bugs.llvm.org/show_bug.cgi?id=48387
+  try_compile(
+    WALBERLA_CLANG_OPENMP_BUG "${CMAKE_CURRENT_BINARY_DIR}"
+    "${CMAKE_CURRENT_SOURCE_DIR}/cmake/TestClangOpenMPBug.cpp"
+    COMPILE_DEFINITIONS -Werror)
+  if(NOT ${WALBERLA_CLANG_OPENMP_BUG})
+    message(
+      WARNING
+        "Setting -Wno-sign-conversion due to a compiler bug in LLVM (https://bugs.llvm.org/show_bug.cgi?id=48387)"
+    )
+    add_flag(CMAKE_CXX_FLAGS "-Wno-sign-conversion")
+  endif()
+endif()
diff --git a/cmake/compileroptions/MSVC.cmake b/cmake/compileroptions/MSVC.cmake
index f904e8d1dad6d5569f05ab926e5cdfdba815b429..4bd400df5401d37623e66e61706b1a1919e59a0c 100644
--- a/cmake/compileroptions/MSVC.cmake
+++ b/cmake/compileroptions/MSVC.cmake
@@ -1,66 +1,84 @@
 message(STATUS "Setting MSVC specific compiler options")
 
-if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 19.11)
-   message(FATAL_ERROR "MSVC version must be at least 19.11!")
+if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 19.11)
+  message(FATAL_ERROR "MSVC version must be at least 19.11!")
 endif()
 
-if ( WALBERLA_PROFILE_GENERATE )
-   add_flag ( CMAKE_CXX_FLAGS           "/GL"                )
-   add_flag ( CMAKE_MODULE_LINKER_FLAGS "/LTCG:PGINSTRUMENT" )
-   add_flag ( CMAKE_SHARED_LINKER_FLAGS "/LTCG:PGINSTRUMENT" )
-   add_flag ( CMAKE_EXE_LINKER_FLAGS    "/LTCG:PGINSTRUMENT" )
+if(WALBERLA_PROFILE_GENERATE)
+  add_flag(CMAKE_CXX_FLAGS "/GL")
+  add_flag(CMAKE_MODULE_LINKER_FLAGS "/LTCG:PGINSTRUMENT")
+  add_flag(CMAKE_SHARED_LINKER_FLAGS "/LTCG:PGINSTRUMENT")
+  add_flag(CMAKE_EXE_LINKER_FLAGS "/LTCG:PGINSTRUMENT")
 endif()
 
-if ( WALBERLA_PROFILE_USE )
-   add_flag ( CMAKE_CXX_FLAGS           "/GL"              )
-   add_flag ( CMAKE_MODULE_LINKER_FLAGS "/LTCG:PGOPTIMIZE" )
-   add_flag ( CMAKE_SHARED_LINKER_FLAGS "/LTCG:PGOPTIMIZE" )
-   add_flag ( CMAKE_EXE_LINKER_FLAGS    "/LTCG:PGOPTIMIZE" )
+if(WALBERLA_PROFILE_USE)
+  add_flag(CMAKE_CXX_FLAGS "/GL")
+  add_flag(CMAKE_MODULE_LINKER_FLAGS "/LTCG:PGOPTIMIZE")
+  add_flag(CMAKE_SHARED_LINKER_FLAGS "/LTCG:PGOPTIMIZE")
+  add_flag(CMAKE_EXE_LINKER_FLAGS "/LTCG:PGOPTIMIZE")
 endif()
 
-if ( WALBERLA_BUILD_WITH_FASTMATH )
-   add_flag( CMAKE_CXX_FLAGS "/fp:fast" )
+if(WALBERLA_BUILD_WITH_FASTMATH)
+  add_flag(CMAKE_CXX_FLAGS "/fp:fast")
 endif()
 
-if ( WALBERLA_CXX_COMPILER_IS_MSVC )
-   string( REGEX REPLACE "[/-]W[0-4]" "" CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} ) # remove default warning flags
+string(REGEX REPLACE "[/-]W[0-4]" "" CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS}
+)# remove default warning flags
 
-   option ( WALBERLA_GROUP_PROJECTS   "Flag if the projects are grouped or in a flat hierarchy"    ON )
-   option ( WALBERLA_GROUP_FILES      "Flag if the files are grouped or in a flat hierarchy"       ON )
-   set_property ( GLOBAL PROPERTY USE_FOLDERS ${WALBERLA_GROUP_PROJECTS} )
+option(WALBERLA_GROUP_PROJECTS
+       "Flag if the projects are grouped or in a flat hierarchy" ON)
+option(WALBERLA_GROUP_FILES
+       "Flag if the files are grouped or in a flat hierarchy" ON)
+set_property(GLOBAL PROPERTY USE_FOLDERS ${WALBERLA_GROUP_PROJECTS})
 
-   option ( WALBERLA_VS_MULTI_PROCESS_BUILD "Use the /mp option for VS builds" ON )
-   if( WALBERLA_VS_MULTI_PROCESS_BUILD )
-      add_flag ( CMAKE_CXX_FLAGS "-MP" ) # enable multi-threaded compiling
-   endif()
-
-   add_definitions ( "-DNOMINMAX" )                # Disable Min/Max-Macros
-   add_definitions ( "-D_WIN32_WINNT=0x501" )      # Minimum Windows versions is Windows XP
-   add_definitions ( "-DWINVER=0x501" )            # Minimum Windows versions is Windows XP
-   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
-   add_flag ( CMAKE_CXX_FLAGS "-W4" )              # set warning level to maximum
-   add_flag ( CMAKE_CXX_FLAGS "-bigobj" )          # enable big object files
-   add_flag ( CMAKE_CXX_FLAGS "-wd4127" )          # disable compiler warning C4127: "conditional expression is constant"
-   add_flag ( CMAKE_CXX_FLAGS "-wd4512" )          # disable compiler warning C4512: "assignment operator could not be generated"
-   add_flag ( CMAKE_CXX_FLAGS "-wd4913" )          # disable compiler warning C4512: "user defined binary operator ',' exists but
-   # no overload could convert all operands, default built-in binary operator ','
-   # used"
-   add_flag ( CMAKE_CXX_FLAGS "-wd4702" )          # disable compiler warning C4702: "unreachable code"
-   add_flag ( CMAKE_CXX_FLAGS "-wd4505" )          # disable compiler warning C4505: "unreferenced local function has been removed"
-   add_flag ( CMAKE_CXX_FLAGS "-wd4503" )          # disable compiler warning C4503: "'identifier' : decorated name length exceeded, name was truncated"
+option(WALBERLA_VS_MULTI_PROCESS_BUILD "Use the /mp option for VS builds" ON)
+if(WALBERLA_VS_MULTI_PROCESS_BUILD)
+  add_flag(CMAKE_CXX_FLAGS "-MP") # enable multi-threaded compiling
+endif()
 
-   if( NOT WARNING_DEPRECATED)
-      add_definitions( "-D_CRT_SECURE_NO_DEPRECATE" )
-      add_definitions( "-D_SCL_SECURE_NO_DEPRECATE" )
-      add_flag       ( CMAKE_CXX_FLAGS "-wd4996"    ) # Disable compiler warning C4996: "declared as deprecated"
-   endif()
+add_definitions("-DNOMINMAX") # Disable Min/Max-Macros
+add_definitions("-D_WIN32_WINNT=0x501") # Minimum Windows versions is Windows XP
+add_definitions("-DWINVER=0x501") # Minimum Windows versions is Windows XP
+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
+add_flag(CMAKE_CXX_FLAGS "-W4") # set warning level to maximum
+add_flag(CMAKE_CXX_FLAGS "-bigobj") # enable big object files
+add_flag(CMAKE_CXX_FLAGS "-wd4127") # disable compiler warning C4127:
+                                    # "conditional expression is constant"
+add_flag(CMAKE_CXX_FLAGS "-wd4512") # disable compiler warning C4512:
+                                    # "assignment operator could not be
+                                    # generated"
+add_flag(CMAKE_CXX_FLAGS "-wd4913") # disable compiler warning C4512: "user
+                                    # defined binary operator ',' exists but
+# no overload could convert all operands, default built-in binary operator ','
+# used"
+add_flag(CMAKE_CXX_FLAGS "-wd4702") # disable compiler warning C4702:
+                                    # "unreachable code"
+add_flag(CMAKE_CXX_FLAGS "-wd4505") # disable compiler warning C4505:
+                                    # "unreferenced local function has been
+                                    # removed"
+add_flag(CMAKE_CXX_FLAGS "-wd4503") # disable compiler warning C4503:
+                                    # "'identifier' : decorated name length
+                                    # exceeded, name was truncated"
 
-endif ( )
+if(NOT WARNING_DEPRECATED)
+  add_definitions("-D_CRT_SECURE_NO_DEPRECATE")
+  add_definitions("-D_SCL_SECURE_NO_DEPRECATE")
+  add_flag(CMAKE_CXX_FLAGS "-wd4996") # Disable compiler warning C4996:
+                                      # "declared as deprecated"
+endif()
 
-string(REPLACE "/Od" "/O2"   CMAKE_C_FLAGS_DEBUGOPTIMIZED   ${CMAKE_C_FLAGS_DEBUGOPTIMIZED})
-string(REPLACE "/Ob0" "/Ob2" CMAKE_C_FLAGS_DEBUGOPTIMIZED   ${CMAKE_C_FLAGS_DEBUGOPTIMIZED})
-string(REPLACE "/RTC1" ""    CMAKE_C_FLAGS_DEBUGOPTIMIZED   ${CMAKE_C_FLAGS_DEBUGOPTIMIZED})
-string(REPLACE "/Od" "/O2"   CMAKE_CXX_FLAGS_DEBUGOPTIMIZED ${CMAKE_CXX_FLAGS_DEBUGOPTIMIZED})
-string(REPLACE "/Ob0" "/Ob2" CMAKE_CXX_FLAGS_DEBUGOPTIMIZED ${CMAKE_CXX_FLAGS_DEBUGOPTIMIZED})
-string(REPLACE "/RTC1" ""    CMAKE_CXX_FLAGS_DEBUGOPTIMIZED ${CMAKE_CXX_FLAGS_DEBUGOPTIMIZED})
+string(REPLACE "/Od" "/O2" CMAKE_C_FLAGS_DEBUGOPTIMIZED
+               ${CMAKE_C_FLAGS_DEBUGOPTIMIZED})
+string(REPLACE "/Ob0" "/Ob2" CMAKE_C_FLAGS_DEBUGOPTIMIZED
+               ${CMAKE_C_FLAGS_DEBUGOPTIMIZED})
+string(REPLACE "/RTC1" "" CMAKE_C_FLAGS_DEBUGOPTIMIZED
+               ${CMAKE_C_FLAGS_DEBUGOPTIMIZED})
+string(REPLACE "/Od" "/O2" CMAKE_CXX_FLAGS_DEBUGOPTIMIZED
+               ${CMAKE_CXX_FLAGS_DEBUGOPTIMIZED})
+string(REPLACE "/Ob0" "/Ob2" CMAKE_CXX_FLAGS_DEBUGOPTIMIZED
+               ${CMAKE_CXX_FLAGS_DEBUGOPTIMIZED})
+string(REPLACE "/RTC1" "" CMAKE_CXX_FLAGS_DEBUGOPTIMIZED
+               ${CMAKE_CXX_FLAGS_DEBUGOPTIMIZED})
diff --git a/cmake/compileroptions/NEC.cmake b/cmake/compileroptions/NEC.cmake
index 17ec77e04d8b326d2dc478dc4c41bb61ad878e1e..0fff82a93c0849459199f30c9975a91d3c46bd1e 100644
--- a/cmake/compileroptions/NEC.cmake
+++ b/cmake/compileroptions/NEC.cmake
@@ -1,56 +1,81 @@
 message(STATUS "Setting NEC specific compiler options")
 
 # C++ language features for NEC compiler
-if( WALBERLA_CXX_COMPILER_IS_NEC )
-   set( CMAKE_CXX${CMAKE_CXX_STANDARD}_STANDARD_COMPILE_OPTION "-Kcpp${CMAKE_CXX_STANDARD}" )
-   set( CMAKE_TRY_COMPILE_PLATFORM_VARIABLES CMAKE_CXX${CMAKE_CXX_STANDARD}_STANDARD_COMPILE_OPTION )
-   add_flag ( CMAKE_CXX_FLAGS "${CMAKE_CXX${CMAKE_CXX_STANDARD}_STANDARD_COMPILE_OPTION} -Krtti -Kexceptions -size_t64 -Kgcc" )
-   add_flag ( CMAKE_CXX_FLAGS "-D__BIG_ENDIAN -D__BYTE_ORDER=__BIG_ENDIAN" )
-   add_flag ( CMAKE_CXX_FLAGS "-Tnoauto,used" )
-   add_flag ( CMAKE_EXE_LINKER_FLAGS "-Wl,-h,muldefs" )
-   add_flag ( CMAKE_C_FLAGS "-size_t64 -Kgcc" )
-   add_flag ( CMAKE_C_FLAGS "-D__BIG_ENDIAN -D__BYTE_ORDER=__BIG_ENDIAN" )
-   add_flag ( CMAKE_C_FLAGS "-DSQLITE_OMIT_WAL -DHAVE_UTIME -DTHREADSAFE=0" )
-   set( CMAKE_RANLIB /bin/true )
-   set( CMAKE_SKIP_BUILD_RPATH TRUE )
-   set( CMAKE_C_FLAGS_DEBUGOPTIMIZED    "-Chopt -g"                               )
-   set( CMAKE_C_FLAGS_DEBUG             "-Cdebug -g"                              )
-   set( CMAKE_CXX_FLAGS_DEBUGOPTIMIZED  "-Chopt -g"                               )
-   set( CMAKE_CXX_FLAGS_DEBUG           "-Cdebug -g"                              )
-endif()
-
-if( WALBERLA_CXX_COMPILER_IS_NEC )
-   add_flag ( CMAKE_CXX_FLAGS "-wall" )
-endif()
+set(CMAKE_CXX${CMAKE_CXX_STANDARD}_STANDARD_COMPILE_OPTION
+    "-Kcpp${CMAKE_CXX_STANDARD}")
+set(CMAKE_TRY_COMPILE_PLATFORM_VARIABLES
+    CMAKE_CXX${CMAKE_CXX_STANDARD}_STANDARD_COMPILE_OPTION)
+add_flag(
+  CMAKE_CXX_FLAGS
+  "${CMAKE_CXX${CMAKE_CXX_STANDARD}_STANDARD_COMPILE_OPTION} -Krtti -Kexceptions -size_t64 -Kgcc"
+)
+add_flag(CMAKE_CXX_FLAGS "-D__BIG_ENDIAN -D__BYTE_ORDER=__BIG_ENDIAN")
+add_flag(CMAKE_CXX_FLAGS "-Tnoauto,used")
+add_flag(CMAKE_EXE_LINKER_FLAGS "-Wl,-h,muldefs")
+add_flag(CMAKE_C_FLAGS "-size_t64 -Kgcc")
+add_flag(CMAKE_C_FLAGS "-D__BIG_ENDIAN -D__BYTE_ORDER=__BIG_ENDIAN")
+add_flag(CMAKE_C_FLAGS "-DSQLITE_OMIT_WAL -DHAVE_UTIME -DTHREADSAFE=0")
+set(CMAKE_RANLIB /bin/true)
+set(CMAKE_SKIP_BUILD_RPATH TRUE)
+set(CMAKE_C_FLAGS_DEBUGOPTIMIZED "-Chopt -g")
+set(CMAKE_C_FLAGS_DEBUG "-Cdebug -g")
+set(CMAKE_CXX_FLAGS_DEBUGOPTIMIZED "-Chopt -g")
+set(CMAKE_CXX_FLAGS_DEBUG "-Cdebug -g")
 
+add_flag(CMAKE_CXX_FLAGS "-wall")
 
-############################################################################################################################
+# ##############################################################################
 #
 # Fix compiler bugs
 #
-############################################################################################################################
+# ##############################################################################
 
 # The NEC SX has a few issues in its standard library headers
-if( WALBERLA_CXX_COMPILER_IS_NEC )
-   file( WRITE ${walberla_BINARY_DIR}/CMakeFiles/src/math.h         "#include_next <math.h>\n#undef fpclassify\n#undef signbit\n#undef isfinite\n#undef isinf\n#undef isnan\n#undef isnormal\n#undef isgreater\n#undef isgreaterequal\n#undef isless\n#undef islessequal\n#undef islessgreater\n#undef isunordered\n")
-   file( WRITE ${walberla_BINARY_DIR}/CMakeFiles/src/sys/types.h    "#define uint_t SX_UINT_T\n#include \"/SX/usr/include/sys/types.h\"   \n#undef uint_t\n")
-   file( WRITE ${walberla_BINARY_DIR}/CMakeFiles/src/sys/acl.h      "#define uint_t SX_UINT_T\n#include \"/SX/usr/include/sys/acl.h\"     \n#undef uint_t\n")
-   file( WRITE ${walberla_BINARY_DIR}/CMakeFiles/src/sys/if_ehcpl.h "#define uint_t SX_UINT_T\n#include \"/SX/usr/include/sys/if_ehcpl.h\"\n#undef uint_t\n")
-   file( WRITE ${walberla_BINARY_DIR}/CMakeFiles/src/sys/ptms.h     "#define uint_t SX_UINT_T\n#include \"/SX/usr/include/sys/ptms.h\"    \n#undef uint_t\n")
-   file( WRITE ${walberla_BINARY_DIR}/CMakeFiles/src/sys/stream.h   "#define uint_t SX_UINT_T\n#include \"/SX/usr/include/sys/stream.h\"  \n#undef uint_t\n")
-   file( WRITE ${walberla_BINARY_DIR}/CMakeFiles/src/sys/strsubr.h  "#define uint_t SX_UINT_T\n#include \"/SX/usr/include/sys/strsubr.h\" \n#undef uint_t\n")
-   configure_file ( ${walberla_BINARY_DIR}/CMakeFiles/src/math.h         ${walberla_BINARY_DIR}/src/math.h COPYONLY )
-   configure_file ( ${walberla_BINARY_DIR}/CMakeFiles/src/sys/types.h    ${walberla_BINARY_DIR}/src/sys/types.h    COPYONLY )
-   configure_file ( ${walberla_BINARY_DIR}/CMakeFiles/src/sys/acl.h      ${walberla_BINARY_DIR}/src/sys/acl.h      COPYONLY )
-   configure_file ( ${walberla_BINARY_DIR}/CMakeFiles/src/sys/if_ehcpl.h ${walberla_BINARY_DIR}/src/sys/if_ehcpl.h COPYONLY )
-   configure_file ( ${walberla_BINARY_DIR}/CMakeFiles/src/sys/ptms.h     ${walberla_BINARY_DIR}/src/sys/ptms.h     COPYONLY )
-   configure_file ( ${walberla_BINARY_DIR}/CMakeFiles/src/sys/stream.h   ${walberla_BINARY_DIR}/src/sys/stream.h   COPYONLY )
-   configure_file ( ${walberla_BINARY_DIR}/CMakeFiles/src/sys/strsubr.h  ${walberla_BINARY_DIR}/src/sys/strsubr.h  COPYONLY )
-endif()
-
+file(
+  WRITE ${walberla_BINARY_DIR}/CMakeFiles/src/math.h
+  "#include_next <math.h>\n#undef fpclassify\n#undef signbit\n#undef isfinite\n#undef isinf\n#undef isnan\n#undef isnormal\n#undef isgreater\n#undef isgreaterequal\n#undef isless\n#undef islessequal\n#undef islessgreater\n#undef isunordered\n"
+)
+file(
+  WRITE ${walberla_BINARY_DIR}/CMakeFiles/src/sys/types.h
+  "#define uint_t SX_UINT_T\n#include \"/SX/usr/include/sys/types.h\"   \n#undef uint_t\n"
+)
+file(
+  WRITE ${walberla_BINARY_DIR}/CMakeFiles/src/sys/acl.h
+  "#define uint_t SX_UINT_T\n#include \"/SX/usr/include/sys/acl.h\"     \n#undef uint_t\n"
+)
+file(
+  WRITE ${walberla_BINARY_DIR}/CMakeFiles/src/sys/if_ehcpl.h
+  "#define uint_t SX_UINT_T\n#include \"/SX/usr/include/sys/if_ehcpl.h\"\n#undef uint_t\n"
+)
+file(
+  WRITE ${walberla_BINARY_DIR}/CMakeFiles/src/sys/ptms.h
+  "#define uint_t SX_UINT_T\n#include \"/SX/usr/include/sys/ptms.h\"    \n#undef uint_t\n"
+)
+file(
+  WRITE ${walberla_BINARY_DIR}/CMakeFiles/src/sys/stream.h
+  "#define uint_t SX_UINT_T\n#include \"/SX/usr/include/sys/stream.h\"  \n#undef uint_t\n"
+)
+file(
+  WRITE ${walberla_BINARY_DIR}/CMakeFiles/src/sys/strsubr.h
+  "#define uint_t SX_UINT_T\n#include \"/SX/usr/include/sys/strsubr.h\" \n#undef uint_t\n"
+)
+configure_file(${walberla_BINARY_DIR}/CMakeFiles/src/math.h
+               ${walberla_BINARY_DIR}/src/math.h COPYONLY)
+configure_file(${walberla_BINARY_DIR}/CMakeFiles/src/sys/types.h
+               ${walberla_BINARY_DIR}/src/sys/types.h COPYONLY)
+configure_file(${walberla_BINARY_DIR}/CMakeFiles/src/sys/acl.h
+               ${walberla_BINARY_DIR}/src/sys/acl.h COPYONLY)
+configure_file(${walberla_BINARY_DIR}/CMakeFiles/src/sys/if_ehcpl.h
+               ${walberla_BINARY_DIR}/src/sys/if_ehcpl.h COPYONLY)
+configure_file(${walberla_BINARY_DIR}/CMakeFiles/src/sys/ptms.h
+               ${walberla_BINARY_DIR}/src/sys/ptms.h COPYONLY)
+configure_file(${walberla_BINARY_DIR}/CMakeFiles/src/sys/stream.h
+               ${walberla_BINARY_DIR}/src/sys/stream.h COPYONLY)
+configure_file(${walberla_BINARY_DIR}/CMakeFiles/src/sys/strsubr.h
+               ${walberla_BINARY_DIR}/src/sys/strsubr.h COPYONLY)
 
-if ( WALBERLA_BUILD_WITH_OPENMP )
-   message( STATUS "Enabling OpenMP workaround for NEC")
-   add_flag ( CMAKE_C_FLAGS   "-Popenmp" )
-   add_flag ( CMAKE_CXX_FLAGS "-Popenmp" )
-endif()
\ No newline at end of file
+if(WALBERLA_BUILD_WITH_OPENMP)
+  message(STATUS "Enabling OpenMP workaround for NEC")
+  add_flag(CMAKE_C_FLAGS "-Popenmp")
+  add_flag(CMAKE_CXX_FLAGS "-Popenmp")
+endif()
diff --git a/cmake/compileroptions/PGI.cmake b/cmake/compileroptions/PGI.cmake
index 10e444da374de5fd4fb5c9e3dcfd43d3ab15051b..2f2e38078582d6526154248a2ba1a815bbe5cb57 100644
--- a/cmake/compileroptions/PGI.cmake
+++ b/cmake/compileroptions/PGI.cmake
@@ -1,16 +1,18 @@
 message(STATUS "Setting Cray specific compiler options")
 
 # Silences compiler and linker warnings and information with the PGI compiler
-if( WALBERLA_CXX_COMPILER_IS_PGI )
-   add_flag ( CMAKE_CXX_FLAGS "--display_error_number" )
-   add_flag ( CMAKE_C_FLAGS "--display_error_number" )
-   if( CMAKE_VERSION VERSION_LESS "3.19" )
-      #  https://github.com/Kitware/CMake/commit/52eee1938919deb59cc2b51d44f365f0d9a418e5
-      set( CMAKE_CXX${CMAKE_CXX_STANDARD}_STANDARD_COMPILE_OPTION "--c++${CMAKE_CXX_STANDARD}" )
-   endif()
-   add_flag ( CMAKE_CXX_FLAGS "--diag_suppress=1" )   # last line of file ends without a newline
-   add_flag ( CMAKE_CXX_FLAGS "--diag_suppress=111" ) # statement is unreachable
-   add_flag ( CMAKE_C_FLAGS "--diag_suppress=111" )   # statement is unreachable
-   add_flag ( CMAKE_C_FLAGS "--diag_suppress=550" )   # variable [...] was set but never used
-   add_flag ( CMAKE_C_FLAGS "--diag_suppress=191" )   # type qualifier is meaningless on cast type
-endif()
\ No newline at end of file
+add_flag(CMAKE_CXX_FLAGS "--display_error_number")
+add_flag(CMAKE_C_FLAGS "--display_error_number")
+if(CMAKE_VERSION VERSION_LESS "3.19")
+  # https://github.com/Kitware/CMake/commit/52eee1938919deb59cc2b51d44f365f0d9a418e5
+  set(CMAKE_CXX${CMAKE_CXX_STANDARD}_STANDARD_COMPILE_OPTION
+      "--c++${CMAKE_CXX_STANDARD}")
+endif()
+add_flag(CMAKE_CXX_FLAGS "--diag_suppress=1") # last line of file ends without a
+                                              # newline
+add_flag(CMAKE_CXX_FLAGS "--diag_suppress=111") # statement is unreachable
+add_flag(CMAKE_C_FLAGS "--diag_suppress=111") # statement is unreachable
+add_flag(CMAKE_C_FLAGS "--diag_suppress=550") # variable [...] was set but never
+                                              # used
+add_flag(CMAKE_C_FLAGS "--diag_suppress=191") # type qualifier is meaningless on
+                                              # cast type