diff --git a/AMDiS/CMakeLists.txt b/AMDiS/CMakeLists.txt
index d0d5947c2084218680f0a3dbd5a3feca2225843f..1b42ed82bb91f8a8fc44051238bb406dc6946437 100644
--- a/AMDiS/CMakeLists.txt
+++ b/AMDiS/CMakeLists.txt
@@ -268,7 +268,7 @@ if(ENABLE_PARALLEL_DOMAIN)
 			${SOURCE_DIR}/parallel/PetscSolverGlobalMatrix.cc
 			${SOURCE_DIR}/parallel/PetscSolverGlobalBlockMatrix.cc
 			${SOURCE_DIR}/parallel/PetscSolverNavierStokes.cc
-                        ${SOURCE_DIR}/parallel/PetscSolverNSCH.cc       
+			${SOURCE_DIR}/parallel/PetscSolverNSCH.cc
                         ${SOURCE_DIR}/parallel/PetscSolverCahnHilliard2.cc
                         ${SOURCE_DIR}/parallel/PetscSolverCahnHilliard.cc                        
 			${SOURCE_DIR}/parallel/PetscSolverSchur.cc)
@@ -379,7 +379,11 @@ if(ENABLE_EXTENSIONS)
       list(APPEND AMDIS_INCLUDE_DIRS ${EXTENSIONS_DIR}/time)
       list(APPEND AMDIS_INCLUDE_DIRS ${EXTENSIONS_DIR}/nanoflann)
       list(APPEND AMDIS_INCLUDE_DIRS ${EXTENSIONS_DIR}/pugixml/src)
-      add_library(extensions STATIC ${EXTENSIONS_SRC})
+      if(WIN32)
+	add_library(extensions STATIC ${EXTENSIONS_SRC})
+      else()
+	add_library(extensions SHARED ${EXTENSIONS_SRC})
+      endif()
       list(APPEND AMDIS_LIBS extensions)
 
       FILE(GLOB HEADERS "${EXTENSIONS_DIR}/*.h")
@@ -426,9 +430,8 @@ if(ENABLE_EXTENSIONS)
 		  ${EXTENSIONS_DIR}/base_problems/LinearElasticity.cc
 		  ${EXTENSIONS_DIR}/base_problems/LinearElasticityPhase.cc
     # 	      ${EXTENSIONS_DIR}/base_problems/NavierStokes_Chorin.cc
-    # 	      ${EXTENSIONS_DIR}/base_problems/NavierStokesPhase_Chorin.cc
+		  ${EXTENSIONS_DIR}/base_problems/NavierStokesCahnHilliard.cc
 		  ${EXTENSIONS_DIR}/base_problems/NavierStokesPhase_TaylorHood.cc
-		  ${EXTENSIONS_DIR}/base_problems/NavierStokesCahnHilliard.cc		  
 		  ${EXTENSIONS_DIR}/base_problems/NavierStokes_TaylorHood.cc
 		  ${EXTENSIONS_DIR}/base_problems/NavierStokes_TaylorHood_RB.cc
 		  ${EXTENSIONS_DIR}/base_problems/NavierStokes_TH_MultiPhase.cc
@@ -439,7 +442,11 @@ if(ENABLE_EXTENSIONS)
 		  ${EXTENSIONS_DIR}/base_problems/PhaseFieldCrystal_RB.cc)
 	list(APPEND COMPILEFLAGS "-DHAVE_BASE_PROBLEMS=1")
 	list(APPEND AMDIS_INCLUDE_DIRS ${EXTENSIONS_DIR}/base_problems)
-	add_library(base_problems STATIC ${BASE_PROBLEMS_SRC})
+	if(WIN32)
+	  add_library(base_problems STATIC ${BASE_PROBLEMS_SRC})
+	else()
+	  add_library(base_problems SHARED ${BASE_PROBLEMS_SRC})
+	endif()
 	list(APPEND AMDIS_LIBS base_problems)
 
 	FILE(GLOB HEADERS "${EXTENSIONS_DIR}/base_problems/*.h")
@@ -497,10 +504,17 @@ list(APPEND AMDIS_INCLUDE_DIRS ${SOURCE_DIR})
 #include_directories(${SOURCE_DIR})
 include_directories(${AMDIS_INCLUDE_DIRS})
 
-add_library(amdis STATIC ${AMDIS_SRC} ${PARALLEL_DOMAIN_AMDIS_SRC})
-add_library(compositeFEM STATIC ${COMPOSITE_FEM_SRC})
-add_library(reinit STATIC ${REINIT_SRC})
-add_library(muparser STATIC ${MUPARSER_SRC})
+if(WIN32)
+  add_library(amdis STATIC ${AMDIS_SRC} ${PARALLEL_DOMAIN_AMDIS_SRC})
+  add_library(compositeFEM STATIC ${COMPOSITE_FEM_SRC})
+  add_library(reinit STATIC ${REINIT_SRC})
+  add_library(muparser STATIC ${MUPARSER_SRC})
+else()
+  add_library(amdis SHARED ${AMDIS_SRC} ${PARALLEL_DOMAIN_AMDIS_SRC})
+  add_library(compositeFEM SHARED ${COMPOSITE_FEM_SRC})
+  add_library(reinit SHARED ${REINIT_SRC})
+  add_library(muparser SHARED ${MUPARSER_SRC})
+endif()
 
 #target_link_libraries(compositeFEM amdis)
 #target_link_libraries(reinit amdis)