diff --git a/CMakeLists.txt b/CMakeLists.txt
index c93aa25f4d7775eb4c27617369f414a09560d07e..1cbf56fa7242a41f2274ef4f2d53dcebc2578166 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -73,6 +73,26 @@ elseif(CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
   set(PASTIS_CXX_FLAGS "${PASTIS_CXX_FLAGS} -Wsign-compare -Wunused -Wunused-member-function -Wunused-private-field")
 endif()
 
+#------------------------------------------------------
+# defaults use of MPI
+set(PASTIS_ENABLE_MPI AUTO CACHE STRING
+  "Choose one of: AUTO ON OFF")
+
+if (NOT PASTIS_ENABLE_MPI MATCHES "^(AUTO|ON|OFF)$")
+  message(FATAL_ERROR "PASTIS_ENABLE_MPI='${PASTIS_ENABLE_MPI}'. Must be set to one of AUTO, ON or OFF")
+endif()
+
+# checks for MPI
+if (PASTIS_ENABLE_MPI MATCHES "^(AUTO|ON)$")
+  find_package(MPI)
+endif()
+
+if (${MPI_FOUND})
+  set(PASTIS_CXX_FLAGS "${PASTIS_CXX_FLAGS} ${MPI_CXX_COMPILER_FLAGS}")
+  include_directories(${MPI_CXX_INCLUDE_DIRS})
+elseif(PASTIS_ENABLE_MPI STREQUAL "ON")
+  message(FATAL_ERROR "Could not find MPI library while requested")
+endif()
 
 #------------------------------------------------------
 
@@ -88,13 +108,13 @@ set(KOKKOS_ENABLE_EXPLICIT_INSTANTIATION OFF CACHE BOOL "")
 # do not use Kokkos deprecated code
 set(KOKKOS_ENABLE_DEPRECATED_CODE OFF CACHE BOOL "")
 
-# Kokkso compiler flags
+# Kokkos compiler flags
 add_subdirectory(${PASTIS_SOURCE_DIR}/packages/kokkos)
 include_directories(${Kokkos_INCLUDE_DIRS_RET})
 include(GetKokkosCompilerFlags)
 
 # sets Kokkos debug flags when non release build
-if (CMAKE_BUILD_TYPE MATCHES "Release")
+if (CMAKE_BUILD_TYPE MATCHES "^Release$")
   set (KOKKOS_ENABLE_DEBUG OFF)
 else()
   set (KOKKOS_ENABLE_DEBUG ON)
@@ -212,5 +232,6 @@ add_executable(
 target_link_libraries(
   pastis
   kokkos
+  ${MPI_CXX_LINK_FLAGS} ${MPI_CXX_LIBRARIES}
   PastisUtils
   PastisMesh)