diff --git a/CMakeLists.txt b/CMakeLists.txt
index b69b8aa9438d381d504664db0804967513a4ef12..77f5d5798fd1987c13e2418c201738457b9a3b2f 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -117,7 +117,8 @@ if(CM_ALL_AUTO_DOC)
     add_subdirectory("docs")
 endif(CM_ALL_AUTO_DOC)
 
-# ProjectConfig
+
+# Export targets and create package
 
 install(EXPORT ALLTargets
     NAMESPACE ALL::
@@ -125,6 +126,19 @@ install(EXPORT ALLTargets
     DESTINATION lib/cmake/ALL
     )
 
-#export(PACKAGE ALL)
+include(CMakePackageConfigHelpers)
+configure_package_config_file(${CMAKE_CURRENT_SOURCE_DIR}/Config.cmake.in
+    "${CMAKE_CURRENT_BINARY_DIR}/ALLConfig.cmake"
+    INSTALL_DESTINATION lib/cmake/ALL
+    )
+write_basic_package_version_file(
+    "${CMAKE_CURRENT_BINARY_DIR}/ALLConfigVersion.cmake"
+    VERSION "${ALL_VERSION}"
+    COMPATIBILITY SameMajorVersion)
+install(FILES
+    "${CMAKE_CURRENT_BINARY_DIR}/ALLConfig.cmake"
+    "${CMAKE_CURRENT_BINARY_DIR}/ALLConfigVersion.cmake"
+    DESTINATION lib/cmake/ALL)
+
 
 # vim: sw=4 ts=4 et
diff --git a/Config.cmake.in b/Config.cmake.in
new file mode 100644
index 0000000000000000000000000000000000000000..4ad3f798c8f0d3028332413395536fa2d6834450
--- /dev/null
+++ b/Config.cmake.in
@@ -0,0 +1,10 @@
+@PACKAGE_INIT@
+
+include(CMakeFindDependencyMacro)
+find_dependency(MPI)
+#todo(s.schulz): Somehow propagate the VTK switch...
+#find_dependency(VTK)
+
+include("${CMAKE_CURRENT_LIST_DIR}/ALLTargets.cmake")
+
+check_required_components(ALL)