diff --git a/CMakeLists.txt b/CMakeLists.txt
index d3306db95476b2e91773271f548b3937a417b421..3159d9471f1d59fd8e573c4f85576156c243c3df 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -3,6 +3,10 @@ cmake_minimum_required (VERSION 3.19)
 # CMake utils
 list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
 
+set(CMAKE_INSTALL_LIBDIR "lib")
+set(CMAKE_INSTALL_INCLUDEDIR "include")
+set(CMAKE_INSTALL_BINDIR "bin")
+
 # Forbids in-source builds
 include(CheckNotInSources)
 
diff --git a/tools/plugin-template/CMakeLists.txt-template b/tools/plugin-template/CMakeLists.txt-template
index 9c6478b0711cbbd5e38a41f3eaa6c4736a300e67..369887ba7ffd5dfeb9b3593157c51d7a1beefd2f 100644
--- a/tools/plugin-template/CMakeLists.txt-template
+++ b/tools/plugin-template/CMakeLists.txt-template
@@ -23,14 +23,21 @@ find_package(Pugs REQUIRED)
 list(APPEND CMAKE_MODULE_PATH "${PUGS_PREFIX_PATH}/lib/cmake/Kokkos")
 include(KokkosConfig)
 
-set(HDF5_PREFER_PARALLEL TRUE)
-list(APPEND CMAKE_MODULE_PATH "${PUGS_PREFIX_PATH}/lib/cmake/HighFive")
-include(HighFiveConfig)
-
 list(APPEND CMAKE_MODULE_PATH "${PUGS_PREFIX_PATH}/lib/cmake/pugs")
-include(PugsTargets)
 include(PugsCompileFlags)
 
+if (${PUGS_HAS_MPI})
+  set(HDF5_PREFER_PARALLEL TRUE)
+  list(APPEND CMAKE_MODULE_PATH "${PUGS_PREFIX_PATH}/lib/cmake/HighFive")
+
+  include(HighFiveConfig)
+  if (TARGET HighFive)
+    set(HIGHFIVE_TARGET HighFive::HighFive)
+  endif()
+endif()
+
+include(PugsTargets)
+
 #------------------------------------------------------
 
 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${PUGS_CMAKE_CXX_FLAGS}")
@@ -77,16 +84,11 @@ include_directories("${CMAKE_CURRENT_SOURCE_DIR}")
 include_directories(SYSTEM "${PUGS_PREFIX_PATH}/include")
 include_directories(SYSTEM "${PUGS_PREFIX_PATH}/include/kokkos")
 include_directories(SYSTEM "${PUGS_PREFIX_PATH}/include/tao/")
+if (${PUGS_HAS_MPI})
 include_directories(SYSTEM "${MPI_CXX_INCLUDE_DIRS}")
+endif()
 
-get_target_property(_prop Pugs::PugsAlgebra INTERFACE_INCLUDE_DIRECTORIES)
-set(PUGS_INC_DIR "${PUGS_INC_DIR};${_prop}")
-get_target_property(_prop Pugs::PugsUtils INTERFACE_INCLUDE_DIRECTORIES)
-set(PUGS_INC_DIR "${PUGS_INC_DIR};${_prop}")
-get_target_property(_prop Pugs::pugs INTERFACE_INCLUDE_DIRECTORIES)
-set(PUGS_INC_DIR "${PUGS_INC_DIR};${_prop}")
-
-include_directories(SYSTEM ${PUGS_INC_DIR})
+include_directories(SYSTEM "${PUGS_PREFIX_PATH}/include")
 link_directories(${PUGS_PREFIX_PATH}/lib)
 
 #------------------------------------------------------
@@ -143,6 +145,10 @@ add_library(_PLUGIN_NAME_
   # add cpp sources files here
 )
 
+target_link_libraries(_PLUGIN_NAME_
+  ${HIGHFIVE_TARGET}
+)
+
 #------------------------------------------------------
 
 add_subdirectory(tests)