diff --git a/AMDiS/CMakeLists.txt b/AMDiS/CMakeLists.txt
index a2ab1b1fa6ded4d0bb65afca1ced8c97c1d8dd5c..4cd7fc577c14e5d5211e8c8c61c92ff80fd96bb6 100644
--- a/AMDiS/CMakeLists.txt
+++ b/AMDiS/CMakeLists.txt
@@ -267,6 +267,14 @@ else()
   add_library(muparser SHARED ${MUPARSER_SRC})
 endif()
 
+
+if (${CMAKE_VERSION} VERSION_GREATER "3.0")
+  foreach(feature in ${REQUIRED_CXX_FEATURES})
+    target_compile_features(amdis INTERFACE feature)
+    target_compile_features(muparser INTERFACE feature)
+  endforeach(feature)
+endif ()
+
 list(APPEND AMDIS_LIBS amdis ${Boost_LIBRARIES})
 
 # some special treatements for Windows systems
diff --git a/AMDiS/cmake/enable_cxx11.cmake b/AMDiS/cmake/enable_cxx11.cmake
index b7e1407f49db9f1d72c90e4b1636b1e93658cc58..9c3972305b99eee4cfa2ae67b4a4188605b8819d 100644
--- a/AMDiS/cmake/enable_cxx11.cmake
+++ b/AMDiS/cmake/enable_cxx11.cmake
@@ -1,36 +1,37 @@
 # enable the c++11 features. From cmake version 3.0 this is simply done by setting
 # the cxx_standard variables. For older cmake version the compile-flags must be added manually.
 if (ENABLE_CXX11)
-  list(APPEND COMPILEFLAGS "-DHAS_CXX11=1")
-  if (${CMAKE_VERSION} VERSION_GREATER "3.0")
-      set(CMAKE_CXX_STANDARD 11)
-      set(CMAKE_CXX_STANDARD_REQUIRED ON)
-  else()
-    if (CMAKE_COMPILER_IS_GNUCXX)
-        set(GXX_MIN_VER "4.8")
-        if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS GXX_MIN_VER)
-            message (FATAL_ERROR "For C++11-Features the G++ Compiler must be at least version $GXX_MIN_VER")
+    list(APPEND COMPILEFLAGS "-DHAS_CXX11=1")
+    if (${CMAKE_VERSION} VERSION_GREATER "3.0")
+        set(CMAKE_CXX_STANDARD 11)
+        set(CMAKE_CXX_STANDARD_REQUIRED ON)
+        set(REQUIRED_CXX_FEATURES "cxx_alias_templates" "cxx_auto_type" "cxx_lambdas" "cxx_override" "cxx_range_for" "cxx_static_assert" "cxx_variadic_templates")
+    else()
+        if (CMAKE_COMPILER_IS_GNUCXX)
+            set(GXX_MIN_VER "4.8")
+            if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS GXX_MIN_VER)
+                message (FATAL_ERROR "For C++11-Features the G++ Compiler must be at least version $GXX_MIN_VER")
+            endif ()
+            list(APPEND COMPILEFLAGS "-std=gnu++11")
+        elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
+            set(CLANG_MIN_VER "3.0")
+            if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS CLANG_MIN_VER)
+                message (FATAL_ERROR "For C++11-Features the Clang Compiler must be at least version $CLANG_MIN_VER")
+            endif ()
+            list(APPEND COMPILEFLAGS "-std=c++11")
+        elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Intel")
+            set(INTEL_MIN_VER "12.1")
+            if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS INTEL_MIN_VER)
+                message (FATAL_ERROR "For C++11-Features the Intel C++ Compiler must be at least version $INTEL_MIN_VER")
+            endif ()
+            list(APPEND COMPILEFLAGS "-std=c++11")
+        elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
+            set(MSVC_MIN_VER "12.0")
+            if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS MSVC_MIN_VER)
+                message (FATAL_ERROR "For C++11-Features the MSVC C++ Compiler must be at least version $MSVC_MIN_VER")
+            endif ()
         endif ()
-        list(APPEND COMPILEFLAGS "-std=gnu++11")
-    elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
-        set(CLANG_MIN_VER "3.0")
-        if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS CLANG_MIN_VER)
-            message (FATAL_ERROR "For C++11-Features the Clang Compiler must be at least version $CLANG_MIN_VER")
-        endif ()
-        list(APPEND COMPILEFLAGS "-std=c++11")
-    elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Intel")
-        set(INTEL_MIN_VER "12.1")
-        if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS INTEL_MIN_VER)
-            message (FATAL_ERROR "For C++11-Features the Intel C++ Compiler must be at least version $INTEL_MIN_VER")
-        endif ()
-        list(APPEND COMPILEFLAGS "-std=c++11")
-    elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
-        set(MSVC_MIN_VER "12.0")
-        if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS MSVC_MIN_VER)
-            message (FATAL_ERROR "For C++11-Features the MSVC C++ Compiler must be at least version $MSVC_MIN_VER")
-        endif ()
-    endif ()
-  endif()
+    endif()
 else ()
-  list(APPEND COMPILEFLAGS "-DHAS_CXX11=0")
+    list(APPEND COMPILEFLAGS "-DHAS_CXX11=0")
 endif (ENABLE_CXX11)