diff --git a/Applications/Utils/FileConverter/CMakeLists.txt b/Applications/Utils/FileConverter/CMakeLists.txt
index d6b3c6467cfef2a3f050299a4378acf738295d37..e5823db69ff8ae2f9d6f4854ce4b2d053416a28d 100644
--- a/Applications/Utils/FileConverter/CMakeLists.txt
+++ b/Applications/Utils/FileConverter/CMakeLists.txt
@@ -1,45 +1,47 @@
-if(NOT OGS_USE_MPI)
-    set(TOOLS
-        convertGEO
-        generateMatPropsFromMatID
-        GMSH2OGS
-        OGS2VTK
-        VTK2OGS
-        VTK2TIN
-        TIN2VTK
-        TecPlotTools
-        GocadSGridReader
-        GocadTSurfaceReader
-        Mesh2Raster
-    )
+if(OGS_USE_MPI)
+    return()
+endif()
 
-    if(OGS_USE_NETCDF)
-        list(APPEND TOOLS NetCdfConverter)
-    endif()
+set(TOOLS
+    convertGEO
+    generateMatPropsFromMatID
+    GMSH2OGS
+    OGS2VTK
+    VTK2OGS
+    VTK2TIN
+    TIN2VTK
+    TecPlotTools
+    GocadSGridReader
+    GocadTSurfaceReader
+    Mesh2Raster
+)
 
-    if(OGS_BUILD_GUI)
-        list(APPEND TOOLS ConvertSHPToGLI FEFLOW2OGS Mesh2Shape)
-    endif()
+if(OGS_USE_NETCDF)
+    list(APPEND TOOLS NetCdfConverter)
+endif()
 
-    foreach(tool ${TOOLS})
-        ogs_add_executable(${tool} ${tool}.cpp)
-        target_link_libraries(
-            ${tool} ApplicationsFileIO GitInfoLib MeshLib MeshGeoToolsLib tclap
-        )
-    endforeach()
-    install(TARGETS ${TOOLS} RUNTIME DESTINATION bin)
+if(OGS_BUILD_GUI)
+    list(APPEND TOOLS ConvertSHPToGLI FEFLOW2OGS Mesh2Shape)
+endif()
 
-    if(TARGET ConvertSHPToGLI)
-        target_link_libraries(ConvertSHPToGLI GeoLib Qt5::Xml)
-    endif()
+foreach(tool ${TOOLS})
+    ogs_add_executable(${tool} ${tool}.cpp)
+    target_link_libraries(
+        ${tool} ApplicationsFileIO GitInfoLib MeshLib MeshGeoToolsLib tclap
+    )
+endforeach()
+install(TARGETS ${TOOLS} RUNTIME DESTINATION bin)
 
-    if(TARGET NetCdfConverter)
-        target_link_libraries(
-            NetCdfConverter ${NETCDF_LIBRARIES_CXX} ${NETCDF_LIBRARIES_C}
-            ${HDF5_HL_LIBRARIES} ${HDF5_LIBRARIES}
-        )
-        if(OGS_USE_CONAN AND MSVC)
-            target_link_libraries(NetCdfConverter ${CONAN_LIBS})
-        endif()
+if(TARGET ConvertSHPToGLI)
+    target_link_libraries(ConvertSHPToGLI GeoLib Qt5::Xml)
+endif()
+
+if(TARGET NetCdfConverter)
+    target_link_libraries(
+        NetCdfConverter ${NETCDF_LIBRARIES_CXX} ${NETCDF_LIBRARIES_C}
+        ${HDF5_HL_LIBRARIES} ${HDF5_LIBRARIES}
+    )
+    if(OGS_USE_CONAN AND MSVC)
+        target_link_libraries(NetCdfConverter ${CONAN_LIBS})
     endif()
 endif()
diff --git a/Applications/Utils/MeshEdit/CMakeLists.txt b/Applications/Utils/MeshEdit/CMakeLists.txt
index e5da277d0d8e289ea145edf5bf06fad7d2943919..54a64aaac77957db67019f9e5a681d1dcd3e1d12 100644
--- a/Applications/Utils/MeshEdit/CMakeLists.txt
+++ b/Applications/Utils/MeshEdit/CMakeLists.txt
@@ -1,56 +1,58 @@
-if(NOT OGS_USE_MPI)
-    set(TOOLS
-        AddElementQuality
-        AddFaultToVoxelGrid
-        AddLayer
-        appendLinesAlongPolyline
-        checkMesh
-        convertToLinearMesh
-        CreateBoundaryConditionsAlongPolylines
-        createLayeredMeshFromRasters
-        createQuadraticMesh
-        editMaterialID
-        ExtractBoundary
-        ExtractMaterials
-        ExtractSurface
-        Layers2Grid
-        MapGeometryToMeshSurface
-        MoveMesh
-        moveMeshNodes
-        NodeReordering
-        queryMesh
-        removeMeshElements
-        ResetPropertiesInPolygonalRegion
-        reviseMesh
-        swapNodeCoordinateAxes
-        Vtu2Grid
-    )
-
-    if(OGS_BUILD_GUI)
-        ogs_add_executable(
-            RemoveGhostData RemoveGhostData.cpp
-            ${PROJECT_SOURCE_DIR}/ThirdParty/paraview/vtkCleanUnstructuredGrid.cpp
-        )
-        target_include_directories(
-            RemoveGhostData PRIVATE ${PROJECT_SOURCE_DIR}/ThirdParty/paraview
-        )
-        target_link_libraries(RemoveGhostData GitInfoLib MeshLib tclap)
-        install(TARGETS RemoveGhostData RUNTIME DESTINATION bin)
-    endif()
+if(OGS_USE_MPI)
+    return()
+endif()
 
-    foreach(tool ${TOOLS})
-        ogs_add_executable(${tool} ${tool}.cpp)
-        target_link_libraries(${tool} GitInfoLib MeshLib tclap)
-    endforeach()
-    install(TARGETS ${TOOLS} RUNTIME DESTINATION bin)
+set(TOOLS
+    AddElementQuality
+    AddFaultToVoxelGrid
+    AddLayer
+    appendLinesAlongPolyline
+    checkMesh
+    convertToLinearMesh
+    CreateBoundaryConditionsAlongPolylines
+    createLayeredMeshFromRasters
+    createQuadraticMesh
+    editMaterialID
+    ExtractBoundary
+    ExtractMaterials
+    ExtractSurface
+    Layers2Grid
+    MapGeometryToMeshSurface
+    MoveMesh
+    moveMeshNodes
+    NodeReordering
+    queryMesh
+    removeMeshElements
+    ResetPropertiesInPolygonalRegion
+    reviseMesh
+    swapNodeCoordinateAxes
+    Vtu2Grid
+)
 
-    target_link_libraries(
-        appendLinesAlongPolyline MeshGeoToolsLib ApplicationsFileIO
+if(OGS_BUILD_GUI)
+    ogs_add_executable(
+        RemoveGhostData RemoveGhostData.cpp
+        ${PROJECT_SOURCE_DIR}/ThirdParty/paraview/vtkCleanUnstructuredGrid.cpp
     )
-    target_link_libraries(
-        CreateBoundaryConditionsAlongPolylines MeshGeoToolsLib ApplicationsFileIO
+    target_include_directories(
+        RemoveGhostData PRIVATE ${PROJECT_SOURCE_DIR}/ThirdParty/paraview
     )
-    target_link_libraries(createLayeredMeshFromRasters ApplicationsFileIO)
-    target_link_libraries(MapGeometryToMeshSurface MeshGeoToolsLib)
-    target_link_libraries(ResetPropertiesInPolygonalRegion ApplicationsFileIO)
+    target_link_libraries(RemoveGhostData GitInfoLib MeshLib tclap)
+    install(TARGETS RemoveGhostData RUNTIME DESTINATION bin)
 endif()
+
+foreach(tool ${TOOLS})
+    ogs_add_executable(${tool} ${tool}.cpp)
+    target_link_libraries(${tool} GitInfoLib MeshLib tclap)
+endforeach()
+install(TARGETS ${TOOLS} RUNTIME DESTINATION bin)
+
+target_link_libraries(
+    appendLinesAlongPolyline MeshGeoToolsLib ApplicationsFileIO
+)
+target_link_libraries(
+    CreateBoundaryConditionsAlongPolylines MeshGeoToolsLib ApplicationsFileIO
+)
+target_link_libraries(createLayeredMeshFromRasters ApplicationsFileIO)
+target_link_libraries(MapGeometryToMeshSurface MeshGeoToolsLib)
+target_link_libraries(ResetPropertiesInPolygonalRegion ApplicationsFileIO)
diff --git a/Applications/Utils/MeshGeoTools/CMakeLists.txt b/Applications/Utils/MeshGeoTools/CMakeLists.txt
index 2248e9f004c99e9edb5ea1c9ea8e46e48850b818..99eff7baa94826d0e3237191080b4b323ca2927a 100644
--- a/Applications/Utils/MeshGeoTools/CMakeLists.txt
+++ b/Applications/Utils/MeshGeoTools/CMakeLists.txt
@@ -1,30 +1,32 @@
-if(NOT OGS_USE_MPI)
-    set(TOOLS
-        AssignRasterDataToMesh
-        computeSurfaceNodeIDsInPolygonalRegion
-        constructMeshesFromGeometry
-        createIntermediateRasters
-        identifySubdomains
-        IntegrateBoreholesIntoMesh
-        Raster2Mesh
-    )
+if(OGS_USE_MPI)
+    return()
+endif()
 
-    if(OGS_BUILD_GUI)
-        # Utility requires that GUI is build because it uses Qt-based functionality
-        # Also requires gmsh at runtime
-        list(APPEND TOOLS VerticalSliceFromLayers)
-    endif()
+set(TOOLS
+    AssignRasterDataToMesh
+    computeSurfaceNodeIDsInPolygonalRegion
+    constructMeshesFromGeometry
+    createIntermediateRasters
+    identifySubdomains
+    IntegrateBoreholesIntoMesh
+    Raster2Mesh
+)
 
-    foreach(tool ${TOOLS})
-        ogs_add_executable(${tool} ${tool}.cpp)
-        target_link_libraries(
-            ${tool} ApplicationsFileIO GitInfoLib MeshLib MeshGeoToolsLib tclap
-        )
-    endforeach()
+if(OGS_BUILD_GUI)
+    # Utility requires that GUI is build because it uses Qt-based functionality
+    # Also requires gmsh at runtime
+    list(APPEND TOOLS VerticalSliceFromLayers)
+endif()
 
-    if(TARGET VerticalSliceFromLayers)
-        target_link_libraries(VerticalSliceFromLayers Qt5::Xml Qt5::XmlPatterns)
-    endif()
+foreach(tool ${TOOLS})
+    ogs_add_executable(${tool} ${tool}.cpp)
+    target_link_libraries(
+        ${tool} ApplicationsFileIO GitInfoLib MeshLib MeshGeoToolsLib tclap
+    )
+endforeach()
 
-    install(TARGETS ${TOOLS} RUNTIME DESTINATION bin)
+if(TARGET VerticalSliceFromLayers)
+    target_link_libraries(VerticalSliceFromLayers Qt5::Xml Qt5::XmlPatterns)
 endif()
+
+install(TARGETS ${TOOLS} RUNTIME DESTINATION bin)
diff --git a/Applications/Utils/ModelPreparation/CMakeLists.txt b/Applications/Utils/ModelPreparation/CMakeLists.txt
index dfd9b2f6f9e8be37496ccda263b9ec4a706cdda1..3ab33a1d0abcd060e9cf85cc75d2c58fe030672b 100644
--- a/Applications/Utils/ModelPreparation/CMakeLists.txt
+++ b/Applications/Utils/ModelPreparation/CMakeLists.txt
@@ -1,12 +1,14 @@
-if(NOT OGS_USE_MPI)
-    set(TOOLS ComputeNodeAreasFromSurfaceMesh convertVtkDataArrayToVtkDataArray
-              createNeumannBc scaleProperty
-    )
-    foreach(tool ${TOOLS})
-        ogs_add_executable(${tool} ${tool}.cpp)
-        target_link_libraries(${tool} GitInfoLib MeshLib tclap)
-    endforeach()
-    install(TARGETS ${TOOLS} RUNTIME DESTINATION bin)
+add_subdirectory(PartitionMesh)
+
+if(OGS_USE_MPI)
+    return()
 endif()
 
-add_subdirectory(PartitionMesh)
+set(TOOLS ComputeNodeAreasFromSurfaceMesh convertVtkDataArrayToVtkDataArray
+          createNeumannBc scaleProperty
+)
+foreach(tool ${TOOLS})
+    ogs_add_executable(${tool} ${tool}.cpp)
+    target_link_libraries(${tool} GitInfoLib MeshLib tclap)
+endforeach()
+install(TARGETS ${TOOLS} RUNTIME DESTINATION bin)
diff --git a/Applications/Utils/ModelPreparation/PartitionMesh/CMakeLists.txt b/Applications/Utils/ModelPreparation/PartitionMesh/CMakeLists.txt
index 7d2208f745d0a596b05a6258c28a7e613ee06ca2..3e3565c0e8ee3530784db0d75cb0d1f230ff3302 100644
--- a/Applications/Utils/ModelPreparation/PartitionMesh/CMakeLists.txt
+++ b/Applications/Utils/ModelPreparation/PartitionMesh/CMakeLists.txt
@@ -1,16 +1,18 @@
-if(NOT OGS_USE_MPI)
-    CPMAddPackage(
-        NAME metis
-        GITHUB_REPOSITORY scibuilder/metis
-        GIT_TAG 982842a5ace9b3da2b2800817eb9e5fd3b42966b
-        DOWNLOAD_ONLY YES
-    )
-    include(${PROJECT_SOURCE_DIR}/scripts/cmake/MetisSetup.cmake)
-
-    ogs_add_executable(
-        partmesh PartitionMesh.cpp Metis.cpp NodeWiseMeshPartitioner.cpp
-    )
-    target_link_libraries(partmesh GitInfoLib MeshLib tclap)
-    add_dependencies(partmesh mpmetis)
-    install(TARGETS partmesh RUNTIME DESTINATION bin)
+if(OGS_USE_MPI)
+    return()
 endif()
+
+CPMAddPackage(
+    NAME metis
+    GITHUB_REPOSITORY scibuilder/metis
+    GIT_TAG 982842a5ace9b3da2b2800817eb9e5fd3b42966b
+    DOWNLOAD_ONLY YES
+)
+include(${PROJECT_SOURCE_DIR}/scripts/cmake/MetisSetup.cmake)
+
+ogs_add_executable(
+    partmesh PartitionMesh.cpp Metis.cpp NodeWiseMeshPartitioner.cpp
+)
+target_link_libraries(partmesh GitInfoLib MeshLib tclap)
+add_dependencies(partmesh mpmetis)
+install(TARGETS partmesh RUNTIME DESTINATION bin)
diff --git a/Applications/Utils/PostProcessing/CMakeLists.txt b/Applications/Utils/PostProcessing/CMakeLists.txt
index 705c220b769a138c9b766db71b2d9e53c35c53a7..e8aa1a36cbb4bc4260c0cd2a0895e1e165e241a4 100644
--- a/Applications/Utils/PostProcessing/CMakeLists.txt
+++ b/Applications/Utils/PostProcessing/CMakeLists.txt
@@ -1,16 +1,18 @@
-if(NOT OGS_USE_MPI)
-    if(OGS_BUILD_PROCESS_LIE)
-        ogs_add_executable(postLIE postLIE.cpp)
-        target_link_libraries(postLIE GitInfoLib LIECommon tclap)
-        install(TARGETS postLIE RUNTIME DESTINATION bin)
-    endif()
+if(OGS_USE_MPI)
+    return()
+endif()
+
+if(OGS_BUILD_PROCESS_LIE)
+    ogs_add_executable(postLIE postLIE.cpp)
+    target_link_libraries(postLIE GitInfoLib LIECommon tclap)
+    install(TARGETS postLIE RUNTIME DESTINATION bin)
+endif()
 
-    if(OGS_BUILD_GUI)
-        ogs_add_executable(Raster2PointCloud Raster2PointCloud.cpp)
-        target_link_libraries(
-            Raster2PointCloud ApplicationsFileIO BaseLib GitInfoLib tclap
-            VtkVisFilter
-        )
-        install(TARGETS Raster2PointCloud RUNTIME DESTINATION bin)
-    endif()
+if(OGS_BUILD_GUI)
+    ogs_add_executable(Raster2PointCloud Raster2PointCloud.cpp)
+    target_link_libraries(
+        Raster2PointCloud ApplicationsFileIO BaseLib GitInfoLib tclap
+        VtkVisFilter
+    )
+    install(TARGETS Raster2PointCloud RUNTIME DESTINATION bin)
 endif()
diff --git a/Applications/Utils/SimpleMeshCreation/CMakeLists.txt b/Applications/Utils/SimpleMeshCreation/CMakeLists.txt
index c8361cc8bc7e6408f3f1d3459988d57db10d353e..9b0b9fd3475a2c67b2a6dc9add19d4707eeda918 100644
--- a/Applications/Utils/SimpleMeshCreation/CMakeLists.txt
+++ b/Applications/Utils/SimpleMeshCreation/CMakeLists.txt
@@ -1,12 +1,14 @@
-if(NOT OGS_USE_MPI)
-    set(TOOLS generateStructuredMesh)
-    if(OGS_BUILD_GUI)
-        list(APPEND TOOLS createMeshElemPropertiesFromASCRaster)
-    endif()
+if(OGS_USE_MPI)
+    return()
+endif()
 
-    foreach(tool ${TOOLS})
-        ogs_add_executable(${tool} ${tool}.cpp)
-        target_link_libraries(${tool} ApplicationsFileIO GitInfoLib MeshLib tclap)
-    endforeach()
-    install(TARGETS ${TOOLS} RUNTIME DESTINATION bin)
+set(TOOLS generateStructuredMesh)
+if(OGS_BUILD_GUI)
+    list(APPEND TOOLS createMeshElemPropertiesFromASCRaster)
 endif()
+
+foreach(tool ${TOOLS})
+    ogs_add_executable(${tool} ${tool}.cpp)
+    target_link_libraries(${tool} ApplicationsFileIO GitInfoLib MeshLib tclap)
+endforeach()
+install(TARGETS ${TOOLS} RUNTIME DESTINATION bin)