diff --git a/AMDiS/cmake3/AMDISConfig.cmake.in b/AMDiS/cmake3/AMDISConfig.cmake.in
index afa031f500798946cf730f0ab7525ea8ecd8c383..06f364373917c698bb24159ba26e0b07a51dfcf0 100644
--- a/AMDiS/cmake3/AMDISConfig.cmake.in
+++ b/AMDiS/cmake3/AMDISConfig.cmake.in
@@ -1,11 +1,11 @@
 # This configuration file is shipped with the great FEM-Toolbox AMDiS.
 # It simplifies the configure of different amdis-versions.
 #
-# In order to compile an amdis-project and link against the amdis 
+# In order to compile an amdis-project and link against the amdis
 # (and subsequent) libraries simply add 'AMDiS' to the target_link_libraries
-# of your executable target. All include-paths and additional libraries are 
+# of your executable target. All include-paths and additional libraries are
 # automatically added.
-# 
+#
 # For a fast start, you use this package in the following way
 # simply look for it, possibly set the AMDiS directory
 #
@@ -28,6 +28,10 @@ set(AMDIS_NEED_CXX11 @ENABLE_CXX11@)
 set(AMDIS_NEED_UMFPACK @ENABLE_UMFPACK@)
 set(AMDIS_HAS_PARALLEL_DOMAIN @ENABLE_PARALLEL_DOMAIN@)
 set(AMDIS_NEED_COMPRESSION @ENABLE_COMPRESSION@)
+set(AMDIS_NEED_EXTENSIONS @ENABLE_EXTENSIONS@)
+set(AMDIS_NEED_BASE_PROBLEMS @ENABLE_BASE_PROBLEMS@)
+set(AMDIS_NEED_REINIT @ENABLE_REINIT@)
+set(AMDIS_NEED_COMPOSITE_FEM @ENABLE_COMPOSITE_FEM@)
 
 set(BUILD_SHARED_LIBS @BUILD_SHARED_LIBS@)
 
@@ -37,12 +41,12 @@ add_library(AMDiS ALIAS amdis_base)
 target_compile_definitions(amdis_base INTERFACE
       $<$<CONFIG:Release>:DEBUG=0>
       $<$<NOT:$<CONFIG:Release>>:DEBUG=1>)
-    
+
 if (AMDIS_NEED_CXX11)
-  target_compile_features(amdis_base INTERFACE 
-      cxx_alias_templates 
-      cxx_auto_type 
-      cxx_lambdas 
+  target_compile_features(amdis_base INTERFACE
+      cxx_alias_templates
+      cxx_auto_type
+      cxx_lambdas
       cxx_override
       cxx_range_for
       cxx_static_assert
@@ -100,26 +104,26 @@ endif (AMDIS_NEED_UMFPACK)
 # Parallel amdis
 # --------------
 if (AMDIS_HAS_PARALLEL_DOMAIN)
-    target_compile_definitions(amdis_base INTERFACE 
+    target_compile_definitions(amdis_base INTERFACE
         HAVE_PARALLEL_DOMAIN_AMDIS=1)
-        
+
     find_package(MPI REQUIRED)
     if (MPI_FOUND)
         target_include_directories(amdis_base INTERFACE ${MPI_INCLUDE_PATH})
         target_compile_options(amdis_base INTERFACE ${MPI_COMPILE_FLAGS})
         target_link_libraries(amdis_base INTERFACE ${MPI_LIBRARIES})
     endif (MPI_FOUND)
-    
+
     set(PETSC_EXECUTABLE_RUNS ON)
     set(AMDIS_PETSC_DIR @PETSC_DIR@)
     include(find_petsc)
     if (PETSc_FOUND)
         target_include_directories(amdis_base INTERFACE ${PETSC_INCLUDES})
         target_link_libraries(amdis_base INTERFACE
-            ${PETSC_LIBRARY_SYS} 
+            ${PETSC_LIBRARY_SYS}
             ${PETSC_LIBRARIES}
             blas lapack)
-        target_compile_definitions(amdis_base INTERFACE 
+        target_compile_definitions(amdis_base INTERFACE
             HAVE_PARALLEL_PETSC=1)
     else()
         message(FATAL_ERROR "Could not find PETSc!")
@@ -127,28 +131,49 @@ if (AMDIS_HAS_PARALLEL_DOMAIN)
 endif (AMDIS_HAS_PARALLEL_DOMAIN)
 
 
+# amdis extensions
+# ----------------
+if (AMDIS_NEED_EXTENSIONS)
+    find_library(_EXTENSIONS_LIB amdis_extensions PATHS ${AMDIS_DIR}/../../lib/amdis/)
+    if (_EXTENSIONS_LIB)
+        target_include_directories(amdis_base INTERFACE ${AMDIS_INCLUDE_DIR}/extensions)
+        target_link_libraries(amdis_base INTERFACE ${_EXTENSIONS_LIB})
+        if (AMDIS_NEED_BASE_PROBLEMS)
+            target_include_directories(amdis_base INTERFACE ${AMDIS_INCLUDE_DIR}/extensions/base_problems)
+        endif (AMDIS_NEED_BASE_PROBLEMS)
+    else ()
+        message(ERROR "Extensions library not found")
+    endif ()
+    unset(_EXTENSIONS_LIB CACHE)
+endif (AMDIS_NEED_EXTENSIONS)
+
+
 # reinit library
 # --------------
-find_library(_REINIT_LIB amdis_reinit PATHS ${AMDIS_DIR}/../../lib/amdis/)
-if (_REINIT_LIB)
-    target_include_directories(amdis_base INTERFACE ${Boost_INCLUDE_DIR}/reinit)
-    target_link_libraries(amdis_base INTERFACE ${_REINIT_LIB})
-else ()
-    message(ERROR "Reinit library not found")
-endif ()
-unset(_REINIT_LIB CACHE)
+if (AMDIS_NEED_REINIT)
+    find_library(_REINIT_LIB amdis_reinit PATHS ${AMDIS_DIR}/../../lib/amdis/)
+    if (_REINIT_LIB)
+        target_include_directories(amdis_base INTERFACE ${AMDIS_INCLUDE_DIR}/reinit)
+        target_link_libraries(amdis_base INTERFACE ${_REINIT_LIB})
+    else ()
+        message(ERROR "Reinit library not found")
+    endif ()
+    unset(_REINIT_LIB CACHE)
+endif (AMDIS_NEED_REINIT)
 
 
 # compositeFEM library
 # --------------------
-find_library(_COMPOSITE_FEM_LIB amdis_compositeFEM PATHS ${AMDIS_DIR}/../../lib/amdis/)
-if (_COMPOSITE_FEM_LIB)
-    target_include_directories(amdis_base INTERFACE ${Boost_INCLUDE_DIR}/compositeFEM)
-    target_link_libraries(amdis_base INTERFACE ${_COMPOSITE_FEM_LIB})
-else ()
-    message(ERROR "CompositeFEM library not found")
-endif ()
-unset(_COMPOSITE_FEM_LIB CACHE)
+if (AMDIS_NEED_COMPOSITE_FEM)
+    find_library(_COMPOSITE_FEM_LIB amdis_compositeFEM PATHS ${AMDIS_DIR}/../../lib/amdis/)
+    if (_COMPOSITE_FEM_LIB)
+        target_include_directories(amdis_base INTERFACE ${Boost_INCLUDE_DIR}/compositeFEM)
+        target_link_libraries(amdis_base INTERFACE ${_COMPOSITE_FEM_LIB})
+    else ()
+        message(ERROR "CompositeFEM library not found")
+    endif ()
+    unset(_COMPOSITE_FEM_LIB CACHE)
+endif (AMDIS_NEED_COMPOSITE_FEM)
 
 
 # muparser library
diff --git a/AMDiS/cmake3/CMakeLists.txt b/AMDiS/cmake3/CMakeLists.txt
index 0745aebafd72c2ee79d2cc570a8d2a3adc2c0536..c988564ead10e37f323f391a94d01f83f98eef3c 100644
--- a/AMDiS/cmake3/CMakeLists.txt
+++ b/AMDiS/cmake3/CMakeLists.txt
@@ -13,6 +13,12 @@ option(ENABLE_UMFPACK "Enable support for the UMFPACK solver" false)
 option(ENABLE_COMPRESSION "Use output compression for vtu and arh files" false)
 option(ENABLE_EXTENSIONS "Use extensions for AMDiS" false)
 
+# enable/disable some more features
+option(ENABLE_REINIT "Compile reinit library" true)
+mark_as_advanced(ENABLE_REINIT)
+option(ENABLE_COMPOSITE_FEM "Compile compositeFEM library" true)
+mark_as_advanced(ENABLE_COMPOSITE_FEM)
+
 option(BUILD_SHARED_LIBS "Build all libraries as shared or static, default: shared" ON)
 if (MSVC)
 #    if (${CMAKE_VERSION} VERSION_LESS "3.4")
@@ -198,8 +204,15 @@ if (ENABLE_UMFPACK)
 endif (ENABLE_UMFPACK)
     
 include(amdis_parallel)     # adds sources to amdis
-include(amdis_reinit)       # -> target AMDiS::reinit
-include(amdis_compositeFEM) # -> target AMDiS::compositeFEM
+
+if (ENABLE_REINIT)
+  include(amdis_reinit)       # -> target AMDiS::reinit
+endif (ENABLE_REINIT)
+
+if (ENABLE_COMPOSITE_FEM)
+  include(amdis_compositeFEM) # -> target AMDiS::compositeFEM
+endif (ENABLE_COMPOSITE_FEM)
+
 include(amdis_extensions)   # -> target AMDiS::extensions
 include(muparser)           # -> target muparser
 
diff --git a/AMDiS/cmake3/amdis_extensions.cmake b/AMDiS/cmake3/amdis_extensions.cmake
index 9bd76608f1fdbbdacecc4a948ce7626fab522420..8112218cd0d6411aa2b4e47a6fed608b836523e3 100644
--- a/AMDiS/cmake3/amdis_extensions.cmake
+++ b/AMDiS/cmake3/amdis_extensions.cmake
@@ -7,7 +7,7 @@ if (ENABLE_EXTENSIONS)
         DOC "Path to AMDiS extensions.")
     if (EXTENSIONS_DIR)
         if (NOT EXISTS ${EXTENSIONS_DIR}/Helpers.h OR NOT EXISTS ${EXTENSIONS_DIR}/ExtendedProblemStat.h)
-            message(FATAL_ERROR "Wrong extensions directory! Directory must contain the files 'Helpers.h' and 'ExtendedProblemStath'")
+            message(FATAL_ERROR "Wrong extensions directory! Directory must contain the files 'Helpers.h' and 'ExtendedProblemStat.h'")
         endif ()
         
         add_library(amdis_extensions
@@ -46,13 +46,16 @@ if (ENABLE_EXTENSIONS)
         endif (ENABLE_PARALLEL_DOMAIN)
         
       if (ENABLE_BASE_PROBLEMS)
+            if (ENABLE_REINIT)
+                target_sources(amdis_extensions PRIVATE
+                    ${EXTENSIONS_DIR}/base_problems/CahnHilliard.cc
+                    ${EXTENSIONS_DIR}/base_problems/CahnHilliard_RB.cc
+                    ${EXTENSIONS_DIR}/base_problems/CahnHilliardNavierStokes.cc
+                    ${EXTENSIONS_DIR}/base_problems/CahnHilliardNavierStokes_RB.cc
+                    ${EXTENSIONS_DIR}/base_problems/CahnHilliardNavierStokes_TwoPhase.cc
+                    ${EXTENSIONS_DIR}/base_problems/CahnHilliardNavierStokes_TwoPhase_RB.cc)
+            endif (ENABLE_REINIT)
             target_sources(amdis_extensions PRIVATE
-                ${EXTENSIONS_DIR}/base_problems/CahnHilliard.cc
-                ${EXTENSIONS_DIR}/base_problems/CahnHilliard_RB.cc
-                ${EXTENSIONS_DIR}/base_problems/CahnHilliardNavierStokes.cc
-                ${EXTENSIONS_DIR}/base_problems/CahnHilliardNavierStokes_RB.cc
-                ${EXTENSIONS_DIR}/base_problems/CahnHilliardNavierStokes_TwoPhase.cc
-                ${EXTENSIONS_DIR}/base_problems/CahnHilliardNavierStokes_TwoPhase_RB.cc
                 ${EXTENSIONS_DIR}/base_problems/DiffuseDomainFsi.cc
                 ${EXTENSIONS_DIR}/base_problems/LinearElasticity.cc
                 ${EXTENSIONS_DIR}/base_problems/LinearElasticityPhase.cc
diff --git a/AMDiS/cmake3/amdis_parallel.cmake b/AMDiS/cmake3/amdis_parallel.cmake
index f6f6a5199da3c44f787c156472b8c2357681f6fd..af09c7c6e2b88c33e4ae165957dabba20a9f8107 100644
--- a/AMDiS/cmake3/amdis_parallel.cmake
+++ b/AMDiS/cmake3/amdis_parallel.cmake
@@ -1,6 +1,7 @@
 if (ENABLE_PARALLEL_DOMAIN)
     option(ENABLE_ZOLTAN "Add support for the Parallel Partitioning suite Zoltan" false)
-    option(ENABLE_PARALLEL_SOLVERS "Add some problem dependent solver, e.g. Feti, Navier-Stokes and Cahn-Hilliard" false)
+    option(ENABLE_PARALLEL_SOLVERS "Add some problem dependent solver, e.g. Feti, Navier-Stokes and Cahn-Hilliard" true)
+    mark_as_advanced(ENABLE_PARALLEL_SOLVERS)
     
     add_library(amdis_parallel INTERFACE)
     target_sources(amdis PRIVATE
diff --git a/AMDiS/cmake3/find_boost.cmake b/AMDiS/cmake3/find_boost.cmake
index 887976c155f7d6c44c9af312df31d6fa5e754cf0..01e01a1cbef873167bc1af7524b01bab919af51e 100644
--- a/AMDiS/cmake3/find_boost.cmake
+++ b/AMDiS/cmake3/find_boost.cmake
@@ -1,3 +1,10 @@
+if (BOOST_ROOT)
+    file(TO_NATIVE_PATH ${BOOST_ROOT} BOOST_ROOT)
+endif (BOOST_ROOT)
+if (BOOST_LIBRARYDIR)
+    file(TO_NATIVE_PATH ${BOOST_LIBRARYDIR} BOOST_LIBRARYDIR)
+endif (BOOST_LIBRARYDIR)
+
 set(BOOST_VERSION "1.48")
 set(BOOST_LIBS_REQUIRED system iostreams filesystem program_options date_time)
 if (WIN32)
@@ -15,9 +22,9 @@ if (Boost_FOUND)
     add_library(boost INTERFACE)
     target_include_directories(boost INTERFACE ${Boost_INCLUDE_DIR})
     target_link_libraries(boost INTERFACE  ${Boost_LIBRARIES})
-    
+
     target_link_libraries(amdis_base INTERFACE boost)
-    
+
     if (MSVC_SHARED_LIBS)
         link_directories(${Boost_LIBRARY_DIRS})
         target_compile_definitions(amdis_base INTERFACE ${Boost_LIB_DIAGNOSTIC_DEFINITIONS})
diff --git a/AMDiS/cmake3/find_petsc.cmake b/AMDiS/cmake3/find_petsc.cmake
index 3bef0fb85d1f2652d7606cd178a2e33a851e4dba..adf29806a1278e0b7666c0fc02f4dc40ebdbff15 100644
--- a/AMDiS/cmake3/find_petsc.cmake
+++ b/AMDiS/cmake3/find_petsc.cmake
@@ -42,6 +42,10 @@ function (petsc_get_version)
   endif ()
 endfunction ()
 
+if (PETSC_DIR)
+    file(TO_NATIVE_PATH ${PETSC_DIR} PETSC_DIR)
+endif (PETSC_DIR)
+
 find_path (PETSC_DIR include/petsc.h
   HINTS ${AMDIS_PETSC_DIR} $ENV{HOME}/petsc ENV PETSC_DIR
   DOC "PETSc Directory")
diff --git a/AMDiS/cmake3/find_umfpack.cmake b/AMDiS/cmake3/find_umfpack.cmake
index 1e82d293d1c4121324a26a51c37e1d4bccac9a9e..43b3b8932560281c8d425a2a2d867256b1eec138 100644
--- a/AMDiS/cmake3/find_umfpack.cmake
+++ b/AMDiS/cmake3/find_umfpack.cmake
@@ -2,7 +2,11 @@ if (ENABLE_UMFPACK OR AMDIS_NEED_UMFPACK)
     if (WIN32)
         set(SuiteSparse_USE_LAPACK_BLAS ON)
     endif (WIN32)
-    
+
+    if (SuiteSparse_DIR)
+       file(TO_NATIVE_PATH ${SuiteSparse_DIR} SuiteSparse_DIR)
+    endif (SuiteSparse_DIR)
+
     # try to use a cmake-package of suitesparse
     find_package(SuiteSparse QUIET HINTS ${AMDIS_SuiteSparse_DIR})
     if (SuiteSparse_FOUND)
@@ -12,18 +16,18 @@ if (ENABLE_UMFPACK OR AMDIS_NEED_UMFPACK)
         set(FOUND_SUITESPARSE_LIBS ${SuiteSparse_LIBRARIES})
     else (SuiteSparse_FOUND)
         # find umfpack manually by searching for umfpack.h header file
-        find_library(UMFPACK_LIBRARY umfpack 
+        find_library(UMFPACK_LIBRARY umfpack
             HINTS ${AMDIS_UMFPACK_LIB_DIR}
             DOC "Library file for UMFPACK")
         find_file(UMFPACK_H umfpack.h
             HINTS ${AMDIS_UMFPACK_INCLUDE_DIR} ENV CPATH /usr/include /usr/include/suitesparse /usr/include/ufsparse
             DOC "Headerfile umfpack.h for UMFPACK")
-            
+
         if (UMFPACK_H AND UMFPACK_LIBRARY)
             get_filename_component(UMFPACK_PATH ${UMFPACK_H} PATH)
             get_filename_component(UMFPACK_LIB_PATH ${UMFPACK_LIBRARY} PATH)
             set(FOUND_SUITESPARSE_LIBS ${UMFPACK_LIBRARY})
-            
+
             # find all connected libraries
             find_library(AMD_LIBRARY amd HINTS ${UMFPACK_LIB_PATH})
             find_library(BLAS_LIBRARY NAMES blas openblas HINTS ${UMFPACK_LIB_PATH} /usr/lib /usr/lib/openblas-base)
@@ -42,7 +46,7 @@ if (ENABLE_UMFPACK OR AMDIS_NEED_UMFPACK)
             if (SUITESPARSECONFIG_LIBRARY)
                 list(APPEND FOUND_SUITESPARSE_LIBS ${SUITESPARSECONFIG_LIBRARY})
             endif (SUITESPARSECONFIG_LIBRARY)
-            
+
             target_include_directories(amdis_base INTERFACE ${UMFPACK_PATH})
             target_link_libraries(amdis_base INTERFACE ${FOUND_SUITESPARSE_LIBS})
         else()
@@ -62,23 +66,25 @@ if (ENABLE_UMFPACK OR AMDIS_NEED_UMFPACK)
 	endif (HAVE_CLOCK_GETTIME)
     endif (NOT WIN32)
 
-    
+
     # collect informations about umfpack version and found libraries
     if (FOUND_SUITESPARSE_LIBS)
         find_file(_UMFPACK_H umfpack.h HINTS ${SuiteSparse_INCLUDE_DIR} ${UMFPACK_PATH})
         file(STRINGS ${_UMFPACK_H} UMFPACK_VERSION_LINE REGEX "#define UMFPACK_VERSION")
         string(REGEX MATCH "\"UMFPACK V?([^\"]+)\"" UMFPACK_VERSION_REGEX ${UMFPACK_VERSION_LINE})
         set(UMFPACK_VERSION ${CMAKE_MATCH_1})
-        
+        unset(_UMFPACK_H CACHE)
+
         message(STATUS "UMFPACK version: ${UMFPACK_VERSION}")
         message(STATUS "Found the following SuiteSparse libraries:")
         foreach (lib ${FOUND_SUITESPARSE_LIBS})
             message(STATUS "  ${lib}")
         endforeach ()
     endif (FOUND_SUITESPARSE_LIBS)
-    
-    target_compile_definitions(amdis_base INTERFACE HAVE_UMFPACK=1)
-    target_compile_definitions(amdis_base INTERFACE MTL_HAS_UMFPACK=1)
-    
+
+    target_compile_definitions(amdis_base INTERFACE
+        HAVE_UMFPACK=1
+        MTL_HAS_UMFPACK=1)
+
     install(FILES ${BASE_DIR}/cmake3/find_umfpack.cmake DESTINATION share/amdis/)
 endif (ENABLE_UMFPACK OR AMDIS_NEED_UMFPACK)
\ No newline at end of file