diff --git a/Makefile.am b/Makefile.am
index 0ed9bf31c8ee48a19467dbb0bf59870787957b98..4898650f2a4d6628ed3814d5ca1c2b03ddb3a756 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -7,7 +7,7 @@ EXTRA_DIST=dune.module
 # we need automake 1.9 or newer
 AUTOMAKE_OPTIONS = foreign 1.9
 
-SUBDIRS = dune doc m4
+SUBDIRS = cmake dune doc m4
 
 # use configured compiler for "make distcheck"
 # doxygen is difficult to convince to build in a special directory...
diff --git a/cmake/.gitignore b/cmake/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..3dda72986fc5af262451a760393b3a7065938c80
--- /dev/null
+++ b/cmake/.gitignore
@@ -0,0 +1,2 @@
+Makefile.in
+Makefile
diff --git a/cmake/Makefile.am b/cmake/Makefile.am
new file mode 100644
index 0000000000000000000000000000000000000000..4fce05b90e3795dc758e6da22eef5380a0eb8167
--- /dev/null
+++ b/cmake/Makefile.am
@@ -0,0 +1 @@
+SUBDIRS= modules pkg
diff --git a/cmake/modules/.gitignore b/cmake/modules/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..3dda72986fc5af262451a760393b3a7065938c80
--- /dev/null
+++ b/cmake/modules/.gitignore
@@ -0,0 +1,2 @@
+Makefile.in
+Makefile
diff --git a/cmake/modules/Makefile.am b/cmake/modules/Makefile.am
new file mode 100644
index 0000000000000000000000000000000000000000..9b57cdfb0da90e46e51b3fe196d3f651d403e31d
--- /dev/null
+++ b/cmake/modules/Makefile.am
@@ -0,0 +1,7 @@
+MODULES = DuneIstlMacros.cmake \
+ FindSuperLU.cmake
+
+modulesdir= $(datadir)/cmake/modules
+modules_DATA = ${MODULES}
+
+include $(top_srcdir)/am/global-rules
diff --git a/cmake/pkg/.gitignore b/cmake/pkg/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..3dda72986fc5af262451a760393b3a7065938c80
--- /dev/null
+++ b/cmake/pkg/.gitignore
@@ -0,0 +1,2 @@
+Makefile.in
+Makefile
diff --git a/cmake/pkg/Makefile.am b/cmake/pkg/Makefile.am
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/configure.ac b/configure.ac
index 33cf303274b807886e63cb40bef92ad2dd4e9d58..80cdc50b695ce51b9227cd3922df2d91be7e44ad 100644
--- a/configure.ac
+++ b/configure.ac
@@ -18,6 +18,9 @@ AC_SUBST([AM_LDFLAGS], '$(DUNE_LDFLAGS) $(DUNE_LIBS)')
 
 # write output
 AC_CONFIG_FILES([Makefile
+    cmake/Makefile
+    cmake/modules/Makefile
+    cmake/pkg/Makefile
     doc/doxygen/Makefile
     doc/doxygen/Doxyfile
     doc/Makefile