diff --git a/CMakeLists.txt b/CMakeLists.txt
index a9859ed75f8a72d5d53cbe3bb25cf663098cf271..081aa6768df0c75742517c629fe7e3a2257e07ae 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -14,14 +14,7 @@ configure_file(config.h.in config.h)
 
 # guard from super-projects, i.e. when it is added as subdirectory
 IF(CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_SOURCE_DIR)
-  # Remove existing -Wall in debug flags because we unconditionally supply
-  # -Wall and we don't want a trailing -Wall re-enable the silenced
-  # warnings
-  string(REPLACE "-Wall" "" CMAKE_CXX_FLAGS_DEBUG ${CMAKE_CXX_FLAGS_DEBUG})
-
   set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++1y")
-  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wno-missing-braces")
-  set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wno-missing-braces")
 
   add_subdirectory(libixxx)
   add_subdirectory(libixxxutil)
diff --git a/ci/docker/build.sh b/ci/docker/build.sh
index e4e015b467266016286325067cc2383fce7fe361..dfb72258d71b5edcfd41e46d18693542a08c2682 100755
--- a/ci/docker/build.sh
+++ b/ci/docker/build.sh
@@ -2,6 +2,33 @@
 
 set -ex
 
+CFLAGS="-Wall -Wextra -Wno-missing-field-initializers \
+    -Wno-parentheses -Wno-missing-braces \
+    -Wmissing-prototypes -Wfloat-equal \
+    -Wwrite-strings -Wpointer-arith -Wcast-align \
+    -Wnull-dereference \
+    -Werror=multichar -Werror=sizeof-pointer-memaccess -Werror=return-type \
+    -fstrict-aliasing"
+if [ "$CMAKE_BUILD_TYPE" = Release ]; then
+    CFLAGS="-Og $CFLAGS"
+fi
+export CFLAGS
+
+CXXFLAGS="-Wall -Wextra -Wno-missing-field-initializers \
+    -Wno-parentheses -Wno-missing-braces \
+    -Wno-unused-local-typedefs \
+    -Wfloat-equal \
+    -Wpointer-arith -Wcast-align \
+    -Wnull-dereference \
+    -Wnon-virtual-dtor -Wmissing-declarations \
+    -Werror=multichar -Werror=sizeof-pointer-memaccess -Werror=return-type \
+    -Werror=delete-non-virtual-dtor \
+    -fstrict-aliasing"
+if [ "$CMAKE_BUILD_TYPE" = Release ]; then
+    CXXFLAGS="-Og $CXXFLAGS"
+fi
+export CXXFLAGS
+
 
 cd /srv/build
 cmake -G Ninja -DCMAKE_BUILD_TYPE="$CMAKE_BUILD_TYPE" /srv/src