diff --git a/applications/utilities/postProcessing/graphics/PVReaders/Allwclean b/applications/utilities/postProcessing/graphics/PVReaders/Allwclean
index f9777f02d2b82c875811dfe27d0181a3370b700d..5b27d1316b9f59cee17bfa959ea5404fb96c9695 100755
--- a/applications/utilities/postProcessing/graphics/PVReaders/Allwclean
+++ b/applications/utilities/postProcessing/graphics/PVReaders/Allwclean
@@ -4,8 +4,8 @@ cd ${0%/*} || exit 1                            # Run from this directory
 
 # Cleanup libraries
 wclean libso foamPv
-wclean libso vtkPVblockMesh
-wclean libso vtkPVFoam
+wclean libso blockMeshReader/library
+wclean libso foamReader/library
 
 # Cleanup client-server and/or combined plugins
 rm -f $FOAM_LIBBIN/libPVblockMeshReader* 2>/dev/null
diff --git a/applications/utilities/postProcessing/graphics/PVReaders/Allwmake b/applications/utilities/postProcessing/graphics/PVReaders/Allwmake
index babf98f51abd64d36026d8de9c4c30878cc394b9..656c1e6d2fd97b438ea6d1840aeffb3d0aba69d1 100755
--- a/applications/utilities/postProcessing/graphics/PVReaders/Allwmake
+++ b/applications/utilities/postProcessing/graphics/PVReaders/Allwmake
@@ -17,13 +17,28 @@ if have_pvplugin_support
 then
 (
     wmakeLibPv foamPv
-    wmakeLibPv vtkPVblockMesh
-    wmakeLibPv vtkPVFoam
+    wmakeLibPv blockMeshReader/library
+    wmakeLibPv foamReader/library
+
+    unset cmakeType
 
     if [ "$targetType" != objects ]
     then
-        cmakePv $PWD/PVblockMeshReader || warnIncomplete "BlockMesh"
-        cmakePv $PWD/PVFoamReader || warnIncomplete "OpenFOAM"
+        case "$PARAVIEW_API" in
+        (5.[0-6])
+            cmakeType="cmakePv"
+            ;;
+        (*)
+            # cmakeType="cmakePvInstall"
+            warnIncomplete "(unknown/unsupported version: $PARAVIEW_API)"
+            ;;
+        esac
+    fi
+
+    if [ -n "$cmakeType" ]
+    then
+        "$cmakeType" $PWD/blockMeshReader || warnIncomplete "blockMesh"
+        "$cmakeType" $PWD/foamReader || warnIncomplete "OpenFOAM"
     fi
 )
 fi
diff --git a/applications/utilities/postProcessing/graphics/PVReaders/PVFoamReader/CMakeLists.txt b/applications/utilities/postProcessing/graphics/PVReaders/PVFoamReader/CMakeLists.txt
deleted file mode 100644
index 0d0384dac34893075df81e94103d63bc451e26e2..0000000000000000000000000000000000000000
--- a/applications/utilities/postProcessing/graphics/PVReaders/PVFoamReader/CMakeLists.txt
+++ /dev/null
@@ -1,25 +0,0 @@
-#-----------------------------------------------------------------------------
-
-cmake_minimum_required(VERSION 2.8)
-cmake_policy(SET CMP0002 NEW)   # Policy CMP0002 required for for cmake >= 3
-
-# Fail if not building out-of-source
-if (CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_CURRENT_BINARY_DIR)
-    message(FATAL_ERROR
-        "In-source builds disallowed. Use a separate build directory")
-endif()
-
-#-----------------------------------------------------------------------------
-# Simple discovery and sanity checks
-
-find_package(ParaView REQUIRED)
-if (PARAVIEW_USE_FILE)
-    include(${PARAVIEW_USE_FILE})
-endif()
-
-#-----------------------------------------------------------------------------
-
-include(CMakeLists-OpenFOAM.txt)
-include(CMakeLists-Project.txt)
-
-#-----------------------------------------------------------------------------
diff --git a/applications/utilities/postProcessing/graphics/PVReaders/PVblockMeshReader/CMakeLists.txt b/applications/utilities/postProcessing/graphics/PVReaders/PVblockMeshReader/CMakeLists.txt
deleted file mode 100644
index 0d0384dac34893075df81e94103d63bc451e26e2..0000000000000000000000000000000000000000
--- a/applications/utilities/postProcessing/graphics/PVReaders/PVblockMeshReader/CMakeLists.txt
+++ /dev/null
@@ -1,25 +0,0 @@
-#-----------------------------------------------------------------------------
-
-cmake_minimum_required(VERSION 2.8)
-cmake_policy(SET CMP0002 NEW)   # Policy CMP0002 required for for cmake >= 3
-
-# Fail if not building out-of-source
-if (CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_CURRENT_BINARY_DIR)
-    message(FATAL_ERROR
-        "In-source builds disallowed. Use a separate build directory")
-endif()
-
-#-----------------------------------------------------------------------------
-# Simple discovery and sanity checks
-
-find_package(ParaView REQUIRED)
-if (PARAVIEW_USE_FILE)
-    include(${PARAVIEW_USE_FILE})
-endif()
-
-#-----------------------------------------------------------------------------
-
-include(CMakeLists-OpenFOAM.txt)
-include(CMakeLists-Project.txt)
-
-#-----------------------------------------------------------------------------
diff --git a/applications/utilities/postProcessing/graphics/PVReaders/PVFoamReader/CMakeLists-OpenFOAM.txt b/applications/utilities/postProcessing/graphics/PVReaders/blockMeshReader/CMakeLists-OpenFOAM.txt
similarity index 100%
rename from applications/utilities/postProcessing/graphics/PVReaders/PVFoamReader/CMakeLists-OpenFOAM.txt
rename to applications/utilities/postProcessing/graphics/PVReaders/blockMeshReader/CMakeLists-OpenFOAM.txt
diff --git a/applications/utilities/postProcessing/graphics/PVReaders/PVblockMeshReader/CMakeLists-Project.txt b/applications/utilities/postProcessing/graphics/PVReaders/blockMeshReader/CMakeLists-Project.txt
similarity index 65%
rename from applications/utilities/postProcessing/graphics/PVReaders/PVblockMeshReader/CMakeLists-Project.txt
rename to applications/utilities/postProcessing/graphics/PVReaders/blockMeshReader/CMakeLists-Project.txt
index e4b63d8ada5154935fc1051ef513263b687dfba3..f8b8e457d82957c9b6587f6c656302a615687f81 100644
--- a/applications/utilities/postProcessing/graphics/PVReaders/PVblockMeshReader/CMakeLists-Project.txt
+++ b/applications/utilities/postProcessing/graphics/PVReaders/blockMeshReader/CMakeLists-Project.txt
@@ -1,5 +1,5 @@
 #-----------------------------------------------------------------------------
-# OpenFOAM blockMeshDict reader plugin for ParaView GUI
+# OpenFOAM blockMeshDict reader plugin for ParaView GUI (pre-5.7)
 
 link_directories(
     $ENV{FOAM_LIBBIN}
@@ -11,10 +11,12 @@ include_directories(
     ${LIB_SRC}/OSspecific/${WM_OSTYPE}/lnInclude
     ${LIB_SRC}/meshing/blockMesh/lnInclude
     ${PROJECT_SOURCE_DIR}/../foamPv
-    ${PROJECT_SOURCE_DIR}/../vtkPVblockMesh
+    ${PROJECT_SOURCE_DIR}/library
+    ${PROJECT_SOURCE_DIR}/plugin
+    ${PROJECT_SOURCE_DIR}/plugin/reader
 )
 
-set(OPENFOAM_LIBRARIES
+set(OPENFOAM_LIBNAMES
     OpenFOAM
     blockMesh
 )
@@ -27,7 +29,7 @@ set(
 )
 
 
-qt5_wrap_cpp(MOC_SRCS pqFoamBlockMeshControls.h)
+qt5_wrap_cpp(MOC_SRCS plugin/pqFoamBlockMeshControls.h)
 
 add_paraview_property_group_widget(IFACES0 IFACES0_SRCS
     TYPE "openfoam_blockMesh_general_controls"
@@ -36,23 +38,24 @@ add_paraview_property_group_widget(IFACES0 IFACES0_SRCS
 
 add_paraview_plugin(
     PVblockMeshReader_SM "1.0"
-    SERVER_MANAGER_XML PVblockMeshReader_SM.xml
-    SERVER_MANAGER_SOURCES  vtkPVblockMeshReader.cxx
+    SERVER_MANAGER_XML
+        plugin/PVblockMeshReader_SM.xml
+    SERVER_MANAGER_SOURCES
+        plugin/reader/vtkPVblockMeshReader.cxx
     GUI_INTERFACES
         ${IFACES0}
     SOURCES
         ${IFACES0_SRCS}
         ${MOC_SRCS}
-        pqFoamBlockMeshControls.cxx
+        plugin/pqFoamBlockMeshControls.cxx
 )
 
-
 target_link_libraries(
     PVblockMeshReader_SM
     LINK_PUBLIC
-    vtkPVblockMesh-pv${PARAVIEW_VERSION_MAJOR}.${PARAVIEW_VERSION_MINOR}
-    foamPv-pv${PARAVIEW_VERSION_MAJOR}.${PARAVIEW_VERSION_MINOR}
-    ${OPENFOAM_LIBRARIES}
+    foamPv${foamPvLibQualifier}
+    vtkPVblockMesh${foamPvLibQualifier}
+    ${OPENFOAM_LIBNAMES}
 )
 
 #-----------------------------------------------------------------------------
diff --git a/applications/utilities/postProcessing/graphics/PVReaders/blockMeshReader/CMakeLists-Project57.txt b/applications/utilities/postProcessing/graphics/PVReaders/blockMeshReader/CMakeLists-Project57.txt
new file mode 100644
index 0000000000000000000000000000000000000000..718a5318de5b489510b773a0795ac2aaf3a82f3f
--- /dev/null
+++ b/applications/utilities/postProcessing/graphics/PVReaders/blockMeshReader/CMakeLists-Project57.txt
@@ -0,0 +1,6 @@
+#-----------------------------------------------------------------------------
+# OpenFOAM blockMeshDict reader plugin for ParaView GUI (5.7+)
+
+message(FATAL_ERROR "paraview-${pv_api} not yet supported")
+
+#-----------------------------------------------------------------------------
diff --git a/applications/utilities/postProcessing/graphics/PVReaders/blockMeshReader/CMakeLists.txt b/applications/utilities/postProcessing/graphics/PVReaders/blockMeshReader/CMakeLists.txt
new file mode 100644
index 0000000000000000000000000000000000000000..9062310502c4f85170612ca2704499eff3d1e35e
--- /dev/null
+++ b/applications/utilities/postProcessing/graphics/PVReaders/blockMeshReader/CMakeLists.txt
@@ -0,0 +1,49 @@
+#-----------------------------------------------------------------------------
+
+cmake_minimum_required(VERSION 2.8)
+cmake_policy(SET CMP0002 NEW)   # Policy CMP0002 required for for cmake >= 3
+
+# Fail if not building out-of-source
+if (CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_CURRENT_BINARY_DIR)
+    message(FATAL_ERROR
+        "In-source builds disallowed. Use a separate build directory")
+endif()
+
+#-----------------------------------------------------------------------------
+# Simple discovery and sanity checks
+
+find_package(ParaView REQUIRED)
+
+# Qualify OpenFOAM/ParaView libraries with -pvMAJ.MIN
+# The pv_api can also be used for paraview-MAJ.MIN
+if (DEFINED ENV{PARAVIEW_API})
+    set(pv_api "$ENV{PARAVIEW_API}")
+else()
+    if (${ParaView_VERSION} GREATER_EQUAL 5.7)
+        string(REGEX MATCH [0-9]+[.][0-9]+ pv_api ${ParaView_VERSION})
+        message("The PARAVIEW_API env was unset, "
+            "extracted value from version="
+            "${ParaView_VERSION} is ${pv_api}")
+    else()
+        set(pv_api "${PARAVIEW_VERSION_MAJOR}.${ParaView_VERSION_MINOR}")
+        message("The PARAVIEW_API env was unset, "
+            "assembled from maj/min="
+            "${ParaView_VERSION_MAJOR}/${ParaView_VERSION_MINOR} is ${pv_api}")
+    endif()
+endif()
+
+set(foamPvLibQualifier "-pv${pv_api}")
+message("OpenFOAM libraries qualified with ${foamPvLibQualifier}")
+
+#-----------------------------------------------------------------------------
+
+include(CMakeLists-OpenFOAM.txt)
+
+if (${ParaView_VERSION} GREATER_EQUAL 5.7)
+  include(CMakeLists-Project57.txt)
+else()
+  include(${PARAVIEW_USE_FILE})
+  include(CMakeLists-Project.txt)
+endif()
+
+#-----------------------------------------------------------------------------
diff --git a/applications/utilities/postProcessing/graphics/PVReaders/vtkPVblockMesh/Make/files b/applications/utilities/postProcessing/graphics/PVReaders/blockMeshReader/library/Make/files
similarity index 100%
rename from applications/utilities/postProcessing/graphics/PVReaders/vtkPVblockMesh/Make/files
rename to applications/utilities/postProcessing/graphics/PVReaders/blockMeshReader/library/Make/files
diff --git a/applications/utilities/postProcessing/graphics/PVReaders/vtkPVblockMesh/Make/options b/applications/utilities/postProcessing/graphics/PVReaders/blockMeshReader/library/Make/options
similarity index 89%
rename from applications/utilities/postProcessing/graphics/PVReaders/vtkPVblockMesh/Make/options
rename to applications/utilities/postProcessing/graphics/PVReaders/blockMeshReader/library/Make/options
index 40f9fce989ba82558ede84d82ee2b0e775d44fa8..f6b311335eab35a6f48a0d43512a87a92a22ac43 100644
--- a/applications/utilities/postProcessing/graphics/PVReaders/vtkPVblockMesh/Make/options
+++ b/applications/utilities/postProcessing/graphics/PVReaders/blockMeshReader/library/Make/options
@@ -6,8 +6,8 @@ EXE_INC = \
     -I$(LIB_SRC)/mesh/blockMesh/lnInclude \
     -I$(PARAVIEW_INC_DIR) \
     -I$(PARAVIEW_INC_DIR)/vtkkwiml \
-    -I../foamPv \
-    -I../PVblockMeshReader
+    -I../../foamPv \
+    -I../plugin/reader
 
 LIB_LIBS = \
     -lmeshTools \
diff --git a/applications/utilities/postProcessing/graphics/PVReaders/vtkPVblockMesh/vtkPVblockMesh.C b/applications/utilities/postProcessing/graphics/PVReaders/blockMeshReader/library/vtkPVblockMesh.C
similarity index 100%
rename from applications/utilities/postProcessing/graphics/PVReaders/vtkPVblockMesh/vtkPVblockMesh.C
rename to applications/utilities/postProcessing/graphics/PVReaders/blockMeshReader/library/vtkPVblockMesh.C
diff --git a/applications/utilities/postProcessing/graphics/PVReaders/vtkPVblockMesh/vtkPVblockMesh.H b/applications/utilities/postProcessing/graphics/PVReaders/blockMeshReader/library/vtkPVblockMesh.H
similarity index 100%
rename from applications/utilities/postProcessing/graphics/PVReaders/vtkPVblockMesh/vtkPVblockMesh.H
rename to applications/utilities/postProcessing/graphics/PVReaders/blockMeshReader/library/vtkPVblockMesh.H
diff --git a/applications/utilities/postProcessing/graphics/PVReaders/vtkPVblockMesh/vtkPVblockMeshConvert.C b/applications/utilities/postProcessing/graphics/PVReaders/blockMeshReader/library/vtkPVblockMeshConvert.C
similarity index 100%
rename from applications/utilities/postProcessing/graphics/PVReaders/vtkPVblockMesh/vtkPVblockMeshConvert.C
rename to applications/utilities/postProcessing/graphics/PVReaders/blockMeshReader/library/vtkPVblockMeshConvert.C
diff --git a/applications/utilities/postProcessing/graphics/PVReaders/PVblockMeshReader/PVblockMeshReader_SM.xml b/applications/utilities/postProcessing/graphics/PVReaders/blockMeshReader/plugin/PVblockMeshReader_SM.xml
similarity index 100%
rename from applications/utilities/postProcessing/graphics/PVReaders/PVblockMeshReader/PVblockMeshReader_SM.xml
rename to applications/utilities/postProcessing/graphics/PVReaders/blockMeshReader/plugin/PVblockMeshReader_SM.xml
diff --git a/applications/utilities/postProcessing/graphics/PVReaders/PVblockMeshReader/pqFoamBlockMeshControls.cxx b/applications/utilities/postProcessing/graphics/PVReaders/blockMeshReader/plugin/pqFoamBlockMeshControls.cxx
similarity index 100%
rename from applications/utilities/postProcessing/graphics/PVReaders/PVblockMeshReader/pqFoamBlockMeshControls.cxx
rename to applications/utilities/postProcessing/graphics/PVReaders/blockMeshReader/plugin/pqFoamBlockMeshControls.cxx
diff --git a/applications/utilities/postProcessing/graphics/PVReaders/PVblockMeshReader/pqFoamBlockMeshControls.h b/applications/utilities/postProcessing/graphics/PVReaders/blockMeshReader/plugin/pqFoamBlockMeshControls.h
similarity index 100%
rename from applications/utilities/postProcessing/graphics/PVReaders/PVblockMeshReader/pqFoamBlockMeshControls.h
rename to applications/utilities/postProcessing/graphics/PVReaders/blockMeshReader/plugin/pqFoamBlockMeshControls.h
diff --git a/applications/utilities/postProcessing/graphics/PVReaders/PVblockMeshReader/vtkPVblockMeshReader.cxx b/applications/utilities/postProcessing/graphics/PVReaders/blockMeshReader/plugin/reader/vtkPVblockMeshReader.cxx
similarity index 100%
rename from applications/utilities/postProcessing/graphics/PVReaders/PVblockMeshReader/vtkPVblockMeshReader.cxx
rename to applications/utilities/postProcessing/graphics/PVReaders/blockMeshReader/plugin/reader/vtkPVblockMeshReader.cxx
diff --git a/applications/utilities/postProcessing/graphics/PVReaders/PVblockMeshReader/vtkPVblockMeshReader.h b/applications/utilities/postProcessing/graphics/PVReaders/blockMeshReader/plugin/reader/vtkPVblockMeshReader.h
similarity index 100%
rename from applications/utilities/postProcessing/graphics/PVReaders/PVblockMeshReader/vtkPVblockMeshReader.h
rename to applications/utilities/postProcessing/graphics/PVReaders/blockMeshReader/plugin/reader/vtkPVblockMeshReader.h
diff --git a/applications/utilities/postProcessing/graphics/PVReaders/PVblockMeshReader/CMakeLists-OpenFOAM.txt b/applications/utilities/postProcessing/graphics/PVReaders/foamReader/CMakeLists-OpenFOAM.txt
similarity index 100%
rename from applications/utilities/postProcessing/graphics/PVReaders/PVblockMeshReader/CMakeLists-OpenFOAM.txt
rename to applications/utilities/postProcessing/graphics/PVReaders/foamReader/CMakeLists-OpenFOAM.txt
diff --git a/applications/utilities/postProcessing/graphics/PVReaders/PVFoamReader/CMakeLists-Project.txt b/applications/utilities/postProcessing/graphics/PVReaders/foamReader/CMakeLists-Project.txt
similarity index 69%
rename from applications/utilities/postProcessing/graphics/PVReaders/PVFoamReader/CMakeLists-Project.txt
rename to applications/utilities/postProcessing/graphics/PVReaders/foamReader/CMakeLists-Project.txt
index 95dee414db2f86fc87f9f044efd2d9c1b23942a8..c3bf5d129f265cff679cc184c49f438696c55679 100644
--- a/applications/utilities/postProcessing/graphics/PVReaders/PVFoamReader/CMakeLists-Project.txt
+++ b/applications/utilities/postProcessing/graphics/PVReaders/foamReader/CMakeLists-Project.txt
@@ -1,5 +1,5 @@
 #-----------------------------------------------------------------------------
-# OpenFOAM reader plugin for ParaView GUI
+# OpenFOAM reader plugin for ParaView GUI (pre-5.7)
 
 link_directories(
     $ENV{FOAM_LIBBIN}
@@ -14,15 +14,17 @@ include_directories(
     ${LIB_SRC}/finiteArea/lnInclude
     ${LIB_SRC}/finiteVolume/lnInclude
     ${PROJECT_SOURCE_DIR}/../foamPv
-    ${PROJECT_SOURCE_DIR}/../vtkPVFoam
+    ${PROJECT_SOURCE_DIR}/library
+    ${PROJECT_SOURCE_DIR}/plugin
+    ${PROJECT_SOURCE_DIR}/plugin/reader
 )
 
-set(OPENFOAM_LIBRARIES
+set(OPENFOAM_LIBNAMES
     OpenFOAM
-    finiteVolume
-    finiteArea
     fileFormats
     conversion
+    finiteArea
+    finiteVolume
 )
 
 # Set output library destination to plugin directory
@@ -33,7 +35,7 @@ set(
 )
 
 
-qt5_wrap_cpp(MOC_SRCS pqFoamReaderControls.h)
+qt5_wrap_cpp(MOC_SRCS plugin/pqFoamReaderControls.h)
 
 add_paraview_property_group_widget(IFACES0 IFACES0_SRCS
     TYPE "openfoam_reader_general_controls"
@@ -42,23 +44,25 @@ add_paraview_property_group_widget(IFACES0 IFACES0_SRCS
 
 add_paraview_plugin(
     PVFoamReader_SM "1.0"
-    SERVER_MANAGER_XML PVFoamReader_SM.xml
-    SERVER_MANAGER_SOURCES vtkPVFoamReader.cxx
+    SERVER_MANAGER_XML
+        plugin/PVFoamReader_SM.xml
+    SERVER_MANAGER_SOURCES
+        plugin/reader/vtkPVFoamReader.cxx
     GUI_INTERFACES
         ${IFACES0}
     SOURCES
         ${IFACES0_SRCS}
         ${MOC_SRCS}
-        pqFoamReaderControls.cxx
+        plugin/pqFoamReaderControls.cxx
 )
 
 
 target_link_libraries(
     PVFoamReader_SM
     LINK_PUBLIC
-    vtkPVFoam-pv${PARAVIEW_VERSION_MAJOR}.${PARAVIEW_VERSION_MINOR}
-    foamPv-pv${PARAVIEW_VERSION_MAJOR}.${PARAVIEW_VERSION_MINOR}
-    ${OPENFOAM_LIBRARIES}
+    foamPv${foamPvLibQualifier}
+    vtkPVFoam${foamPvLibQualifier}
+    ${OPENFOAM_LIBNAMES}
 )
 
 #-----------------------------------------------------------------------------
diff --git a/applications/utilities/postProcessing/graphics/PVReaders/foamReader/CMakeLists-Project57.txt b/applications/utilities/postProcessing/graphics/PVReaders/foamReader/CMakeLists-Project57.txt
new file mode 100644
index 0000000000000000000000000000000000000000..c5d5236a59a79c43a1c2f1a10b0cfec8e94cc4b9
--- /dev/null
+++ b/applications/utilities/postProcessing/graphics/PVReaders/foamReader/CMakeLists-Project57.txt
@@ -0,0 +1,6 @@
+#-----------------------------------------------------------------------------
+# OpenFOAM reader plugin for ParaView GUI (5.7+)
+
+message(FATAL_ERROR "paraview-${pv_api} not yet supported")
+
+#-----------------------------------------------------------------------------
diff --git a/applications/utilities/postProcessing/graphics/PVReaders/foamReader/CMakeLists.txt b/applications/utilities/postProcessing/graphics/PVReaders/foamReader/CMakeLists.txt
new file mode 100644
index 0000000000000000000000000000000000000000..9062310502c4f85170612ca2704499eff3d1e35e
--- /dev/null
+++ b/applications/utilities/postProcessing/graphics/PVReaders/foamReader/CMakeLists.txt
@@ -0,0 +1,49 @@
+#-----------------------------------------------------------------------------
+
+cmake_minimum_required(VERSION 2.8)
+cmake_policy(SET CMP0002 NEW)   # Policy CMP0002 required for for cmake >= 3
+
+# Fail if not building out-of-source
+if (CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_CURRENT_BINARY_DIR)
+    message(FATAL_ERROR
+        "In-source builds disallowed. Use a separate build directory")
+endif()
+
+#-----------------------------------------------------------------------------
+# Simple discovery and sanity checks
+
+find_package(ParaView REQUIRED)
+
+# Qualify OpenFOAM/ParaView libraries with -pvMAJ.MIN
+# The pv_api can also be used for paraview-MAJ.MIN
+if (DEFINED ENV{PARAVIEW_API})
+    set(pv_api "$ENV{PARAVIEW_API}")
+else()
+    if (${ParaView_VERSION} GREATER_EQUAL 5.7)
+        string(REGEX MATCH [0-9]+[.][0-9]+ pv_api ${ParaView_VERSION})
+        message("The PARAVIEW_API env was unset, "
+            "extracted value from version="
+            "${ParaView_VERSION} is ${pv_api}")
+    else()
+        set(pv_api "${PARAVIEW_VERSION_MAJOR}.${ParaView_VERSION_MINOR}")
+        message("The PARAVIEW_API env was unset, "
+            "assembled from maj/min="
+            "${ParaView_VERSION_MAJOR}/${ParaView_VERSION_MINOR} is ${pv_api}")
+    endif()
+endif()
+
+set(foamPvLibQualifier "-pv${pv_api}")
+message("OpenFOAM libraries qualified with ${foamPvLibQualifier}")
+
+#-----------------------------------------------------------------------------
+
+include(CMakeLists-OpenFOAM.txt)
+
+if (${ParaView_VERSION} GREATER_EQUAL 5.7)
+  include(CMakeLists-Project57.txt)
+else()
+  include(${PARAVIEW_USE_FILE})
+  include(CMakeLists-Project.txt)
+endif()
+
+#-----------------------------------------------------------------------------
diff --git a/applications/utilities/postProcessing/graphics/PVReaders/vtkPVFoam/Make/files b/applications/utilities/postProcessing/graphics/PVReaders/foamReader/library/Make/files
similarity index 100%
rename from applications/utilities/postProcessing/graphics/PVReaders/vtkPVFoam/Make/files
rename to applications/utilities/postProcessing/graphics/PVReaders/foamReader/library/Make/files
diff --git a/applications/utilities/postProcessing/graphics/PVReaders/vtkPVFoam/Make/options b/applications/utilities/postProcessing/graphics/PVReaders/foamReader/library/Make/options
similarity index 84%
rename from applications/utilities/postProcessing/graphics/PVReaders/vtkPVFoam/Make/options
rename to applications/utilities/postProcessing/graphics/PVReaders/foamReader/library/Make/options
index db95069c804b973d19e3dba75ea96f9e72b62ee9..7315fd9d1f202b4c06784ee1c49f59528dd1c582 100644
--- a/applications/utilities/postProcessing/graphics/PVReaders/vtkPVFoam/Make/options
+++ b/applications/utilities/postProcessing/graphics/PVReaders/foamReader/library/Make/options
@@ -1,21 +1,24 @@
 EXE_INC = \
     ${c++LESSWARN} \
+    -I$(LIB_SRC)/fileFormats/lnInclude \
+    -I$(LIB_SRC)/conversion/lnInclude \
     -I$(LIB_SRC)/meshTools/lnInclude \
     -I$(LIB_SRC)/finiteVolume/lnInclude \
     -I$(LIB_SRC)/finiteArea/lnInclude \
     -I$(LIB_SRC)/dynamicMesh/lnInclude \
     -I$(LIB_SRC)/lagrangian/basic/lnInclude \
-    -I$(LIB_SRC)/fileFormats/lnInclude \
-    -I$(LIB_SRC)/conversion/lnInclude \
     -I$(PARAVIEW_INC_DIR) \
     -I$(PARAVIEW_INC_DIR)/vtkkwiml \
-    -I../foamPv \
-    -I../PVFoamReader
+    -I../../foamPv \
+    -I../plugin/reader
 
 LIB_LIBS = \
+    -lfileFormats \
+    -lconversion \
+    -lmeshTools \
+    -lfiniteVolume \
     -lfiniteArea \
     -ldynamicMesh \
-    -lconversion \
     -lgenericPatchFields \
     -llagrangian \
     -L$(FOAM_LIBBIN) -lfoamPv-pv${PARAVIEW_API} \
diff --git a/applications/utilities/postProcessing/graphics/PVReaders/vtkPVFoam/vtkPVFoam.C b/applications/utilities/postProcessing/graphics/PVReaders/foamReader/library/vtkPVFoam.C
similarity index 100%
rename from applications/utilities/postProcessing/graphics/PVReaders/vtkPVFoam/vtkPVFoam.C
rename to applications/utilities/postProcessing/graphics/PVReaders/foamReader/library/vtkPVFoam.C
diff --git a/applications/utilities/postProcessing/graphics/PVReaders/vtkPVFoam/vtkPVFoam.H b/applications/utilities/postProcessing/graphics/PVReaders/foamReader/library/vtkPVFoam.H
similarity index 100%
rename from applications/utilities/postProcessing/graphics/PVReaders/vtkPVFoam/vtkPVFoam.H
rename to applications/utilities/postProcessing/graphics/PVReaders/foamReader/library/vtkPVFoam.H
diff --git a/applications/utilities/postProcessing/graphics/PVReaders/vtkPVFoam/vtkPVFoamFieldTemplates.C b/applications/utilities/postProcessing/graphics/PVReaders/foamReader/library/vtkPVFoamFieldTemplates.C
similarity index 100%
rename from applications/utilities/postProcessing/graphics/PVReaders/vtkPVFoam/vtkPVFoamFieldTemplates.C
rename to applications/utilities/postProcessing/graphics/PVReaders/foamReader/library/vtkPVFoamFieldTemplates.C
diff --git a/applications/utilities/postProcessing/graphics/PVReaders/vtkPVFoam/vtkPVFoamFields.C b/applications/utilities/postProcessing/graphics/PVReaders/foamReader/library/vtkPVFoamFields.C
similarity index 100%
rename from applications/utilities/postProcessing/graphics/PVReaders/vtkPVFoam/vtkPVFoamFields.C
rename to applications/utilities/postProcessing/graphics/PVReaders/foamReader/library/vtkPVFoamFields.C
diff --git a/applications/utilities/postProcessing/graphics/PVReaders/vtkPVFoam/vtkPVFoamMesh.C b/applications/utilities/postProcessing/graphics/PVReaders/foamReader/library/vtkPVFoamMesh.C
similarity index 100%
rename from applications/utilities/postProcessing/graphics/PVReaders/vtkPVFoam/vtkPVFoamMesh.C
rename to applications/utilities/postProcessing/graphics/PVReaders/foamReader/library/vtkPVFoamMesh.C
diff --git a/applications/utilities/postProcessing/graphics/PVReaders/vtkPVFoam/vtkPVFoamMeshLagrangian.C b/applications/utilities/postProcessing/graphics/PVReaders/foamReader/library/vtkPVFoamMeshLagrangian.C
similarity index 100%
rename from applications/utilities/postProcessing/graphics/PVReaders/vtkPVFoam/vtkPVFoamMeshLagrangian.C
rename to applications/utilities/postProcessing/graphics/PVReaders/foamReader/library/vtkPVFoamMeshLagrangian.C
diff --git a/applications/utilities/postProcessing/graphics/PVReaders/vtkPVFoam/vtkPVFoamMeshVolume.C b/applications/utilities/postProcessing/graphics/PVReaders/foamReader/library/vtkPVFoamMeshVolume.C
similarity index 100%
rename from applications/utilities/postProcessing/graphics/PVReaders/vtkPVFoam/vtkPVFoamMeshVolume.C
rename to applications/utilities/postProcessing/graphics/PVReaders/foamReader/library/vtkPVFoamMeshVolume.C
diff --git a/applications/utilities/postProcessing/graphics/PVReaders/vtkPVFoam/vtkPVFoamUpdateInfo.C b/applications/utilities/postProcessing/graphics/PVReaders/foamReader/library/vtkPVFoamUpdateInfo.C
similarity index 100%
rename from applications/utilities/postProcessing/graphics/PVReaders/vtkPVFoam/vtkPVFoamUpdateInfo.C
rename to applications/utilities/postProcessing/graphics/PVReaders/foamReader/library/vtkPVFoamUpdateInfo.C
diff --git a/applications/utilities/postProcessing/graphics/PVReaders/vtkPVFoam/vtkPVFoamUpdateTemplates.C b/applications/utilities/postProcessing/graphics/PVReaders/foamReader/library/vtkPVFoamUpdateTemplates.C
similarity index 100%
rename from applications/utilities/postProcessing/graphics/PVReaders/vtkPVFoam/vtkPVFoamUpdateTemplates.C
rename to applications/utilities/postProcessing/graphics/PVReaders/foamReader/library/vtkPVFoamUpdateTemplates.C
diff --git a/applications/utilities/postProcessing/graphics/PVReaders/PVFoamReader/PVFoamReader_SM.xml b/applications/utilities/postProcessing/graphics/PVReaders/foamReader/plugin/PVFoamReader_SM.xml
similarity index 100%
rename from applications/utilities/postProcessing/graphics/PVReaders/PVFoamReader/PVFoamReader_SM.xml
rename to applications/utilities/postProcessing/graphics/PVReaders/foamReader/plugin/PVFoamReader_SM.xml
diff --git a/applications/utilities/postProcessing/graphics/PVReaders/PVFoamReader/pqFoamReaderControls.cxx b/applications/utilities/postProcessing/graphics/PVReaders/foamReader/plugin/pqFoamReaderControls.cxx
similarity index 100%
rename from applications/utilities/postProcessing/graphics/PVReaders/PVFoamReader/pqFoamReaderControls.cxx
rename to applications/utilities/postProcessing/graphics/PVReaders/foamReader/plugin/pqFoamReaderControls.cxx
diff --git a/applications/utilities/postProcessing/graphics/PVReaders/PVFoamReader/pqFoamReaderControls.h b/applications/utilities/postProcessing/graphics/PVReaders/foamReader/plugin/pqFoamReaderControls.h
similarity index 100%
rename from applications/utilities/postProcessing/graphics/PVReaders/PVFoamReader/pqFoamReaderControls.h
rename to applications/utilities/postProcessing/graphics/PVReaders/foamReader/plugin/pqFoamReaderControls.h
diff --git a/applications/utilities/postProcessing/graphics/PVReaders/PVFoamReader/vtkPVFoamReader.cxx b/applications/utilities/postProcessing/graphics/PVReaders/foamReader/plugin/reader/vtkPVFoamReader.cxx
similarity index 100%
rename from applications/utilities/postProcessing/graphics/PVReaders/PVFoamReader/vtkPVFoamReader.cxx
rename to applications/utilities/postProcessing/graphics/PVReaders/foamReader/plugin/reader/vtkPVFoamReader.cxx
diff --git a/applications/utilities/postProcessing/graphics/PVReaders/PVFoamReader/vtkPVFoamReader.h b/applications/utilities/postProcessing/graphics/PVReaders/foamReader/plugin/reader/vtkPVFoamReader.h
similarity index 100%
rename from applications/utilities/postProcessing/graphics/PVReaders/PVFoamReader/vtkPVFoamReader.h
rename to applications/utilities/postProcessing/graphics/PVReaders/foamReader/plugin/reader/vtkPVFoamReader.h