diff --git a/dune/fem-dg/test/advdiff/CMakeLists.txt b/dune/fem-dg/test/advdiff/CMakeLists.txt
index 80453bfa94e48404d4826bc9bf3ecbaaae261491..3a7cd761b12fa5dab6980a77704d4023cbfcea8f 100644
--- a/dune/fem-dg/test/advdiff/CMakeLists.txt
+++ b/dune/fem-dg/test/advdiff/CMakeLists.txt
@@ -1,5 +1,11 @@
 dune_install( models.hh problemcreator.hh steppertraits.hh)
-                                      
+     
+set(MAININCLUDE_PATH  "${dune-fem-dg_SOURCE_DIR}/dune/fem-dg/main/")
+
+include_directories(${MAININCLUDE_PATH})
+include_directories("${CMAKE_SOURCE_DIR}/dune/fem-dg/test/advdiff/")
+
+
 set(GRIDTYPE  YASPGRID)
 set(POLORDER  2)
 set(GRIDDIM  2)
@@ -13,14 +19,16 @@ add_definitions( "-DFLUX=${FLUX}" )
 add_definitions( "-DPRIMALDG" )
 add_definitions( "-DUSE_ASSERT_THROW" ) 
 
-include_directories("${CMAKE_SOURCE_DIR}/dune/fem-dg/test/advdiff")
+add_executable( advdiffall  "${MAININCLUDE_PATH}/main_0.cc" 
+                            "${MAININCLUDE_PATH}/main_1.cc"
+                            "${MAININCLUDE_PATH}/main_2.cc" 
+                            "${MAININCLUDE_PATH}/main_3.cc")
 
-add_executable( advdiffall ${SOURCEALL})
-dune_target_link_libraries(advdiffall ${DUNE_LIBS})
+dune_target_link_libraries(advdiffall "${DUNE_LIBS}")
 
-add_executable( advdiff ${SOURCEONE})
-dune_target_link_libraries(advdiff ${DUNE_LIBS})
+add_executable( advdiff "${MAININCLUDE_PATH}/main_pol.cc")
+dune_target_link_libraries(advdiff "${DUNE_LIBS}")
 set_property(TARGET advdiff APPEND PROPERTY 
              COMPILE_DEFINITIONS "ONLY_ONE_P;POLORDER=${POLORDER}")
-           
+
 dune_add_test( advdiff advdiffall )
diff --git a/dune/fem-dg/test/euler/CMakeLists.txt b/dune/fem-dg/test/euler/CMakeLists.txt
index 45a6a83ff852448904a10c5ac8678d3d555c877e..fd5eb115f24196451a3ff8d787cb77ee4716e87d 100644
--- a/dune/fem-dg/test/euler/CMakeLists.txt
+++ b/dune/fem-dg/test/euler/CMakeLists.txt
@@ -1,5 +1,10 @@
 dune_install( eulermodel.hh problems.hh problemcreator.hh chorjo.hh chorjo.cc passtraits.hh)
 
+set(MAININCLUDE_PATH  "${dune-fem-dg_SOURCE_DIR}/dune/fem-dg/main/")
+
+include_directories(${MAININCLUDE_PATH})
+include_directories("${CMAKE_SOURCE_DIR}/dune/fem-dg/test/euler/")
+
 set(GRIDTYPE YASPGRID)
 set(GRIDDIM  2)
 set(POLORDER 2)
@@ -12,14 +17,15 @@ add_definitions( "-DFLUX=${FLUX}" )
 add_definitions( "-D${DIFFFLUXTYPE}" )
 add_definitions( "-DWANT_CACHED_COMM_MANAGER=0" )
 
-include_directories("${CMAKE_SOURCE_DIR}/dune/fem-dg/test/euler")
-
-add_executable( eulerall ${SOURCEALL} chorjo.cc )
+add_executable( eulerall "${MAININCLUDE_PATH}/main_0.cc" 
+                         "${MAININCLUDE_PATH}/main_1.cc"
+                         "${MAININCLUDE_PATH}/main_2.cc" 
+                         "${MAININCLUDE_PATH}/main_3.cc" chorjo.cc )
 dune_target_link_libraries(eulerall ${DUNE_LIBS})
 set_property(TARGET eulerall APPEND PROPERTY 
   COMPILE_DEFINITIONS "LIMITER")
 
-add_executable( euler ${SOURCEONE} chorjo.cc )
+add_executable( euler "${MAININCLUDE_PATH}/main_pol.cc" chorjo.cc )
 dune_target_link_libraries(euler ${DUNE_LIBS})
 set_property(TARGET euler APPEND PROPERTY 
              COMPILE_DEFINITIONS "ONLY_ONE_P;POLORDER=${POLORDER}")
diff --git a/dune/fem-dg/test/navierstokes/CMakeLists.txt b/dune/fem-dg/test/navierstokes/CMakeLists.txt
index a2eaa3b735d7fdebd054d7513da41ba901277907..b63b09f732075e25eb40bedd54799832f87e5da6 100644
--- a/dune/fem-dg/test/navierstokes/CMakeLists.txt
+++ b/dune/fem-dg/test/navierstokes/CMakeLists.txt
@@ -1,5 +1,11 @@
 dune_install( ns_model.hh problemcreator.hh nswaves.hh ns_model_spec.hh nssmooth.hh thermodynamics.hh passtraits.hh)
 
+set(MAININCLUDE_PATH  "${dune-fem-dg_SOURCE_DIR}/dune/fem-dg/main/")
+
+include_directories(${MAININCLUDE_PATH})
+include_directories("${CMAKE_SOURCE_DIR}/dune/fem-dg/test/navierstokes/")
+
+
 set(GRIDTYPE YASPGRID)
 set(GRIDDIM  3)
 set(POLORDER 2)
@@ -13,16 +19,17 @@ add_definitions( "-DFLUX=${FLUX}" )
 add_definitions( "-D${DIFFFLUX}" )
 add_definitions( "-DPROBLEM=${PROBLEM}" )
 
-include_directories("${CMAKE_SOURCE_DIR}/dune/fem-dg/test/navierstokes")
-
-add_executable( navierstokes ${SOURCEONE})
-dune_target_link_libraries(navierstokes ${DUNE_LIBS})
-set_property(TARGET navierstokes APPEND PROPERTY 
+add_executable( navierstokesall "${MAININCLUDE_PATH}/main_0.cc" 
+                                "${MAININCLUDE_PATH}/main_1.cc"
+                                "${MAININCLUDE_PATH}/main_2.cc" 
+                                "${MAININCLUDE_PATH}/main_3.cc")
+dune_target_link_libraries(navierstokesall ${DUNE_LIBS})
+set_property(TARGET navierstokesall APPEND PROPERTY 
              COMPILE_DEFINITIONS "ONLY_ONE_P;POLORDER=${POLORDER}")
 
-add_executable( navierstokesall ${SOURCEALL})
+add_executable( navierstokes "${MAININCLUDE_PATH}/main_pol.cc" )
 dune_target_link_libraries(navierstokes ${DUNE_LIBS})
-set_property(TARGET navierstokesall APPEND PROPERTY 
+set_property(TARGET navierstokes APPEND PROPERTY 
   COMPILE_DEFINITIONS "LIMITER")
 
 dune_add_test( navierstokes navierstokesall )
diff --git a/dune/fem-dg/test/poisson/CMakeLists.txt b/dune/fem-dg/test/poisson/CMakeLists.txt
index 6002282ef8d27292946c577143c2d88fb02a7e92..25568d4c6602c96a4e254d4023441350e333c8b7 100644
--- a/dune/fem-dg/test/poisson/CMakeLists.txt
+++ b/dune/fem-dg/test/poisson/CMakeLists.txt
@@ -1,5 +1,11 @@
 dune_install( benchmarkproblems.hh models.hh passtraits.hh problemcreator.hh poissonproblem.hh )
-                                      
+
+set(MAININCLUDE_PATH  "${dune-fem-dg_SOURCE_DIR}/dune/fem-dg/main/")
+
+include_directories(${MAININCLUDE_PATH})
+include_directories("${CMAKE_SOURCE_DIR}/dune/fem-dg/test/poisson/")
+
+                                
 set(GRIDTYPE  YASPGRID)
 set(POLORDER  2)
 set(GRIDDIM  2)
@@ -13,12 +19,13 @@ add_definitions( "-DFLUX=${FLUX}" )
 add_definitions( "-DPRIMALDG" )
 add_definitions( "-DUSE_ASSERT_THROW" ) 
 
-include_directories("${CMAKE_SOURCE_DIR}/dune/fem-dg/test/poisson")
-
-add_executable( poissonall ${SOURCEALL})
+add_executable( poissonall "${MAININCLUDE_PATH}/main_0.cc" 
+                           "${MAININCLUDE_PATH}/main_1.cc"
+                           "${MAININCLUDE_PATH}/main_2.cc" 
+                           "${MAININCLUDE_PATH}/main_3.cc")
 dune_target_link_libraries(poissonall ${DUNE_LIBS})
 
-add_executable( poisson ${SOURCEONE})
+add_executable( poisson "${MAININCLUDE_PATH}/main_pol.cc")
 dune_target_link_libraries(poisson ${DUNE_LIBS})
 set_property(TARGET poisson APPEND PROPERTY 
              COMPILE_DEFINITIONS "ONLY_ONE_P;POLORDER=${POLORDER}")