diff --git a/CMakeLists.txt b/CMakeLists.txt
index e2b970652529fcba4ae97d55993cb5a1b9b668b3..01219ef027038a05f24cf855d8f170d040b7f631 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -42,6 +42,16 @@ list(APPEND COMMON_HEADER ${HEADER_LIST})
 endforeach(_mod DEPENDENCIES)
 set_source_files_properties(${COMMON_HEADER} PROPERTIES HEADER_FILE_ONLY 1)
 
+#disable most warnings from dependent modules
+foreach(_mod ${ALL_DEPENDENCIES})
+    dune_module_to_uppercase(_upper_case "${_mod}")
+    if(${_mod}_INCLUDE_DIRS)
+        foreach( _idir ${${_mod}_INCLUDE_DIRS} )
+            add_definitions("-isystem ${_idir}")
+        endforeach( _idir )
+    endif(${_mod}_INCLUDE_DIRS)
+endforeach(_mod DEPENDENCIES)
+
 add_subdirectory(dune)
 add_subdirectory(doc)