diff --git a/cmake.opts b/cmake.opts
new file mode 100644
index 0000000000000000000000000000000000000000..a701c3e318e96c7e3c15e6357d7d4ffe7a8db612
--- /dev/null
+++ b/cmake.opts
@@ -0,0 +1,49 @@
+GXX_RELEASE_WARNING_OPTS=" \
+    -Wall \
+    -Wunused \
+    -Wmissing-include-dirs \
+    -Wcast-align \
+    -Wno-missing-braces \
+    -Wmissing-field-initializers \
+    -Wno-sign-compare"
+
+GXX_RELEASE_OPTS=" \
+    -fdiagnostics-color=always \
+    -fno-strict-aliasing \
+    -fstrict-overflow \
+    -fno-finite-math-only \
+    -DNDEBUG=1 \
+    -O3 \
+    -march=native \
+    -funroll-loops \
+    -g0"
+
+SPECIFIC_COMPILER=""
+# if you want to specify a specific compiler, do it by setting (comment the above line)
+#SPECIFIC_COMPILER="
+# -DCMAKE_C_COMPILER=/usr/bin/gcc-8
+# -DCMAKE_CXX_COMPILER=/usr/bin/g++-8
+#"
+
+SPECIFIC_GENERATOR=""
+# if you want to specify a specific make file generator (e.g. ninja), do it by setting (comment the above line)
+#SPECIFIC_GENERATOR="
+# -DCMAKE_GENERATOR='Ninja'
+# -DCMAKE_MAKE_PROGRAM='/usr/bin/ninja'
+#"
+
+# set this to "ON" if you want to be able to have the headercheck target
+DUMUX_ENABLE_HEADERCHECK=OFF
+
+# for debug opts you can set DCMAKE_BUILD_TYPE to "Debug" or "RelWithDebInfo"
+# you can also do this in any of the CMakeLists.txt in Dumux
+# just rerun cmake again afterwards (run cmake <path-to-build-dir>)
+
+CMAKE_FLAGS="$SPECIFIC_COMPILER $SPECIFIC_GENERATOR
+-DCMAKE_CXX_FLAGS_RELEASE='$GXX_RELEASE_OPTS $GXX_RELEASE_WARNING_OPTS'
+-DCMAKE_CXX_FLAGS_DEBUG='-O0 -g -ggdb -Wall -Wextra -Wno-unused-parameter -Wno-sign-compare'
+-DCMAKE_CXX_FLAGS_RELWITHDEBINFO='$GXX_RELEASE_OPTS $GXX_RELEASE_WARNING_OPTS -g -ggdb -Wall'
+-DCMAKE_BUILD_TYPE=Release
+-DENABLE_HEADERCHECK=$DUMUX_ENABLE_HEADERCHECK
+-DDUNE_GRID_EXPERIMENTAL_GRID_EXTENSIONS:BOOL=TRUE
+"
diff --git a/debug.opts b/debug.opts
deleted file mode 100644
index b8d070510829924d716bbd70f223bf9bc20fc07c..0000000000000000000000000000000000000000
--- a/debug.opts
+++ /dev/null
@@ -1,28 +0,0 @@
-GXX_WARNING_OPTS=" \
-    -Wall \
-    -Wunused \
-    -Wmissing-include-dirs \
-    -Wcast-align \
-    -Wno-sign-compare \
-    -Wno-unused-parameter"
-
-# additional -W flags for g++ which will lead to many warnings
-#    -Wextra \
-#    -Wfloat-equal \
-#    -Wstrict-overflow \
-
-GXX_OPTS=" \
-    -fno-strict-aliasing \
-    -fstrict-overflow \
-    -g"
-
-# configure flags
-CMAKE_FLAGS="\
-  -DCMAKE_CXX_FLAGS=\"$GXX_WARNING_OPTS $GXX_OPTS\" \
-  -DUG_DIR=ug_installation_path \
-  "
-
-# optional configure flags
-# for the CO2 and CO2ni tests enable the experimental grid extension
-# and make sure the module dune-alugrid is present
-# -DDUNE_GRID_EXPERIMENTAL_GRID_EXTENSIONS=TRUE \
diff --git a/optim.opts b/optim.opts
deleted file mode 100644
index d27c36ba42345af06ee85d3b1cce1c99cf23ae0d..0000000000000000000000000000000000000000
--- a/optim.opts
+++ /dev/null
@@ -1,31 +0,0 @@
-GXX_WARNING_OPTS=" \
-    -Wall \
-    -Wunused \
-    -Wmissing-include-dirs \
-    -Wcast-align \
-    -Wno-sign-compare \
-    -Wno-unused-parameter"
-
-# additional -W flags for g++ which will lead to many warnings
-#    -Wextra \
-#    -Wfloat-equal \
-#    -Wstrict-overflow \
-
-GXX_OPTS=" \
-    -fno-strict-aliasing \
-    -fstrict-overflow \
-    -fno-finite-math-only \
-    -O3 \
-    -march=native \
-    -DNDEBUG=1"
-
-# configure flags
-CMAKE_FLAGS=" \
-  -DCMAKE_CXX_FLAGS=\"$GXX_WARNING_OPTS $GXX_OPTS\" \
-  -DUG_DIR=ug_installation_path \
-  "
-
-# optional configure flags
-# for the CO2 and CO2ni tests enable the experimental grid extension
-# and make sure the module dune-alugrid is present
-# -DDUNE_GRID_EXPERIMENTAL_GRID_EXTENSIONS=TRUE \