diff --git a/CMakeLists.txt b/CMakeLists.txt
index 2bc853e1813043da15d9c2d4acec16e2f703df28..39f4650a5458ea7bfd06fc6ded93028358fcec8b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -10,7 +10,7 @@ dune_module_information(${CMAKE_SOURCE_DIR})
 set(ProjectName            "${DUNE_MODULE_NAME}")
 set(ProjectVersion         "${DUNE_VERSION_STRING}")
 set(ProjectMaintainerEmail "${DUNE_MAINTAINER}")
-project(${ProjectName} C CXX)
+project(${ProjectName} C CXX Fortran)
 set(DUNE_COMMON_VERSION          "${DUNE_VERSION_STRING}")
 set(DUNE_COMMON_VERSION_MAJOR    "${DUNE_VERSION_MAJOR}")
 set(DUNE_COMMON_VERSION_MINOR    "${DUNE_VERSION_MINOR}")
@@ -46,6 +46,14 @@ find_package(Boost)
 set(HAVE_BOOST BOOST_FOUND)
 find_package(SharedPtr)
 
+# search for lapack
+find_package(LAPACK)
+set(HAVE_LAPACK LAPACK_FOUND)
+
+# make calling fortran routines from C/C++ possible
+include(FortranCInterface)
+FortranCInterface_HEADER(FC.h MACRO_NAMESPACE "FC_")
+
 # actually write the config.h file to disk
 configure_file(config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config.h)
 include_directories("${CMAKE_CURRENT_BINARY_DIR}")
diff --git a/dune/common/test/CMakeLists.txt b/dune/common/test/CMakeLists.txt
index fd4bb8033fb86bd1c9f479cd6e051579b0da7e30..f64824242418c4bf0708656958b029d25e6a3f83 100644
--- a/dune/common/test/CMakeLists.txt
+++ b/dune/common/test/CMakeLists.txt
@@ -23,7 +23,7 @@ add_executable("fassigntest" fassigntest.cc)
 target_link_libraries("fassigntest" "dunecommon")
 
 add_executable("fmatrixtest" fmatrixtest.cc)
-target_link_libraries("fmatrixtest" "dunecommon")
+target_link_libraries("fmatrixtest" "dunecommon" ${LAPACK_LIBRARIES})
 
 add_executable("fvectortest" fvectortest.cc)
 add_executable("gcdlcmtest" gcdlcmtest.cc)