diff --git a/cmake/set_default_flags.cmake b/cmake/set_default_flags.cmake
new file mode 100644
index 0000000000000000000000000000000000000000..d8ed58f0bc93266a604d8579165246a0eff17384
--- /dev/null
+++ b/cmake/set_default_flags.cmake
@@ -0,0 +1,25 @@
+#######################################################################################################################
+# set_default_flags.cmake
+#
+# Set default compiler flags for C++, including the flags for thelatest C++ standard (see
+# enable_latest_cxx_support.cmake)
+#
+#######################################################################################################################
+
+#######################################################################################################################
+#
+# IMPORTANT NOTE:
+#
+# DO NOT MODIFY THIS FILE inside a project. Instead update the project-template repository and pull the change from
+# there. Make sure to keep the file generic, since it will be used by other projects, too.
+#
+# If you have modified this file inside a project despite this warning, make sure to cherry-pick all your changes
+# into the project-template repository immediately.
+#
+#######################################################################################################################
+
+include(enable_latest_cxx_support.cmake)
+set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${${PROJECT_NAME}_CXX_FLAGS} -Wall -Wextra -Wshadow -pedantic -Wuninitialized")
+set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -O0 --coverage")
+set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O3")
+set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} -O3 -g")