diff --git a/cmake/modules/RootNewMacros.cmake b/cmake/modules/RootNewMacros.cmake
index 0dc1eeca787b59f410642172c9e6b38af9d1ebf7..858a6355d954d8a8b3866532cc63267fe210dc10 100644
--- a/cmake/modules/RootNewMacros.cmake
+++ b/cmake/modules/RootNewMacros.cmake
@@ -1419,6 +1419,20 @@ function(ROOT_ADD_C_FLAG var flag)
   endif()
 endfunction()
 
+#----------------------------------------------------------------------------
+# ROOT_ADD_COMPILE_OPTIONS(flags)
+#----------------------------------------------------------------------------
+macro(ROOT_ADD_COMPILE_OPTIONS flags)
+  foreach(__flag ${flags})
+    check_cxx_compiler_flag("-Werror ${__flag}" __result)
+    if(__result)
+      add_compile_options(${__flag})
+    endif()
+  endforeach()
+  unset(__flag)
+  unset(__result)
+endmacro()
+
 #----------------------------------------------------------------------------
 # find_python_module(module [REQUIRED] [QUIET])
 #----------------------------------------------------------------------------