diff --git a/CMakeLists.txt b/CMakeLists.txt
index edb3f142ff8924781216826e65dc90aa98b115b8..f1052e517eb5dfd64df207f8d8e66ae05266b4b5 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -23,6 +23,7 @@ add_subdirectory("m4")
 add_subdirectory("dune")
 add_subdirectory("doc")
 add_subdirectory("cmake/modules")
+add_subdirectory("test")
 
 # finalize the dune project, e.g. generating config.h etc.
 finalize_dune_project(GENERATE_CONFIG_H_CMAKE)
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
new file mode 100644
index 0000000000000000000000000000000000000000..4b0d35ff90a3a75d03133b9b1aa5daf10d862683
--- /dev/null
+++ b/test/CMakeLists.txt
@@ -0,0 +1,32 @@
+set(TESTS
+  adolctest
+  averagedistanceassemblertest
+  cosseratenergytest
+  frameinvariancetest
+  globalgfetestfunctionbasistest
+  harmonicenergytest
+  interillustration
+  localgeodesicfefunctiontest
+  localgeodesicfestiffnesstest
+  localgfetestfunctiontest
+  nestednesstest
+  nonconvexitytest
+  nonconvexitytest_simple
+  orthogonalmatrixtest
+  rodassemblertest
+  rotationtest
+  svdtest
+  targetspacetest
+  true-adolctest
+  vtkreadertest
+)
+
+add_directory_test_target(_test_target)
+add_dependencies(${_test_target} ${TESTS})
+
+foreach(_test ${TESTS})
+  add_executable(${_test} ${_test}.cc)
+  target_link_libraries(${_test} ${DUNE_LIBS})
+  add_dune_ug_flags(${_test})
+  add_test(${_test} ${_test})
+endforeach()