diff --git a/applications/utilities/postProcessing/graphics/PVReaders/PVFoamReader/CMakeLists.txt b/applications/utilities/postProcessing/graphics/PVReaders/PVFoamReader/CMakeLists.txt
index 18302332ae81e2acbcdb04b4cf74eaeb5ade3a62..621dcf61ae1a028606a5c9768197e2c920f4d828 100644
--- a/applications/utilities/postProcessing/graphics/PVReaders/PVFoamReader/CMakeLists.txt
+++ b/applications/utilities/postProcessing/graphics/PVReaders/PVFoamReader/CMakeLists.txt
@@ -5,24 +5,53 @@ cmake_minimum_required(VERSION 2.8)
 find_package(ParaView REQUIRED)
 include(${PARAVIEW_USE_FILE})
 
+#-----------------------------------------------------------------------------
+# Standard definitions when using OpenFOAM
+
+if (NOT EXISTS "$ENV{WM_PROJECT_DIR}")
+    message(FATAL_ERROR "WM_PROJECT_DIR not set - no OpenFOAM??")
+endif()
+
+# WM_OSTYPE env variable is optional (only POSIX anyhow)
+if (EXISTS "$ENV{WM_OSTYPE}")
+    set(WM_OSTYPE "$ENV{WM_OSTYPE}")
+else()
+    set(WM_OSTYPE "POSIX")
+endif()
+
+# Convenience name, as per wmake internals
+set(LIB_SRC "$ENV{WM_PROJECT_DIR}/src")
+
+# Needed for internal label-size, scalar-size, templates
+add_definitions(
+    -DWM_$ENV{WM_PRECISION_OPTION}
+    -DWM_LABEL_SIZE=$ENV{WM_LABEL_SIZE}
+    -DNoRepository
+
+    -std=c++11
+)
+
+#-----------------------------------------------------------------------------
+
 link_directories(
     $ENV{FOAM_LIBBIN}
 )
 
 include_directories(
-    $ENV{WM_PROJECT_DIR}/src/OpenFOAM/lnInclude
-    $ENV{WM_PROJECT_DIR}/src/OSspecific/$ENV{WM_OSTYPE}/lnInclude
-    $ENV{WM_PROJECT_DIR}/src/conversion/lnInclude
-    $ENV{WM_PROJECT_DIR}/src/finiteArea/lnInclude
-    $ENV{WM_PROJECT_DIR}/src/finiteVolume/lnInclude
+    ${LIB_SRC}/OpenFOAM/lnInclude
+    ${LIB_SRC}/OSspecific/${WM_OSTYPE}/lnInclude
+    ${LIB_SRC}/conversion/lnInclude
+    ${LIB_SRC}/finiteArea/lnInclude
+    ${LIB_SRC}/finiteVolume/lnInclude
     ${PROJECT_SOURCE_DIR}/../foamPv
     ${PROJECT_SOURCE_DIR}/../vtkPVFoam
 )
 
-add_definitions(
-    -std=c++11
-    -DWM_$ENV{WM_PRECISION_OPTION}
-    -DWM_LABEL_SIZE=$ENV{WM_LABEL_SIZE}
+set(OPENFOAM_LIBRARIES
+    OpenFOAM
+    finiteVolume
+    finiteArea
+    conversion
 )
 
 # Set output library destination to plugin directory
@@ -66,10 +95,7 @@ target_link_libraries(
     LINK_PUBLIC
     vtkPVFoam-pv${PARAVIEW_VERSION_MAJOR}.${PARAVIEW_VERSION_MINOR}
     foamPv-pv${PARAVIEW_VERSION_MAJOR}.${PARAVIEW_VERSION_MINOR}
-    conversion
-    finiteArea
-    finiteVolume
-    OpenFOAM
+    ${OPENFOAM_LIBRARIES}
 )
 
 #-----------------------------------------------------------------------------
diff --git a/applications/utilities/postProcessing/graphics/PVReaders/PVblockMeshReader/CMakeLists.txt b/applications/utilities/postProcessing/graphics/PVReaders/PVblockMeshReader/CMakeLists.txt
index ff3a876d3085e12885a682f0019bf6c39a9e3735..c6ae7a2db120dcfe7341f2fbf0c39291bfb2cce3 100644
--- a/applications/utilities/postProcessing/graphics/PVReaders/PVblockMeshReader/CMakeLists.txt
+++ b/applications/utilities/postProcessing/graphics/PVReaders/PVblockMeshReader/CMakeLists.txt
@@ -9,18 +9,44 @@ link_directories(
     $ENV{FOAM_LIBBIN}
 )
 
+#-----------------------------------------------------------------------------
+# Standard definitions when using OpenFOAM
+
+if (NOT EXISTS "$ENV{WM_PROJECT_DIR}")
+    message(FATAL_ERROR "WM_PROJECT_DIR not set - no OpenFOAM??")
+endif()
+
+# WM_OSTYPE env variable is optional (only POSIX anyhow)
+if (EXISTS "$ENV{WM_OSTYPE}")
+    set(WM_OSTYPE "$ENV{WM_OSTYPE}")
+else()
+    set(WM_OSTYPE "POSIX")
+endif()
+
+# Convenience name, as per wmake internals
+set(LIB_SRC "$ENV{WM_PROJECT_DIR}/src")
+
+# Needed for internal label-size, scalar-size, templates
+add_definitions(
+    -DWM_$ENV{WM_PRECISION_OPTION}
+    -DWM_LABEL_SIZE=$ENV{WM_LABEL_SIZE}
+    -DNoRepository
+
+    -std=c++11
+)
+
+#-----------------------------------------------------------------------------
 include_directories(
-    $ENV{WM_PROJECT_DIR}/src/OpenFOAM/lnInclude
-    $ENV{WM_PROJECT_DIR}/src/OSspecific/$ENV{WM_OSTYPE}/lnInclude
-    $ENV{WM_PROJECT_DIR}/src/meshing/blockMesh/lnInclude
+    ${LIB_SRC}/OpenFOAM/lnInclude
+    ${LIB_SRC}/OSspecific/${WM_OSTYPE}/lnInclude
+    ${LIB_SRC}/meshing/blockMesh/lnInclude
     ${PROJECT_SOURCE_DIR}/../foamPv
     ${PROJECT_SOURCE_DIR}/../vtkPVblockMesh
 )
 
-add_definitions(
-    -std=c++11
-    -DWM_$ENV{WM_PRECISION_OPTION}
-    -DWM_LABEL_SIZE=$ENV{WM_LABEL_SIZE}
+set(OPENFOAM_LIBRARIES
+    OpenFOAM
+    blockMesh
 )
 
 # Set output library destination to plugin directory
@@ -64,8 +90,7 @@ target_link_libraries(
     LINK_PUBLIC
     vtkPVblockMesh-pv${PARAVIEW_VERSION_MAJOR}.${PARAVIEW_VERSION_MINOR}
     foamPv-pv${PARAVIEW_VERSION_MAJOR}.${PARAVIEW_VERSION_MINOR}
-    blockMesh
-    OpenFOAM
+    ${OPENFOAM_LIBRARIES}
 )
 
 #-----------------------------------------------------------------------------
diff --git a/src/functionObjects/graphics/runTimePostProcessing/CMakeLists-Common.txt b/src/functionObjects/graphics/runTimePostProcessing/CMakeLists-Common.txt
index 55effddcd5fc858546342eeefb97d8f08f8e5585..85e007c43729ec1fb98c016b71319269329dffeb 100644
--- a/src/functionObjects/graphics/runTimePostProcessing/CMakeLists-Common.txt
+++ b/src/functionObjects/graphics/runTimePostProcessing/CMakeLists-Common.txt
@@ -1,3 +1,5 @@
+#-----------------------------------------------------------------------------
+
 include(${VTK_USE_FILE})
 
 if(VTK_LIBRARIES)
@@ -7,15 +9,15 @@ endif()
 if(${VTK_VERSION} VERSION_GREATER "6")
     message("VTK version: " ${VTK_VERSION})
 else()
-    message(FATAL_ERROR " VTK6 required")
+    message(FATAL_ERROR " VTK version is too old - requires VTK6 or newer")
 endif()
 
 include_directories(
-    $ENV{WM_PROJECT_DIR}/src/OpenFOAM/lnInclude
-    $ENV{WM_PROJECT_DIR}/src/OSspecific/$ENV{WM_OSTYPE}/lnInclude
-    $ENV{WM_PROJECT_DIR}/src/surfMesh/lnInclude
-    $ENV{WM_PROJECT_DIR}/src/finiteVolume/lnInclude
-    $ENV{WM_PROJECT_DIR}/src/conversion/lnInclude
+    ${LIB_SRC}/OpenFOAM/lnInclude
+    ${LIB_SRC}/OSspecific/${WM_OSTYPE}/lnInclude
+    ${LIB_SRC}/finiteVolume/lnInclude
+    ${LIB_SRC}/surfMesh/lnInclude
+    ${LIB_SRC}/conversion/lnInclude
     ${CMAKE_CURRENT_SOURCE_DIR}
     ${CMAKE_CURRENT_BINARY_DIR}
 )
@@ -24,22 +26,8 @@ link_directories(
     $ENV{FOAM_LIBBIN}
 )
 
-add_definitions(
-    -DWM_$ENV{WM_PRECISION_OPTION} -DNoRepository
-    -DWM_LABEL_SIZE=$ENV{WM_LABEL_SIZE}
-)
-
 set(CMAKE_BUILD_TYPE Release)
 
-set(CMAKE_CXX_FLAGS_DEBUG
-    "-g -O0 -std=c++11 -Wall -Wextra -Wno-unused-parameter -Wnon-virtual-dtor -Wno-overloaded-virtual"
-)
-set(CMAKE_C_FLAGS_DEBUG "-g -O0 -std=c++11")
-
-set(CMAKE_CXX_FLAGS_RELEASE
-    "-O3 -std=c++11 -Wall -Wextra -Wno-unused-parameter -Wnon-virtual-dtor -Wno-overloaded-virtual")
-set(CMAKE_C_FLAGS_RELEASE "-O3 -std=c++11")
-
 # Set output library destination to plugin directory
 set(LIBRARY_OUTPUT_PATH $ENV{FOAM_LIBBIN}
     CACHE INTERNAL
@@ -72,8 +60,8 @@ file(GLOB SOURCE_FILES
 
 set(OPENFOAM_LIBRARIES
     OpenFOAM
-    surfMesh
     finiteVolume
+    surfMesh
     conversion
 )
 
@@ -84,10 +72,10 @@ add_library(
 )
 
 set_target_properties(
-  runTimePostProcessing
-  PROPERTIES
-  VERSION ${VTK_MAJOR_VERSION}.${VTK_MINOR_VERSION}.${VTK_BUILD_VERSION}
-  SOVERSION ${VTK_MAJOR_VERSION}
+    runTimePostProcessing
+    PROPERTIES
+    VERSION ${VTK_MAJOR_VERSION}.${VTK_MINOR_VERSION}.${VTK_BUILD_VERSION}
+    SOVERSION ${VTK_MAJOR_VERSION}
 )
 
 target_link_libraries(
diff --git a/src/functionObjects/graphics/runTimePostProcessing/CMakeLists-OpenFOAM.txt b/src/functionObjects/graphics/runTimePostProcessing/CMakeLists-OpenFOAM.txt
new file mode 100644
index 0000000000000000000000000000000000000000..00a63cbc0d1b13c063dad4a79e0b34ea6f6ff51b
--- /dev/null
+++ b/src/functionObjects/graphics/runTimePostProcessing/CMakeLists-OpenFOAM.txt
@@ -0,0 +1,32 @@
+#-----------------------------------------------------------------------------
+# Standard definitions when using OpenFOAM
+
+if (NOT EXISTS "$ENV{WM_PROJECT_DIR}")
+    message(FATAL_ERROR "WM_PROJECT_DIR not set - no OpenFOAM??")
+endif()
+
+# WM_OSTYPE env variable is optional (only POSIX anyhow)
+if (EXISTS "$ENV{WM_OSTYPE}")
+    set(WM_OSTYPE "$ENV{WM_OSTYPE}")
+else()
+    set(WM_OSTYPE "POSIX")
+endif()
+
+# Convenience name, as per wmake internals
+set(LIB_SRC "$ENV{WM_PROJECT_DIR}/src")
+
+# Needed for internal label-size, scalar-size, templates
+add_definitions(
+    -DWM_$ENV{WM_PRECISION_OPTION}
+    -DWM_LABEL_SIZE=$ENV{WM_LABEL_SIZE}
+    -DNoRepository
+)
+
+set(CMAKE_CXX_FLAGS_DEBUG
+    "-g -O0 -std=c++11 -Wall -Wextra -Wno-unused-parameter -Wnon-virtual-dtor -Wno-overloaded-virtual"
+)
+set(CMAKE_CXX_FLAGS_RELEASE
+    "-O3 -std=c++11 -Wall -Wextra -Wno-unused-parameter -Wnon-virtual-dtor -Wno-overloaded-virtual"
+)
+
+#-----------------------------------------------------------------------------
diff --git a/src/functionObjects/graphics/runTimePostProcessing/CMakeLists.txt b/src/functionObjects/graphics/runTimePostProcessing/CMakeLists.txt
index 903942b3057e8589b4f050d19b320f457096190a..0a3838b4ea7ad7205b020680ff8c3cc2be909b78 100644
--- a/src/functionObjects/graphics/runTimePostProcessing/CMakeLists.txt
+++ b/src/functionObjects/graphics/runTimePostProcessing/CMakeLists.txt
@@ -17,11 +17,11 @@ elseif (EXISTS "$ENV{ParaView_DIR}")
         VTK_VERSION
         "${VTK_MAJOR_VERSION}.${VTK_MINOR_VERSION}.${VTK_BUILD_VERSION}"
     )
-else ()
+else()
     message (FATAL_ERROR "VTK not found using VTK_DIR or ParaView_DIR")
-endif ()
+endif()
 
+include(CMakeLists-OpenFOAM.txt)
 include(CMakeLists-Common.txt)
 
-
 #-----------------------------------------------------------------------------