diff --git a/dune/solvers/common/CMakeLists.txt b/dune/solvers/common/CMakeLists.txt
index 7451cd6c92cd13fbfe11d3dbeb659f67e9a1ac4a..70e85ac01e15f551a352f01473f77ddc193b41a6 100644
--- a/dune/solvers/common/CMakeLists.txt
+++ b/dune/solvers/common/CMakeLists.txt
@@ -1,4 +1,4 @@
-install(FILES
+set(DUNE_SOLVERS_COMMON
     arithmetic.hh
     boxconstraint.hh
     canignore.hh
@@ -8,4 +8,9 @@ install(FILES
     permutationmanager.hh
     preconditioner.hh
     staticmatrixtools.hh
+)
+
+add_custom_target(dune_solvers_common_sources SOURCES ${DUNE_SOLVERS_COMMON})
+
+install(FILES ${DUNE_SOLVERS_COMMON}
     DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/dune/solvers/common)
diff --git a/dune/solvers/iterationsteps/CMakeLists.txt b/dune/solvers/iterationsteps/CMakeLists.txt
index f4e462c3c216ee2ea3316086f22fbe273091a4a5..6bfe8c9b6348a66e483b105b5254622c71904fca 100644
--- a/dune/solvers/iterationsteps/CMakeLists.txt
+++ b/dune/solvers/iterationsteps/CMakeLists.txt
@@ -1,4 +1,4 @@
-install(FILES
+set(DUNE_SOLVERS_ITERATIONSTEPS
     amgstep.hh
     blockgsstep.cc
     blockgsstep.hh
@@ -27,4 +27,9 @@ install(FILES
     truncatedsaddlepointgsstep.hh
     trustregiongsstep.cc
     trustregiongsstep.hh
+)
+
+add_custom_target(dune_solvers_iterationsteps_sources SOURCES ${DUNE_SOLVERS_ITERATIONSTEPS})
+
+install(FILES ${DUNE_SOLVERS_ITERATIONSTEPS}
     DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/dune/solvers/iterationsteps)