From 5c2bf86e9e4b02668437a70a0ead751b51436b47 Mon Sep 17 00:00:00 2001
From: Christophe Geuzaine <cgeuzaine@uliege.be>
Date: Sat, 25 Dec 2021 19:41:30 +0100
Subject: [PATCH] move kernel sources in src/ directory, with lowe case
 subdirectories

---
 CMakeLists.txt                                | 113 ++++----
 CREDITS.txt                                   |  61 ++---
 api/README.txt                                |   2 +-
 contrib/QuadMeshingTools/README.md            |  19 +-
 contrib/QuadTri/README.txt                    |   2 +-
 contrib/hxt/tetBR/src/tetgenBR.h              | 254 +++++++++---------
 doc/texinfo/gmsh.texi                         |  74 ++---
 {Common => src/common}/CMakeLists.txt         |   2 +-
 {Common => src/common}/Colors.h               |   0
 {Common => src/common}/CommandLine.cpp        |   0
 {Common => src/common}/CommandLine.h          |   0
 {Common => src/common}/Context.cpp            |   0
 {Common => src/common}/Context.h              |   0
 {Common => src/common}/CreateFile.cpp         |   0
 {Common => src/common}/CreateFile.h           |   0
 {Common => src/common}/DefaultOptions.h       |   0
 {Common => src/common}/GamePad.cpp            |   0
 {Common => src/common}/GamePad.h              |   0
 {Common => src/common}/GmshConfig.h.in        |   0
 {Common => src/common}/GmshDefines.h          |   0
 {Common => src/common}/GmshGlobal.cpp         |   0
 {Common => src/common}/GmshGlobal.h           |   0
 {Common => src/common}/GmshMessage.cpp        |   0
 {Common => src/common}/GmshMessage.h          |   0
 {Common => src/common}/GmshRemote.cpp         |   0
 {Common => src/common}/GmshRemote.h           |   0
 {Common => src/common}/GmshSocket.h           |   0
 {Common => src/common}/GmshVersion.h.in       |   0
 {Common => src/common}/Hash.h                 |   0
 {Common => src/common}/ListUtils.cpp          |   0
 {Common => src/common}/ListUtils.h            |   0
 {Common => src/common}/Main.cpp               |   0
 {Common => src/common}/MallocUtils.cpp        |   0
 {Common => src/common}/MallocUtils.h          |   0
 {Common => src/common}/OS.cpp                 |   0
 {Common => src/common}/OS.h                   |   0
 {Common => src/common}/Octree.cpp             |   0
 {Common => src/common}/Octree.h               |   0
 {Common => src/common}/OctreeInternals.cpp    |   0
 {Common => src/common}/OctreeInternals.h      |   0
 {Common => src/common}/OpenFile.cpp           |   0
 {Common => src/common}/OpenFile.h             |   0
 {Common => src/common}/Options.cpp            |   0
 {Common => src/common}/Options.h              |   0
 {Common => src/common}/SmoothData.cpp         |   0
 {Common => src/common}/SmoothData.h           |   0
 {Common => src/common}/StringUtils.cpp        |   0
 {Common => src/common}/StringUtils.h          |   0
 {Common => src/common}/TreeUtils.cpp          |   0
 {Common => src/common}/TreeUtils.h            |   0
 {Common => src/common}/VertexArray.cpp        |   0
 {Common => src/common}/VertexArray.h          |   0
 {Common => src/common}/avl.cpp                |   0
 {Common => src/common}/avl.h                  |   0
 {Common => src/common}/gmsh.cpp               |   0
 .../common}/gmshLocalNetworkClient.cpp        |   0
 .../common}/gmshLocalNetworkClient.h          |   0
 {Common => src/common}/gmshPopplerWrapper.cpp |   0
 {Common => src/common}/gmshPopplerWrapper.h   |   0
 {Common => src/common}/libol1.c               |   0
 {Common => src/common}/libol1.h               |   0
 {Common => src/common}/onelab.h               |   0
 {Common => src/common}/onelabUtils.cpp        |   0
 {Common => src/common}/onelabUtils.h          |   0
 {Common => src/common}/picojson.h             |   0
 {Common => src/common}/robin_hood.h           |   0
 {Common => src/common}/rtree.h                |   0
 {Fltk => src/fltk}/CMakeLists.txt             |   2 +-
 {Fltk => src/fltk}/FlGui.cpp                  |   0
 {Fltk => src/fltk}/FlGui.h                    |   0
 {Fltk => src/fltk}/MacIcons.icns              | Bin
 {Fltk => src/fltk}/MacIconsGeo.icns           | Bin
 {Fltk => src/fltk}/MacIconsMsh.icns           | Bin
 {Fltk => src/fltk}/MacIconsPos.icns           | Bin
 {Fltk => src/fltk}/MacIconsSol.icns           | Bin
 {Fltk => src/fltk}/Navigator.cpp              |   0
 {Fltk => src/fltk}/Navigator.h                |   0
 {Fltk => src/fltk}/Win32Icon.ico              | Bin
 {Fltk => src/fltk}/Win32Icon.res              | Bin
 {Fltk => src/fltk}/Win64Icon.ico              | Bin
 {Fltk => src/fltk}/Win64Icon.res              | Bin
 {Fltk => src/fltk}/XpmIcon.h                  |   0
 {Fltk => src/fltk}/classificationEditor.cpp   |   0
 {Fltk => src/fltk}/classificationEditor.h     |   0
 {Fltk => src/fltk}/clippingWindow.cpp         |   0
 {Fltk => src/fltk}/clippingWindow.h           |   0
 {Fltk => src/fltk}/colorbarWindow.cpp         |   0
 {Fltk => src/fltk}/colorbarWindow.h           |   0
 {Fltk => src/fltk}/contextWindow.cpp          |   0
 {Fltk => src/fltk}/contextWindow.h            |   0
 {Fltk => src/fltk}/drawContextFltk.h          |   0
 {Fltk => src/fltk}/drawContextFltkCairo.cpp   |   0
 {Fltk => src/fltk}/drawContextFltkCairo.h     |   0
 .../fltk}/drawContextFltkStringTexture.cpp    |   0
 .../fltk}/drawContextFltkStringTexture.h      |   0
 {Fltk => src/fltk}/extraDialogs.cpp           |   0
 {Fltk => src/fltk}/extraDialogs.h             |   0
 {Fltk => src/fltk}/fieldWindow.cpp            |   0
 {Fltk => src/fltk}/fieldWindow.h              |   0
 {Fltk => src/fltk}/fileDialogs.cpp            |   0
 {Fltk => src/fltk}/fileDialogs.h              |   0
 {Fltk => src/fltk}/gamepadWindow.cpp          |   0
 {Fltk => src/fltk}/gamepadWindow.h            |   0
 {Fltk => src/fltk}/graphicWindow.cpp          |   0
 {Fltk => src/fltk}/graphicWindow.h            |   0
 {Fltk => src/fltk}/helpWindow.cpp             |   0
 {Fltk => src/fltk}/helpWindow.h               |   0
 {Fltk => src/fltk}/highOrderToolsWindow.cpp   |   0
 {Fltk => src/fltk}/highOrderToolsWindow.h     |   0
 {Fltk => src/fltk}/inputRange.h               |   0
 {Fltk => src/fltk}/inputValue.cpp             |   0
 {Fltk => src/fltk}/inputValue.h               |   0
 {Fltk => src/fltk}/mainWindow.h               |   0
 {Fltk => src/fltk}/manipWindow.cpp            |   0
 {Fltk => src/fltk}/manipWindow.h              |   0
 {Fltk => src/fltk}/messageBrowser.h           |   0
 {Fltk => src/fltk}/onelabContextWindow.cpp    |   0
 {Fltk => src/fltk}/onelabContextWindow.h      |   0
 {Fltk => src/fltk}/onelabGroup.cpp            |   0
 {Fltk => src/fltk}/onelabGroup.h              |   0
 {Fltk => src/fltk}/openglWindow.cpp           |   0
 {Fltk => src/fltk}/openglWindow.h             |   0
 {Fltk => src/fltk}/optionWindow.cpp           |   0
 {Fltk => src/fltk}/optionWindow.h             |   0
 {Fltk => src/fltk}/outputRange.h              |   0
 {Fltk => src/fltk}/paletteWindow.h            |   0
 {Fltk => src/fltk}/partitionDialog.cpp        |   0
 {Fltk => src/fltk}/partitionDialog.h          |   0
 {Fltk => src/fltk}/pluginWindow.cpp           |   0
 {Fltk => src/fltk}/pluginWindow.h             |   0
 {Fltk => src/fltk}/solverButton.cpp           |   0
 {Fltk => src/fltk}/solverButton.h             |   0
 {Fltk => src/fltk}/spherePositionWidget.h     |   0
 {Fltk => src/fltk}/statisticsWindow.cpp       |   0
 {Fltk => src/fltk}/statisticsWindow.h         |   0
 {Fltk => src/fltk}/touchBar.h                 |   0
 {Fltk => src/fltk}/touchBar.mm                |   0
 {Fltk => src/fltk}/treeIcons.h                |   0
 {Fltk => src/fltk}/viewButton.cpp             |   0
 {Fltk => src/fltk}/viewButton.h               |   0
 {Fltk => src/fltk}/visibilityWindow.cpp       |   0
 {Fltk => src/fltk}/visibilityWindow.h         |   0
 {Geo => src/geo}/CGNSCommon.cpp               |   0
 {Geo => src/geo}/CGNSCommon.h                 |   0
 {Geo => src/geo}/CGNSConventions.cpp          |   0
 {Geo => src/geo}/CGNSConventions.h            |   0
 {Geo => src/geo}/CGNSRead.cpp                 |   0
 {Geo => src/geo}/CGNSRead.h                   |   0
 {Geo => src/geo}/CGNSWrite.cpp                |   0
 {Geo => src/geo}/CGNSWrite.h                  |   0
 {Geo => src/geo}/CGNSWriteStruct.cpp          |   0
 {Geo => src/geo}/CGNSWriteStruct.h            |   0
 {Geo => src/geo}/CGNSZone.cpp                 |   0
 {Geo => src/geo}/CGNSZone.h                   |   0
 {Geo => src/geo}/CGNSZoneStruct.cpp           |   0
 {Geo => src/geo}/CGNSZoneStruct.h             |   0
 {Geo => src/geo}/CGNSZoneUnstruct.cpp         |   0
 {Geo => src/geo}/CGNSZoneUnstruct.h           |   0
 {Geo => src/geo}/CMakeLists.txt               |   2 +-
 {Geo => src/geo}/Cell.cpp                     |   0
 {Geo => src/geo}/Cell.h                       |   0
 {Geo => src/geo}/CellComplex.cpp              |   0
 {Geo => src/geo}/CellComplex.h                |   0
 {Geo => src/geo}/Chain.cpp                    |   0
 {Geo => src/geo}/Chain.h                      |   0
 {Geo => src/geo}/ChainComplex.cpp             |   0
 {Geo => src/geo}/ChainComplex.h               |   0
 {Geo => src/geo}/ExtrudeParams.cpp            |   0
 {Geo => src/geo}/ExtrudeParams.h              |   0
 {Geo => src/geo}/GEdge.cpp                    |   0
 {Geo => src/geo}/GEdge.h                      |   0
 {Geo => src/geo}/GEdgeLoop.cpp                |   0
 {Geo => src/geo}/GEdgeLoop.h                  |   0
 {Geo => src/geo}/GEntity.cpp                  |   0
 {Geo => src/geo}/GEntity.h                    |   0
 {Geo => src/geo}/GFace.cpp                    |   0
 {Geo => src/geo}/GFace.h                      |   0
 {Geo => src/geo}/GModel.cpp                   |   0
 {Geo => src/geo}/GModel.h                     |   0
 .../geo}/GModelCreateTopologyFromMesh.cpp     |   0
 .../geo}/GModelCreateTopologyFromMesh.h       |   0
 {Geo => src/geo}/GModelIO_ACTRAN.cpp          |   0
 {Geo => src/geo}/GModelIO_BDF.cpp             |   0
 {Geo => src/geo}/GModelIO_CELUM.cpp           |   0
 {Geo => src/geo}/GModelIO_CGNS.cpp            |   0
 {Geo => src/geo}/GModelIO_DIFF.cpp            |   0
 {Geo => src/geo}/GModelIO_GEO.cpp             |   0
 {Geo => src/geo}/GModelIO_GEO.h               |   0
 {Geo => src/geo}/GModelIO_GEOM.cpp            |   0
 {Geo => src/geo}/GModelIO_INP.cpp             |   0
 {Geo => src/geo}/GModelIO_IR3.cpp             |   0
 {Geo => src/geo}/GModelIO_KEY.cpp             |   0
 {Geo => src/geo}/GModelIO_MAIL.cpp            |   0
 {Geo => src/geo}/GModelIO_MATLAB.cpp          |   4 +-
 {Geo => src/geo}/GModelIO_MED.cpp             |   0
 {Geo => src/geo}/GModelIO_MESH.cpp            |   0
 {Geo => src/geo}/GModelIO_MSH.cpp             |   0
 {Geo => src/geo}/GModelIO_MSH2.cpp            |   0
 {Geo => src/geo}/GModelIO_MSH3.cpp            |   0
 {Geo => src/geo}/GModelIO_MSH4.cpp            |   0
 {Geo => src/geo}/GModelIO_NEU.cpp             |   0
 {Geo => src/geo}/GModelIO_OCC.cpp             |   0
 {Geo => src/geo}/GModelIO_OCC.h               |   0
 {Geo => src/geo}/GModelIO_OFF.cpp             |   0
 {Geo => src/geo}/GModelIO_P3D.cpp             |   0
 {Geo => src/geo}/GModelIO_PLY.cpp             |   0
 {Geo => src/geo}/GModelIO_POS.cpp             |   0
 {Geo => src/geo}/GModelIO_SAMCEF.cpp          |   0
 {Geo => src/geo}/GModelIO_STL.cpp             |   0
 {Geo => src/geo}/GModelIO_SU2.cpp             |   0
 {Geo => src/geo}/GModelIO_TOCHNOG.cpp         |   0
 {Geo => src/geo}/GModelIO_UNV.cpp             |   0
 {Geo => src/geo}/GModelIO_VRML.cpp            |   0
 {Geo => src/geo}/GModelIO_VTK.cpp             |   0
 {Geo => src/geo}/GModelIO_X3D.cpp             |   0
 {Geo => src/geo}/GModelParametrize.cpp        |   0
 {Geo => src/geo}/GModelParametrize.h          |   0
 {Geo => src/geo}/GModelVertexArrays.cpp       |   0
 {Geo => src/geo}/GPoint.h                     |   0
 {Geo => src/geo}/GRegion.cpp                  |   0
 {Geo => src/geo}/GRegion.h                    |   0
 {Geo => src/geo}/GVertex.cpp                  |   0
 {Geo => src/geo}/GVertex.h                    |   0
 {Geo => src/geo}/Geo.cpp                      |   0
 {Geo => src/geo}/Geo.h                        |   0
 {Geo => src/geo}/GeoDefines.h                 |   0
 {Geo => src/geo}/GeoInterpolation.cpp         |   0
 {Geo => src/geo}/GeoInterpolation.h           |   0
 {Geo => src/geo}/GeomMeshMatcher.cpp          |   0
 {Geo => src/geo}/GeomMeshMatcher.h            |   0
 {Geo => src/geo}/Homology.cpp                 |   0
 {Geo => src/geo}/Homology.h                   |   0
 {Geo => src/geo}/MEdge.cpp                    |   0
 {Geo => src/geo}/MEdge.h                      |   0
 {Geo => src/geo}/MEdgeHash.h                  |   0
 {Geo => src/geo}/MElement.cpp                 |   0
 {Geo => src/geo}/MElement.h                   |   0
 {Geo => src/geo}/MElementCut.cpp              |   0
 {Geo => src/geo}/MElementCut.h                |   0
 {Geo => src/geo}/MElementOctree.cpp           |   0
 {Geo => src/geo}/MElementOctree.h             |   0
 {Geo => src/geo}/MFace.cpp                    |   0
 {Geo => src/geo}/MFace.h                      |   0
 {Geo => src/geo}/MFaceHash.h                  |   0
 {Geo => src/geo}/MHexahedron.cpp              |   0
 {Geo => src/geo}/MHexahedron.h                |   0
 {Geo => src/geo}/MLine.cpp                    |   0
 {Geo => src/geo}/MLine.h                      |   0
 {Geo => src/geo}/MPoint.h                     |   0
 {Geo => src/geo}/MPrism.cpp                   |   0
 {Geo => src/geo}/MPrism.h                     |   0
 {Geo => src/geo}/MPyramid.cpp                 |   0
 {Geo => src/geo}/MPyramid.h                   |   0
 {Geo => src/geo}/MQuadrangle.cpp              |   0
 {Geo => src/geo}/MQuadrangle.h                |   0
 {Geo => src/geo}/MSubElement.cpp              |   0
 {Geo => src/geo}/MSubElement.h                |   0
 {Geo => src/geo}/MTetrahedron.cpp             |   0
 {Geo => src/geo}/MTetrahedron.h               |   0
 {Geo => src/geo}/MTriangle.cpp                |   0
 {Geo => src/geo}/MTriangle.h                  |   0
 {Geo => src/geo}/MTrihedron.cpp               |   0
 {Geo => src/geo}/MTrihedron.h                 |   0
 {Geo => src/geo}/MVertex.cpp                  |   0
 {Geo => src/geo}/MVertex.h                    |   0
 {Geo => src/geo}/MVertexBoundaryLayerData.cpp |   0
 {Geo => src/geo}/MVertexBoundaryLayerData.h   |   0
 {Geo => src/geo}/MVertexRTree.h               |   0
 {Geo => src/geo}/OCCAttributes.h              |   0
 {Geo => src/geo}/OCCEdge.cpp                  |   0
 {Geo => src/geo}/OCCEdge.h                    |   0
 {Geo => src/geo}/OCCFace.cpp                  |   0
 {Geo => src/geo}/OCCFace.h                    |   0
 {Geo => src/geo}/OCCRegion.cpp                |   0
 {Geo => src/geo}/OCCRegion.h                  |   0
 {Geo => src/geo}/OCCVertex.cpp                |   0
 {Geo => src/geo}/OCCVertex.h                  |   0
 {Geo => src/geo}/Pair.h                       |   0
 {Geo => src/geo}/Range.h                      |   0
 {Geo => src/geo}/SBoundingBox3d.h             |   0
 {Geo => src/geo}/SOrientedBoundingBox.cpp     |   0
 {Geo => src/geo}/SOrientedBoundingBox.h       |   0
 {Geo => src/geo}/SPoint2.h                    |   0
 {Geo => src/geo}/SPoint3.h                    |   0
 {Geo => src/geo}/SPoint3KDTree.h              |   0
 {Geo => src/geo}/STensor3.cpp                 |   0
 {Geo => src/geo}/STensor3.h                   |   0
 {Geo => src/geo}/SVector3.h                   |   0
 {Geo => src/geo}/affineTransformation.cpp     |   0
 {Geo => src/geo}/affineTransformation.h       |   0
 {Geo => src/geo}/boundaryLayersData.cpp       |   0
 {Geo => src/geo}/boundaryLayersData.h         |   0
 {Geo => src/geo}/closestPoint.cpp             |   0
 {Geo => src/geo}/closestPoint.h               |   0
 {Geo => src/geo}/closestVertex.cpp            |   0
 {Geo => src/geo}/closestVertex.h              |   0
 {Geo => src/geo}/discreteEdge.cpp             |   0
 {Geo => src/geo}/discreteEdge.h               |   0
 {Geo => src/geo}/discreteFace.cpp             |   0
 {Geo => src/geo}/discreteFace.h               |   0
 {Geo => src/geo}/discreteRegion.cpp           |   0
 {Geo => src/geo}/discreteRegion.h             |   0
 {Geo => src/geo}/discreteVertex.cpp           |   0
 {Geo => src/geo}/discreteVertex.h             |   0
 {Geo => src/geo}/findLinks.cpp                |   0
 {Geo => src/geo}/findLinks.h                  |   0
 {Geo => src/geo}/ghostEdge.h                  |   0
 {Geo => src/geo}/ghostFace.h                  |   0
 {Geo => src/geo}/ghostRegion.h                |   0
 {Geo => src/geo}/gmshEdge.cpp                 |   0
 {Geo => src/geo}/gmshEdge.h                   |   0
 {Geo => src/geo}/gmshEdgeDiscretize.cpp       |   0
 {Geo => src/geo}/gmshFace.cpp                 |   0
 {Geo => src/geo}/gmshFace.h                   |   0
 {Geo => src/geo}/gmshLevelset.cpp             |   0
 {Geo => src/geo}/gmshLevelset.h               |   0
 {Geo => src/geo}/gmshRegion.cpp               |   0
 {Geo => src/geo}/gmshRegion.h                 |   0
 {Geo => src/geo}/gmshSurface.cpp              |   0
 {Geo => src/geo}/gmshSurface.h                |   0
 {Geo => src/geo}/gmshVertex.cpp               |   0
 {Geo => src/geo}/gmshVertex.h                 |   0
 {Geo => src/geo}/intersectCurveSurface.cpp    |   0
 {Geo => src/geo}/intersectCurveSurface.h      |   0
 {Geo => src/geo}/partitionEdge.h              |   0
 {Geo => src/geo}/partitionFace.h              |   0
 {Geo => src/geo}/partitionRegion.h            |   0
 {Geo => src/geo}/partitionVertex.h            |   0
 {Geo => src/geo}/scriptStringInterface.cpp    |   0
 {Geo => src/geo}/scriptStringInterface.h      |   0
 {Geo => src/geo}/xyEdge.h                     |   0
 {Geo => src/geo}/xyFace.h                     |   0
 {Graphics => src/graphics}/CMakeLists.txt     |  26 +-
 {Graphics => src/graphics}/Camera.cpp         |   0
 {Graphics => src/graphics}/Camera.h           |   0
 {Graphics => src/graphics}/PixelBuffer.h      |   0
 {Graphics => src/graphics}/ReadImg.cpp        |   0
 {Graphics => src/graphics}/ReadImg.h          |   0
 {Graphics => src/graphics}/Trackball.cpp      |   0
 {Graphics => src/graphics}/Trackball.h        |   0
 {Graphics => src/graphics}/drawAxes.cpp       |   0
 {Graphics => src/graphics}/drawContext.cpp    |   0
 {Graphics => src/graphics}/drawContext.h      |   0
 {Graphics => src/graphics}/drawGeom.cpp       |   0
 {Graphics => src/graphics}/drawGlyph.cpp      |   0
 {Graphics => src/graphics}/drawGraph2d.cpp    |   0
 {Graphics => src/graphics}/drawMesh.cpp       |   0
 {Graphics => src/graphics}/drawPost.cpp       |   0
 {Graphics => src/graphics}/drawScales.cpp     |   0
 {Graphics => src/graphics}/gl2gif.cpp         |   0
 {Graphics => src/graphics}/gl2gif.h           |   0
 {Graphics => src/graphics}/gl2jpeg.cpp        |   0
 {Graphics => src/graphics}/gl2jpeg.h          |   0
 {Graphics => src/graphics}/gl2pgf.cpp         |   0
 {Graphics => src/graphics}/gl2pgf.h           |   0
 {Graphics => src/graphics}/gl2png.cpp         |   0
 {Graphics => src/graphics}/gl2png.h           |   0
 {Graphics => src/graphics}/gl2ppm.cpp         |   0
 {Graphics => src/graphics}/gl2ppm.h           |   0
 {Graphics => src/graphics}/gl2ps.cpp          |   0
 {Graphics => src/graphics}/gl2ps.h            |   0
 {Graphics => src/graphics}/gl2yuv.cpp         |   0
 {Graphics => src/graphics}/gl2yuv.h           |   0
 {Mesh => src/mesh}/BDS.cpp                    |   0
 {Mesh => src/mesh}/BDS.h                      |   0
 {Mesh => src/mesh}/BackgroundMesh.cpp         |   0
 {Mesh => src/mesh}/BackgroundMesh.h           |   0
 {Mesh => src/mesh}/BackgroundMeshTools.cpp    |   0
 {Mesh => src/mesh}/BackgroundMeshTools.h      |   0
 {Mesh => src/mesh}/BoundaryLayers.cpp         |   0
 {Mesh => src/mesh}/BoundaryLayers.h           |   0
 {Mesh => src/mesh}/CMakeLists.txt             |   2 +-
 {Mesh => src/mesh}/DivideAndConquer.cpp       |   0
 {Mesh => src/mesh}/DivideAndConquer.h         |   0
 {Mesh => src/mesh}/Field.cpp                  |   0
 {Mesh => src/mesh}/Field.h                    |   0
 {Mesh => src/mesh}/FieldPython.h              |   0
 {Mesh => src/mesh}/Generator.cpp              |   0
 {Mesh => src/mesh}/Generator.h                |   0
 {Mesh => src/mesh}/HighOrder.cpp              |   0
 {Mesh => src/mesh}/HighOrder.h                |   0
 {Mesh => src/mesh}/alphaShapes.cpp            |   0
 {Mesh => src/mesh}/automaticMeshSizeField.cpp |   0
 {Mesh => src/mesh}/automaticMeshSizeField.h   |   0
 {Mesh => src/mesh}/delaunay3d.cpp             |   0
 {Mesh => src/mesh}/delaunay3d.h               |   0
 {Mesh => src/mesh}/filterElements.cpp         |   0
 {Mesh => src/mesh}/filterElements.h           |   0
 {Mesh => src/mesh}/gmshCrossFields.cpp        |   0
 {Mesh => src/mesh}/gmshCrossFields.h          |   0
 {Mesh => src/mesh}/meshGEdge.cpp              |   0
 {Mesh => src/mesh}/meshGEdge.h                |   0
 {Mesh => src/mesh}/meshGEdgeExtruded.cpp      |   0
 {Mesh => src/mesh}/meshGFace.cpp              |   0
 {Mesh => src/mesh}/meshGFace.h                |   0
 {Mesh => src/mesh}/meshGFaceBDS.cpp           |   0
 {Mesh => src/mesh}/meshGFaceBDS.h             |   0
 {Mesh => src/mesh}/meshGFaceBamg.cpp          |   0
 {Mesh => src/mesh}/meshGFaceBamg.h            |   0
 .../mesh}/meshGFaceBipartiteLabelling.cpp     |   0
 .../mesh}/meshGFaceBipartiteLabelling.h       |   0
 .../mesh}/meshGFaceDelaunayInsertion.cpp      |   0
 .../mesh}/meshGFaceDelaunayInsertion.h        |   0
 {Mesh => src/mesh}/meshGFaceExtruded.cpp      |   0
 {Mesh => src/mesh}/meshGFaceOptimize.cpp      |   0
 {Mesh => src/mesh}/meshGFaceOptimize.h        |   0
 {Mesh => src/mesh}/meshGFacePack.cpp          |   0
 {Mesh => src/mesh}/meshGFaceTransfinite.cpp   |   0
 {Mesh => src/mesh}/meshGRegion.cpp            |   0
 {Mesh => src/mesh}/meshGRegion.h              |   0
 .../mesh}/meshGRegionBoundaryLayer.cpp        |   0
 .../mesh}/meshGRegionBoundaryRecovery.cpp     |   0
 .../mesh}/meshGRegionBoundaryRecovery.h       |   0
 {Mesh => src/mesh}/meshGRegionCarveHole.cpp   |   0
 .../mesh}/meshGRegionDelaunayInsertion.cpp    |   0
 .../mesh}/meshGRegionDelaunayInsertion.h      |   0
 {Mesh => src/mesh}/meshGRegionExtruded.cpp    |   0
 {Mesh => src/mesh}/meshGRegionHxt.cpp         |   0
 {Mesh => src/mesh}/meshGRegionHxt.h           |   0
 .../mesh}/meshGRegionLocalMeshMod.cpp         |   0
 {Mesh => src/mesh}/meshGRegionLocalMeshMod.h  |   0
 {Mesh => src/mesh}/meshGRegionMMG.cpp         |   0
 {Mesh => src/mesh}/meshGRegionMMG.h           |   0
 {Mesh => src/mesh}/meshGRegionNetgen.cpp      |   0
 {Mesh => src/mesh}/meshGRegionNetgen.h        |   0
 {Mesh => src/mesh}/meshGRegionTransfinite.cpp |   0
 {Mesh => src/mesh}/meshMetric.cpp             |   0
 {Mesh => src/mesh}/meshMetric.h               |   0
 {Mesh => src/mesh}/meshOctreeLibOL.cpp        |   0
 {Mesh => src/mesh}/meshOctreeLibOL.h          |   0
 {Mesh => src/mesh}/meshPartition.cpp          |   0
 {Mesh => src/mesh}/meshPartition.h            |   0
 {Mesh => src/mesh}/meshPolyMesh.h             |   2 +-
 .../mesh}/meshQuadQuasiStructured.cpp         |   0
 {Mesh => src/mesh}/meshQuadQuasiStructured.h  |   0
 {Mesh => src/mesh}/meshRefine.cpp             |   0
 {Mesh => src/mesh}/meshRefine.h               |   0
 {Mesh => src/mesh}/meshRelocateVertex.cpp     |   0
 {Mesh => src/mesh}/meshRelocateVertex.h       |   0
 {Mesh => src/mesh}/meshTriangulation.cpp      |   0
 {Mesh => src/mesh}/meshTriangulation.h        |   0
 {Mesh => src/mesh}/qualityMeasures.cpp        |   0
 {Mesh => src/mesh}/qualityMeasures.h          |   0
 .../mesh}/qualityMeasuresJacobian.cpp         |   0
 {Mesh => src/mesh}/qualityMeasuresJacobian.h  |   0
 {Mesh => src/mesh}/sizeField.cpp              |   0
 {Mesh => src/mesh}/sizeField.h                |   0
 {Mesh => src/mesh}/tetgenBR.cxx               |   0
 {Mesh => src/mesh}/tetgenBR.h                 |   2 +-
 {Numeric => src/numeric}/BasisFactory.cpp     |   0
 {Numeric => src/numeric}/BasisFactory.h       |   0
 {Numeric => src/numeric}/BergotBasis.cpp      |   0
 {Numeric => src/numeric}/BergotBasis.h        |   0
 {Numeric => src/numeric}/CMakeLists.txt       |   2 +-
 {Numeric => src/numeric}/CondNumBasis.cpp     |   0
 {Numeric => src/numeric}/CondNumBasis.h       |   0
 .../numeric}/ConjugateGradients.cpp           |   0
 {Numeric => src/numeric}/ConjugateGradients.h |   0
 {Numeric => src/numeric}/ElementType.cpp      |   0
 {Numeric => src/numeric}/ElementType.h        |   0
 {Numeric => src/numeric}/FuncSpaceData.cpp    |   0
 {Numeric => src/numeric}/FuncSpaceData.h      |   0
 {Numeric => src/numeric}/GaussIntegration.cpp |   0
 {Numeric => src/numeric}/GaussIntegration.h   |   0
 {Numeric => src/numeric}/GaussJacobi1D.cpp    |   0
 {Numeric => src/numeric}/GaussJacobi1D.h      |   0
 {Numeric => src/numeric}/GaussLegendre1D.h    |   0
 .../numeric}/GaussLegendreSimplex.cpp         |   0
 .../numeric}/GaussQuadratureHex.cpp           |   0
 .../numeric}/GaussQuadratureLin.cpp           |   0
 .../numeric}/GaussQuadraturePri.cpp           |   0
 .../numeric}/GaussQuadraturePyr.cpp           |   0
 .../numeric}/GaussQuadratureQuad.cpp          |   0
 .../numeric}/GaussQuadratureTet.cpp           |   0
 .../numeric}/GaussQuadratureTri.cpp           |   0
 .../numeric}/HierarchicalBasis.cpp            |   0
 {Numeric => src/numeric}/HierarchicalBasis.h  |   0
 .../numeric}/HierarchicalBasisH1.cpp          |   0
 .../numeric}/HierarchicalBasisH1.h            |   0
 .../numeric}/HierarchicalBasisH1Brick.cpp     |   0
 .../numeric}/HierarchicalBasisH1Brick.h       |   0
 .../numeric}/HierarchicalBasisH1Line.cpp      |   0
 .../numeric}/HierarchicalBasisH1Line.h        |   0
 .../numeric}/HierarchicalBasisH1Point.cpp     |   0
 .../numeric}/HierarchicalBasisH1Point.h       |   0
 .../numeric}/HierarchicalBasisH1Pri.cpp       |   0
 .../numeric}/HierarchicalBasisH1Pri.h         |   0
 .../numeric}/HierarchicalBasisH1Quad.cpp      |   0
 .../numeric}/HierarchicalBasisH1Quad.h        |   0
 .../numeric}/HierarchicalBasisH1Tetra.cpp     |   0
 .../numeric}/HierarchicalBasisH1Tetra.h       |   0
 .../numeric}/HierarchicalBasisH1Tria.cpp      |   0
 .../numeric}/HierarchicalBasisH1Tria.h        |   0
 .../numeric}/HierarchicalBasisHcurl.cpp       |   0
 .../numeric}/HierarchicalBasisHcurl.h         |   0
 .../numeric}/HierarchicalBasisHcurlBrick.cpp  |   0
 .../numeric}/HierarchicalBasisHcurlBrick.h    |   0
 .../numeric}/HierarchicalBasisHcurlLine.cpp   |   0
 .../numeric}/HierarchicalBasisHcurlLine.h     |   0
 .../numeric}/HierarchicalBasisHcurlPri.cpp    |   0
 .../numeric}/HierarchicalBasisHcurlPri.h      |   0
 .../numeric}/HierarchicalBasisHcurlQuad.cpp   |   0
 .../numeric}/HierarchicalBasisHcurlQuad.h     |   0
 .../numeric}/HierarchicalBasisHcurlTetra.cpp  |   0
 .../numeric}/HierarchicalBasisHcurlTetra.h    |   0
 .../numeric}/HierarchicalBasisHcurlTria.cpp   |   0
 .../numeric}/HierarchicalBasisHcurlTria.h     |   0
 {Numeric => src/numeric}/HilbertCurve.cpp     |   0
 {Numeric => src/numeric}/HilbertCurve.h       |   0
 .../numeric}/InnerVertexPlacement.cpp         |   0
 .../numeric}/InnerVertexPlacement.h           |   0
 {Numeric => src/numeric}/Iso.cpp              |   0
 {Numeric => src/numeric}/Iso.h                |   0
 {Numeric => src/numeric}/JacobianBasis.cpp    |   0
 {Numeric => src/numeric}/JacobianBasis.h      |   0
 {Numeric => src/numeric}/Numeric.cpp          |   0
 {Numeric => src/numeric}/Numeric.h            |   0
 {Numeric => src/numeric}/OrthogonalPoly.cpp   |   0
 {Numeric => src/numeric}/OrthogonalPoly.h     |   0
 .../numeric}/approximationError.cpp           |   0
 {Numeric => src/numeric}/approximationError.h |   0
 {Numeric => src/numeric}/bezierBasis.cpp      |   0
 {Numeric => src/numeric}/bezierBasis.h        |   0
 {Numeric => src/numeric}/cartesian.h          |   0
 {Numeric => src/numeric}/curvature.cpp        |   0
 {Numeric => src/numeric}/curvature.h          |   0
 {Numeric => src/numeric}/decasteljau.cpp      |   0
 {Numeric => src/numeric}/decasteljau.h        |   0
 .../numeric}/discreteFrechetDistance.cpp      |   0
 .../numeric}/discreteFrechetDistance.h        |   0
 {Numeric => src/numeric}/fullMatrix.cpp       |   0
 {Numeric => src/numeric}/fullMatrix.h         |   0
 .../numeric}/hausdorffDistance.cpp            |   0
 {Numeric => src/numeric}/hausdorffDistance.h  |   0
 {Numeric => src/numeric}/incompleteBasis.cpp  |   0
 {Numeric => src/numeric}/incompleteBasis.h    |   0
 {Numeric => src/numeric}/mathEvaluator.cpp    |   0
 {Numeric => src/numeric}/mathEvaluator.h      |   0
 {Numeric => src/numeric}/miniBasis.cpp        |   0
 {Numeric => src/numeric}/miniBasis.h          |   0
 {Numeric => src/numeric}/nanoflann.hpp        |   0
 {Numeric => src/numeric}/nodalBasis.cpp       |   0
 {Numeric => src/numeric}/nodalBasis.h         |   0
 {Numeric => src/numeric}/orthogonalBasis.cpp  |   0
 {Numeric => src/numeric}/orthogonalBasis.h    |   0
 {Numeric => src/numeric}/pointsGenerators.cpp |   0
 {Numeric => src/numeric}/pointsGenerators.h   |   0
 {Numeric => src/numeric}/polynomialBasis.cpp  |   0
 {Numeric => src/numeric}/polynomialBasis.h    |   0
 {Numeric => src/numeric}/pyramidalBasis.cpp   |   0
 {Numeric => src/numeric}/pyramidalBasis.h     |   0
 {Numeric => src/numeric}/robustPredicates.cpp |   0
 {Numeric => src/numeric}/robustPredicates.h   |   0
 {Numeric => src/numeric}/simpleFunction.h     |   2 +-
 .../numeric}/simpleFunctionPython.h           |   0
 {Parser => src/parser}/CMakeLists.txt         |   4 +-
 {Parser => src/parser}/FunctionManager.cpp    |   0
 {Parser => src/parser}/FunctionManager.h      |   0
 {Parser => src/parser}/Gmsh.l                 |   0
 {Parser => src/parser}/Gmsh.tab.cpp           |   0
 {Parser => src/parser}/Gmsh.tab.hpp           |   0
 {Parser => src/parser}/Gmsh.y                 |   0
 {Parser => src/parser}/Gmsh.yy.cpp            |   0
 {Parser => src/parser}/Parser.h               |   0
 {Plugin => src/plugin}/AnalyseMeshQuality.cpp |   0
 {Plugin => src/plugin}/AnalyseMeshQuality.h   |   0
 {Plugin => src/plugin}/Annotate.cpp           |   0
 {Plugin => src/plugin}/Annotate.h             |   0
 {Plugin => src/plugin}/BoundaryAngles.cpp     |   0
 {Plugin => src/plugin}/BoundaryAngles.h       |   0
 {Plugin => src/plugin}/Bubbles.cpp            |   0
 {Plugin => src/plugin}/Bubbles.h              |   0
 {Plugin => src/plugin}/CMakeLists.txt         |   2 +-
 {Plugin => src/plugin}/CVTRemesh.cpp          |   0
 {Plugin => src/plugin}/CVTRemesh.h            |   0
 {Plugin => src/plugin}/Crack.cpp              |   0
 {Plugin => src/plugin}/Crack.h                |   0
 {Plugin => src/plugin}/Curl.cpp               |   0
 {Plugin => src/plugin}/Curl.h                 |   0
 {Plugin => src/plugin}/CurvedBndDist.cpp      |   0
 {Plugin => src/plugin}/CurvedBndDist.h        |   0
 {Plugin => src/plugin}/CutBox.cpp             |   0
 {Plugin => src/plugin}/CutBox.h               |   0
 {Plugin => src/plugin}/CutGrid.cpp            |   0
 {Plugin => src/plugin}/CutGrid.h              |   0
 {Plugin => src/plugin}/CutMesh.cpp            |   0
 {Plugin => src/plugin}/CutMesh.h              |   0
 {Plugin => src/plugin}/CutParametric.cpp      |   0
 {Plugin => src/plugin}/CutParametric.h        |   0
 {Plugin => src/plugin}/CutPlane.cpp           |   0
 {Plugin => src/plugin}/CutPlane.h             |   0
 {Plugin => src/plugin}/CutSphere.cpp          |   0
 {Plugin => src/plugin}/CutSphere.h            |   0
 .../plugin}/DiscretizationError.cpp           |   0
 {Plugin => src/plugin}/DiscretizationError.h  |   0
 {Plugin => src/plugin}/Distance.cpp           |   0
 {Plugin => src/plugin}/Distance.h             |   0
 {Plugin => src/plugin}/Divergence.cpp         |   0
 {Plugin => src/plugin}/Divergence.h           |   0
 {Plugin => src/plugin}/Eigenvalues.cpp        |   0
 {Plugin => src/plugin}/Eigenvalues.h          |   0
 {Plugin => src/plugin}/Eigenvectors.cpp       |   0
 {Plugin => src/plugin}/Eigenvectors.h         |   0
 {Plugin => src/plugin}/ExtractEdges.cpp       |   0
 {Plugin => src/plugin}/ExtractEdges.h         |   0
 {Plugin => src/plugin}/ExtractElements.cpp    |   0
 {Plugin => src/plugin}/ExtractElements.h      |   0
 .../plugin}/FieldFromAmplitudePhase.cpp       |   0
 .../plugin}/FieldFromAmplitudePhase.h         |   0
 {Plugin => src/plugin}/GaussPoints.cpp        |   0
 {Plugin => src/plugin}/GaussPoints.h          |   0
 {Plugin => src/plugin}/Gradient.cpp           |   0
 {Plugin => src/plugin}/Gradient.h             |   0
 {Plugin => src/plugin}/HarmonicToTime.cpp     |   0
 {Plugin => src/plugin}/HarmonicToTime.h       |   0
 .../plugin}/HomologyComputation.cpp           |   0
 {Plugin => src/plugin}/HomologyComputation.h  |   0
 .../plugin}/HomologyPostProcessing.cpp        |   0
 .../plugin}/HomologyPostProcessing.h          |   0
 {Plugin => src/plugin}/Integrate.cpp          |   0
 {Plugin => src/plugin}/Integrate.h            |   0
 {Plugin => src/plugin}/Invisible.cpp          |   0
 {Plugin => src/plugin}/Invisible.h            |   0
 {Plugin => src/plugin}/Isosurface.cpp         |   0
 {Plugin => src/plugin}/Isosurface.h           |   0
 {Plugin => src/plugin}/Lambda2.cpp            |   0
 {Plugin => src/plugin}/Lambda2.h              |   0
 {Plugin => src/plugin}/Levelset.cpp           |   0
 {Plugin => src/plugin}/Levelset.h             |   0
 {Plugin => src/plugin}/LongitudeLatitude.cpp  |   0
 {Plugin => src/plugin}/LongitudeLatitude.h    |   0
 {Plugin => src/plugin}/MakeSimplex.cpp        |   0
 {Plugin => src/plugin}/MakeSimplex.h          |   0
 {Plugin => src/plugin}/MathEval.cpp           |   0
 {Plugin => src/plugin}/MathEval.h             |   0
 {Plugin => src/plugin}/MeshSizeFieldView.cpp  |   0
 {Plugin => src/plugin}/MeshSizeFieldView.h    |   0
 {Plugin => src/plugin}/MeshSubEntities.cpp    |   0
 {Plugin => src/plugin}/MeshSubEntities.h      |   0
 {Plugin => src/plugin}/MeshVolume.cpp         |   0
 {Plugin => src/plugin}/MeshVolume.h           |   0
 {Plugin => src/plugin}/MinMax.cpp             |   0
 {Plugin => src/plugin}/MinMax.h               |   0
 {Plugin => src/plugin}/ModifyComponents.cpp   |   0
 {Plugin => src/plugin}/ModifyComponents.h     |   0
 {Plugin => src/plugin}/ModulusPhase.cpp       |   0
 {Plugin => src/plugin}/ModulusPhase.h         |   0
 {Plugin => src/plugin}/NearToFarField.cpp     |   0
 {Plugin => src/plugin}/NearToFarField.h       |   0
 {Plugin => src/plugin}/NearestNeighbor.cpp    |   0
 {Plugin => src/plugin}/NearestNeighbor.h      |   0
 {Plugin => src/plugin}/NewView.cpp            |   0
 {Plugin => src/plugin}/NewView.h              |   0
 {Plugin => src/plugin}/Particles.cpp          |   0
 {Plugin => src/plugin}/Particles.h            |   0
 {Plugin => src/plugin}/Plugin.cpp             |   0
 {Plugin => src/plugin}/Plugin.h               |   0
 {Plugin => src/plugin}/PluginManager.cpp      |   0
 {Plugin => src/plugin}/PluginManager.h        |   0
 {Plugin => src/plugin}/Probe.cpp              |   0
 {Plugin => src/plugin}/Probe.h                |   0
 {Plugin => src/plugin}/Remove.cpp             |   0
 {Plugin => src/plugin}/Remove.h               |   0
 {Plugin => src/plugin}/Scal2Tens.cpp          |   0
 {Plugin => src/plugin}/Scal2Tens.h            |   0
 {Plugin => src/plugin}/Scal2Vec.cpp           |   0
 {Plugin => src/plugin}/Scal2Vec.h             |   0
 .../plugin}/ShowNeighborElements.cpp          |   0
 {Plugin => src/plugin}/ShowNeighborElements.h |   0
 {Plugin => src/plugin}/SimplePartition.cpp    |   0
 {Plugin => src/plugin}/SimplePartition.h      |   0
 {Plugin => src/plugin}/Skin.cpp               |   0
 {Plugin => src/plugin}/Skin.h                 |   0
 {Plugin => src/plugin}/Smooth.cpp             |   0
 {Plugin => src/plugin}/Smooth.h               |   0
 {Plugin => src/plugin}/SpanningTree.cpp       |   2 +-
 {Plugin => src/plugin}/SpanningTree.h         |   0
 {Plugin => src/plugin}/SphericalRaise.cpp     |   0
 {Plugin => src/plugin}/SphericalRaise.h       |   0
 {Plugin => src/plugin}/StreamLines.cpp        |   0
 {Plugin => src/plugin}/StreamLines.h          |   0
 {Plugin => src/plugin}/Summation.cpp          |   0
 {Plugin => src/plugin}/Summation.h            |   0
 {Plugin => src/plugin}/Tetrahedralize.cpp     |   0
 {Plugin => src/plugin}/Tetrahedralize.h       |   0
 {Plugin => src/plugin}/Transform.cpp          |   0
 {Plugin => src/plugin}/Transform.h            |   0
 {Plugin => src/plugin}/Triangulate.cpp        |   0
 {Plugin => src/plugin}/Triangulate.h          |   0
 {Plugin => src/plugin}/VoroMetal.cpp          |   0
 {Plugin => src/plugin}/VoroMetal.h            |   0
 {Plugin => src/plugin}/Warp.cpp               |   0
 {Plugin => src/plugin}/Warp.h                 |   0
 {Post => src/post}/CMakeLists.txt             |   4 +-
 {Post => src/post}/ColorTable.cpp             |   0
 {Post => src/post}/ColorTable.h               |   0
 {Post => src/post}/OctreePost.cpp             |   0
 {Post => src/post}/OctreePost.h               |   0
 {Post => src/post}/PView.cpp                  |   0
 {Post => src/post}/PView.h                    |   0
 {Post => src/post}/PViewAsSimpleFunction.cpp  |   0
 {Post => src/post}/PViewAsSimpleFunction.h    |   0
 {Post => src/post}/PViewData.cpp              |   0
 {Post => src/post}/PViewData.h                |   0
 {Post => src/post}/PViewDataGModel.cpp        |   0
 {Post => src/post}/PViewDataGModel.h          |   0
 {Post => src/post}/PViewDataGModelIO.cpp      |   0
 {Post => src/post}/PViewDataGModelIO_CGNS.cpp |   0
 {Post => src/post}/PViewDataIO.cpp            |   0
 {Post => src/post}/PViewDataList.cpp          |   0
 {Post => src/post}/PViewDataList.h            |   0
 {Post => src/post}/PViewDataListIO.cpp        |   0
 {Post => src/post}/PViewDataRemote.h          |   0
 {Post => src/post}/PViewFactory.cpp           |   0
 {Post => src/post}/PViewFactory.h             |   0
 {Post => src/post}/PViewIO.cpp                |   0
 {Post => src/post}/PViewIO_CGNS.cpp           |   0
 {Post => src/post}/PViewOptions.cpp           |   0
 {Post => src/post}/PViewOptions.h             |   0
 {Post => src/post}/PViewVertexArrays.cpp      |   0
 {Post => src/post}/PViewX3D.cpp               |   0
 {Post => src/post}/PViewX3D.h                 |   0
 {Post => src/post}/adaptiveData.cpp           |   0
 {Post => src/post}/adaptiveData.h             |   0
 {Post => src/post}/shapeFunctions.cpp         |   0
 {Post => src/post}/shapeFunctions.h           |   0
 {Solver => src/solver}/CMakeLists.txt         |   4 +-
 {Solver => src/solver}/FuncGradDisc.h         |   0
 {Solver => src/solver}/FuncHeaviside.h        |   0
 {Solver => src/solver}/SElement.cpp           |   0
 {Solver => src/solver}/SElement.h             |   0
 {Solver => src/solver}/STensor33.cpp          |   0
 {Solver => src/solver}/STensor33.h            |   0
 {Solver => src/solver}/STensor43.cpp          |   0
 {Solver => src/solver}/STensor43.h            |   0
 {Solver => src/solver}/STensor53.cpp          |   0
 {Solver => src/solver}/STensor53.h            |   0
 {Solver => src/solver}/STensor63.cpp          |   0
 {Solver => src/solver}/STensor63.h            |   0
 {Solver => src/solver}/distanceTerm.h         |   0
 {Solver => src/solver}/dofManager.cpp         |   0
 {Solver => src/solver}/dofManager.h           |   0
 {Solver => src/solver}/eigenSolver.cpp        |   0
 {Solver => src/solver}/eigenSolver.h          |   0
 {Solver => src/solver}/elasticitySolver.cpp   |   0
 {Solver => src/solver}/elasticitySolver.h     |   0
 {Solver => src/solver}/elasticityTerm.cpp     |   0
 {Solver => src/solver}/elasticityTerm.h       |   0
 {Solver => src/solver}/femTerm.h              |   0
 {Solver => src/solver}/filters.cpp            |   0
 {Solver => src/solver}/filters.h              |   0
 {Solver => src/solver}/frameSolver.cpp        |   0
 {Solver => src/solver}/frameSolver.h          |   0
 {Solver => src/solver}/functionSpace.cpp      |   0
 {Solver => src/solver}/functionSpace.h        |   0
 {Solver => src/solver}/groupOfElements.cpp    |   0
 {Solver => src/solver}/groupOfElements.h      |   0
 {Solver => src/solver}/helmholtzTerm.h        |   0
 {Solver => src/solver}/laplaceTerm.h          |   0
 {Solver => src/solver}/linearSystem.cpp       |   0
 {Solver => src/solver}/linearSystem.h         |   0
 {Solver => src/solver}/linearSystemCSR.cpp    |   0
 {Solver => src/solver}/linearSystemCSR.h      |   0
 {Solver => src/solver}/linearSystemEigen.cpp  |   0
 {Solver => src/solver}/linearSystemEigen.h    |   0
 {Solver => src/solver}/linearSystemFull.h     |   0
 {Solver => src/solver}/linearSystemGmm.h      |   0
 {Solver => src/solver}/linearSystemMUMPS.cpp  |   0
 {Solver => src/solver}/linearSystemMUMPS.h    |   0
 {Solver => src/solver}/linearSystemPETSc.cpp  |   0
 {Solver => src/solver}/linearSystemPETSc.h    |   0
 {Solver => src/solver}/linearSystemPETSc.hpp  |   0
 {Solver => src/solver}/materialLaw.h          |   0
 {Solver => src/solver}/quadratureRules.h      |   0
 {Solver => src/solver}/solverAlgorithms.h     |   0
 {Solver => src/solver}/solverField.h          |   0
 {Solver => src/solver}/sparsityPattern.cpp    |   0
 {Solver => src/solver}/sparsityPattern.h      |   0
 {Solver => src/solver}/terms.cpp              |   0
 {Solver => src/solver}/terms.h                |   0
 {Solver => src/solver}/terms.hpp              |   0
 {Solver => src/solver}/thermicSolver.cpp      |   0
 {Solver => src/solver}/thermicSolver.h        |   0
 utils/misc/update_copyright.sh                |   4 +-
 784 files changed, 297 insertions(+), 294 deletions(-)
 rename {Common => src/common}/CMakeLists.txt (94%)
 rename {Common => src/common}/Colors.h (100%)
 rename {Common => src/common}/CommandLine.cpp (100%)
 rename {Common => src/common}/CommandLine.h (100%)
 rename {Common => src/common}/Context.cpp (100%)
 rename {Common => src/common}/Context.h (100%)
 rename {Common => src/common}/CreateFile.cpp (100%)
 rename {Common => src/common}/CreateFile.h (100%)
 rename {Common => src/common}/DefaultOptions.h (100%)
 rename {Common => src/common}/GamePad.cpp (100%)
 rename {Common => src/common}/GamePad.h (100%)
 rename {Common => src/common}/GmshConfig.h.in (100%)
 rename {Common => src/common}/GmshDefines.h (100%)
 rename {Common => src/common}/GmshGlobal.cpp (100%)
 rename {Common => src/common}/GmshGlobal.h (100%)
 rename {Common => src/common}/GmshMessage.cpp (100%)
 rename {Common => src/common}/GmshMessage.h (100%)
 rename {Common => src/common}/GmshRemote.cpp (100%)
 rename {Common => src/common}/GmshRemote.h (100%)
 rename {Common => src/common}/GmshSocket.h (100%)
 rename {Common => src/common}/GmshVersion.h.in (100%)
 rename {Common => src/common}/Hash.h (100%)
 rename {Common => src/common}/ListUtils.cpp (100%)
 rename {Common => src/common}/ListUtils.h (100%)
 rename {Common => src/common}/Main.cpp (100%)
 rename {Common => src/common}/MallocUtils.cpp (100%)
 rename {Common => src/common}/MallocUtils.h (100%)
 rename {Common => src/common}/OS.cpp (100%)
 rename {Common => src/common}/OS.h (100%)
 rename {Common => src/common}/Octree.cpp (100%)
 rename {Common => src/common}/Octree.h (100%)
 rename {Common => src/common}/OctreeInternals.cpp (100%)
 rename {Common => src/common}/OctreeInternals.h (100%)
 rename {Common => src/common}/OpenFile.cpp (100%)
 rename {Common => src/common}/OpenFile.h (100%)
 rename {Common => src/common}/Options.cpp (100%)
 rename {Common => src/common}/Options.h (100%)
 rename {Common => src/common}/SmoothData.cpp (100%)
 rename {Common => src/common}/SmoothData.h (100%)
 rename {Common => src/common}/StringUtils.cpp (100%)
 rename {Common => src/common}/StringUtils.h (100%)
 rename {Common => src/common}/TreeUtils.cpp (100%)
 rename {Common => src/common}/TreeUtils.h (100%)
 rename {Common => src/common}/VertexArray.cpp (100%)
 rename {Common => src/common}/VertexArray.h (100%)
 rename {Common => src/common}/avl.cpp (100%)
 rename {Common => src/common}/avl.h (100%)
 rename {Common => src/common}/gmsh.cpp (100%)
 rename {Common => src/common}/gmshLocalNetworkClient.cpp (100%)
 rename {Common => src/common}/gmshLocalNetworkClient.h (100%)
 rename {Common => src/common}/gmshPopplerWrapper.cpp (100%)
 rename {Common => src/common}/gmshPopplerWrapper.h (100%)
 rename {Common => src/common}/libol1.c (100%)
 rename {Common => src/common}/libol1.h (100%)
 rename {Common => src/common}/onelab.h (100%)
 rename {Common => src/common}/onelabUtils.cpp (100%)
 rename {Common => src/common}/onelabUtils.h (100%)
 rename {Common => src/common}/picojson.h (100%)
 rename {Common => src/common}/robin_hood.h (100%)
 rename {Common => src/common}/rtree.h (100%)
 rename {Fltk => src/fltk}/CMakeLists.txt (95%)
 rename {Fltk => src/fltk}/FlGui.cpp (100%)
 rename {Fltk => src/fltk}/FlGui.h (100%)
 rename {Fltk => src/fltk}/MacIcons.icns (100%)
 rename {Fltk => src/fltk}/MacIconsGeo.icns (100%)
 rename {Fltk => src/fltk}/MacIconsMsh.icns (100%)
 rename {Fltk => src/fltk}/MacIconsPos.icns (100%)
 rename {Fltk => src/fltk}/MacIconsSol.icns (100%)
 rename {Fltk => src/fltk}/Navigator.cpp (100%)
 rename {Fltk => src/fltk}/Navigator.h (100%)
 rename {Fltk => src/fltk}/Win32Icon.ico (100%)
 rename {Fltk => src/fltk}/Win32Icon.res (100%)
 rename {Fltk => src/fltk}/Win64Icon.ico (100%)
 rename {Fltk => src/fltk}/Win64Icon.res (100%)
 rename {Fltk => src/fltk}/XpmIcon.h (100%)
 rename {Fltk => src/fltk}/classificationEditor.cpp (100%)
 rename {Fltk => src/fltk}/classificationEditor.h (100%)
 rename {Fltk => src/fltk}/clippingWindow.cpp (100%)
 rename {Fltk => src/fltk}/clippingWindow.h (100%)
 rename {Fltk => src/fltk}/colorbarWindow.cpp (100%)
 rename {Fltk => src/fltk}/colorbarWindow.h (100%)
 rename {Fltk => src/fltk}/contextWindow.cpp (100%)
 rename {Fltk => src/fltk}/contextWindow.h (100%)
 rename {Fltk => src/fltk}/drawContextFltk.h (100%)
 rename {Fltk => src/fltk}/drawContextFltkCairo.cpp (100%)
 rename {Fltk => src/fltk}/drawContextFltkCairo.h (100%)
 rename {Fltk => src/fltk}/drawContextFltkStringTexture.cpp (100%)
 rename {Fltk => src/fltk}/drawContextFltkStringTexture.h (100%)
 rename {Fltk => src/fltk}/extraDialogs.cpp (100%)
 rename {Fltk => src/fltk}/extraDialogs.h (100%)
 rename {Fltk => src/fltk}/fieldWindow.cpp (100%)
 rename {Fltk => src/fltk}/fieldWindow.h (100%)
 rename {Fltk => src/fltk}/fileDialogs.cpp (100%)
 rename {Fltk => src/fltk}/fileDialogs.h (100%)
 rename {Fltk => src/fltk}/gamepadWindow.cpp (100%)
 rename {Fltk => src/fltk}/gamepadWindow.h (100%)
 rename {Fltk => src/fltk}/graphicWindow.cpp (100%)
 rename {Fltk => src/fltk}/graphicWindow.h (100%)
 rename {Fltk => src/fltk}/helpWindow.cpp (100%)
 rename {Fltk => src/fltk}/helpWindow.h (100%)
 rename {Fltk => src/fltk}/highOrderToolsWindow.cpp (100%)
 rename {Fltk => src/fltk}/highOrderToolsWindow.h (100%)
 rename {Fltk => src/fltk}/inputRange.h (100%)
 rename {Fltk => src/fltk}/inputValue.cpp (100%)
 rename {Fltk => src/fltk}/inputValue.h (100%)
 rename {Fltk => src/fltk}/mainWindow.h (100%)
 rename {Fltk => src/fltk}/manipWindow.cpp (100%)
 rename {Fltk => src/fltk}/manipWindow.h (100%)
 rename {Fltk => src/fltk}/messageBrowser.h (100%)
 rename {Fltk => src/fltk}/onelabContextWindow.cpp (100%)
 rename {Fltk => src/fltk}/onelabContextWindow.h (100%)
 rename {Fltk => src/fltk}/onelabGroup.cpp (100%)
 rename {Fltk => src/fltk}/onelabGroup.h (100%)
 rename {Fltk => src/fltk}/openglWindow.cpp (100%)
 rename {Fltk => src/fltk}/openglWindow.h (100%)
 rename {Fltk => src/fltk}/optionWindow.cpp (100%)
 rename {Fltk => src/fltk}/optionWindow.h (100%)
 rename {Fltk => src/fltk}/outputRange.h (100%)
 rename {Fltk => src/fltk}/paletteWindow.h (100%)
 rename {Fltk => src/fltk}/partitionDialog.cpp (100%)
 rename {Fltk => src/fltk}/partitionDialog.h (100%)
 rename {Fltk => src/fltk}/pluginWindow.cpp (100%)
 rename {Fltk => src/fltk}/pluginWindow.h (100%)
 rename {Fltk => src/fltk}/solverButton.cpp (100%)
 rename {Fltk => src/fltk}/solverButton.h (100%)
 rename {Fltk => src/fltk}/spherePositionWidget.h (100%)
 rename {Fltk => src/fltk}/statisticsWindow.cpp (100%)
 rename {Fltk => src/fltk}/statisticsWindow.h (100%)
 rename {Fltk => src/fltk}/touchBar.h (100%)
 rename {Fltk => src/fltk}/touchBar.mm (100%)
 rename {Fltk => src/fltk}/treeIcons.h (100%)
 rename {Fltk => src/fltk}/viewButton.cpp (100%)
 rename {Fltk => src/fltk}/viewButton.h (100%)
 rename {Fltk => src/fltk}/visibilityWindow.cpp (100%)
 rename {Fltk => src/fltk}/visibilityWindow.h (100%)
 rename {Geo => src/geo}/CGNSCommon.cpp (100%)
 rename {Geo => src/geo}/CGNSCommon.h (100%)
 rename {Geo => src/geo}/CGNSConventions.cpp (100%)
 rename {Geo => src/geo}/CGNSConventions.h (100%)
 rename {Geo => src/geo}/CGNSRead.cpp (100%)
 rename {Geo => src/geo}/CGNSRead.h (100%)
 rename {Geo => src/geo}/CGNSWrite.cpp (100%)
 rename {Geo => src/geo}/CGNSWrite.h (100%)
 rename {Geo => src/geo}/CGNSWriteStruct.cpp (100%)
 rename {Geo => src/geo}/CGNSWriteStruct.h (100%)
 rename {Geo => src/geo}/CGNSZone.cpp (100%)
 rename {Geo => src/geo}/CGNSZone.h (100%)
 rename {Geo => src/geo}/CGNSZoneStruct.cpp (100%)
 rename {Geo => src/geo}/CGNSZoneStruct.h (100%)
 rename {Geo => src/geo}/CGNSZoneUnstruct.cpp (100%)
 rename {Geo => src/geo}/CGNSZoneUnstruct.h (100%)
 rename {Geo => src/geo}/CMakeLists.txt (98%)
 rename {Geo => src/geo}/Cell.cpp (100%)
 rename {Geo => src/geo}/Cell.h (100%)
 rename {Geo => src/geo}/CellComplex.cpp (100%)
 rename {Geo => src/geo}/CellComplex.h (100%)
 rename {Geo => src/geo}/Chain.cpp (100%)
 rename {Geo => src/geo}/Chain.h (100%)
 rename {Geo => src/geo}/ChainComplex.cpp (100%)
 rename {Geo => src/geo}/ChainComplex.h (100%)
 rename {Geo => src/geo}/ExtrudeParams.cpp (100%)
 rename {Geo => src/geo}/ExtrudeParams.h (100%)
 rename {Geo => src/geo}/GEdge.cpp (100%)
 rename {Geo => src/geo}/GEdge.h (100%)
 rename {Geo => src/geo}/GEdgeLoop.cpp (100%)
 rename {Geo => src/geo}/GEdgeLoop.h (100%)
 rename {Geo => src/geo}/GEntity.cpp (100%)
 rename {Geo => src/geo}/GEntity.h (100%)
 rename {Geo => src/geo}/GFace.cpp (100%)
 rename {Geo => src/geo}/GFace.h (100%)
 rename {Geo => src/geo}/GModel.cpp (100%)
 rename {Geo => src/geo}/GModel.h (100%)
 rename {Geo => src/geo}/GModelCreateTopologyFromMesh.cpp (100%)
 rename {Geo => src/geo}/GModelCreateTopologyFromMesh.h (100%)
 rename {Geo => src/geo}/GModelIO_ACTRAN.cpp (100%)
 rename {Geo => src/geo}/GModelIO_BDF.cpp (100%)
 rename {Geo => src/geo}/GModelIO_CELUM.cpp (100%)
 rename {Geo => src/geo}/GModelIO_CGNS.cpp (100%)
 rename {Geo => src/geo}/GModelIO_DIFF.cpp (100%)
 rename {Geo => src/geo}/GModelIO_GEO.cpp (100%)
 rename {Geo => src/geo}/GModelIO_GEO.h (100%)
 rename {Geo => src/geo}/GModelIO_GEOM.cpp (100%)
 rename {Geo => src/geo}/GModelIO_INP.cpp (100%)
 rename {Geo => src/geo}/GModelIO_IR3.cpp (100%)
 rename {Geo => src/geo}/GModelIO_KEY.cpp (100%)
 rename {Geo => src/geo}/GModelIO_MAIL.cpp (100%)
 rename {Geo => src/geo}/GModelIO_MATLAB.cpp (99%)
 rename {Geo => src/geo}/GModelIO_MED.cpp (100%)
 rename {Geo => src/geo}/GModelIO_MESH.cpp (100%)
 rename {Geo => src/geo}/GModelIO_MSH.cpp (100%)
 rename {Geo => src/geo}/GModelIO_MSH2.cpp (100%)
 rename {Geo => src/geo}/GModelIO_MSH3.cpp (100%)
 rename {Geo => src/geo}/GModelIO_MSH4.cpp (100%)
 rename {Geo => src/geo}/GModelIO_NEU.cpp (100%)
 rename {Geo => src/geo}/GModelIO_OCC.cpp (100%)
 rename {Geo => src/geo}/GModelIO_OCC.h (100%)
 rename {Geo => src/geo}/GModelIO_OFF.cpp (100%)
 rename {Geo => src/geo}/GModelIO_P3D.cpp (100%)
 rename {Geo => src/geo}/GModelIO_PLY.cpp (100%)
 rename {Geo => src/geo}/GModelIO_POS.cpp (100%)
 rename {Geo => src/geo}/GModelIO_SAMCEF.cpp (100%)
 rename {Geo => src/geo}/GModelIO_STL.cpp (100%)
 rename {Geo => src/geo}/GModelIO_SU2.cpp (100%)
 rename {Geo => src/geo}/GModelIO_TOCHNOG.cpp (100%)
 rename {Geo => src/geo}/GModelIO_UNV.cpp (100%)
 rename {Geo => src/geo}/GModelIO_VRML.cpp (100%)
 rename {Geo => src/geo}/GModelIO_VTK.cpp (100%)
 rename {Geo => src/geo}/GModelIO_X3D.cpp (100%)
 rename {Geo => src/geo}/GModelParametrize.cpp (100%)
 rename {Geo => src/geo}/GModelParametrize.h (100%)
 rename {Geo => src/geo}/GModelVertexArrays.cpp (100%)
 rename {Geo => src/geo}/GPoint.h (100%)
 rename {Geo => src/geo}/GRegion.cpp (100%)
 rename {Geo => src/geo}/GRegion.h (100%)
 rename {Geo => src/geo}/GVertex.cpp (100%)
 rename {Geo => src/geo}/GVertex.h (100%)
 rename {Geo => src/geo}/Geo.cpp (100%)
 rename {Geo => src/geo}/Geo.h (100%)
 rename {Geo => src/geo}/GeoDefines.h (100%)
 rename {Geo => src/geo}/GeoInterpolation.cpp (100%)
 rename {Geo => src/geo}/GeoInterpolation.h (100%)
 rename {Geo => src/geo}/GeomMeshMatcher.cpp (100%)
 rename {Geo => src/geo}/GeomMeshMatcher.h (100%)
 rename {Geo => src/geo}/Homology.cpp (100%)
 rename {Geo => src/geo}/Homology.h (100%)
 rename {Geo => src/geo}/MEdge.cpp (100%)
 rename {Geo => src/geo}/MEdge.h (100%)
 rename {Geo => src/geo}/MEdgeHash.h (100%)
 rename {Geo => src/geo}/MElement.cpp (100%)
 rename {Geo => src/geo}/MElement.h (100%)
 rename {Geo => src/geo}/MElementCut.cpp (100%)
 rename {Geo => src/geo}/MElementCut.h (100%)
 rename {Geo => src/geo}/MElementOctree.cpp (100%)
 rename {Geo => src/geo}/MElementOctree.h (100%)
 rename {Geo => src/geo}/MFace.cpp (100%)
 rename {Geo => src/geo}/MFace.h (100%)
 rename {Geo => src/geo}/MFaceHash.h (100%)
 rename {Geo => src/geo}/MHexahedron.cpp (100%)
 rename {Geo => src/geo}/MHexahedron.h (100%)
 rename {Geo => src/geo}/MLine.cpp (100%)
 rename {Geo => src/geo}/MLine.h (100%)
 rename {Geo => src/geo}/MPoint.h (100%)
 rename {Geo => src/geo}/MPrism.cpp (100%)
 rename {Geo => src/geo}/MPrism.h (100%)
 rename {Geo => src/geo}/MPyramid.cpp (100%)
 rename {Geo => src/geo}/MPyramid.h (100%)
 rename {Geo => src/geo}/MQuadrangle.cpp (100%)
 rename {Geo => src/geo}/MQuadrangle.h (100%)
 rename {Geo => src/geo}/MSubElement.cpp (100%)
 rename {Geo => src/geo}/MSubElement.h (100%)
 rename {Geo => src/geo}/MTetrahedron.cpp (100%)
 rename {Geo => src/geo}/MTetrahedron.h (100%)
 rename {Geo => src/geo}/MTriangle.cpp (100%)
 rename {Geo => src/geo}/MTriangle.h (100%)
 rename {Geo => src/geo}/MTrihedron.cpp (100%)
 rename {Geo => src/geo}/MTrihedron.h (100%)
 rename {Geo => src/geo}/MVertex.cpp (100%)
 rename {Geo => src/geo}/MVertex.h (100%)
 rename {Geo => src/geo}/MVertexBoundaryLayerData.cpp (100%)
 rename {Geo => src/geo}/MVertexBoundaryLayerData.h (100%)
 rename {Geo => src/geo}/MVertexRTree.h (100%)
 rename {Geo => src/geo}/OCCAttributes.h (100%)
 rename {Geo => src/geo}/OCCEdge.cpp (100%)
 rename {Geo => src/geo}/OCCEdge.h (100%)
 rename {Geo => src/geo}/OCCFace.cpp (100%)
 rename {Geo => src/geo}/OCCFace.h (100%)
 rename {Geo => src/geo}/OCCRegion.cpp (100%)
 rename {Geo => src/geo}/OCCRegion.h (100%)
 rename {Geo => src/geo}/OCCVertex.cpp (100%)
 rename {Geo => src/geo}/OCCVertex.h (100%)
 rename {Geo => src/geo}/Pair.h (100%)
 rename {Geo => src/geo}/Range.h (100%)
 rename {Geo => src/geo}/SBoundingBox3d.h (100%)
 rename {Geo => src/geo}/SOrientedBoundingBox.cpp (100%)
 rename {Geo => src/geo}/SOrientedBoundingBox.h (100%)
 rename {Geo => src/geo}/SPoint2.h (100%)
 rename {Geo => src/geo}/SPoint3.h (100%)
 rename {Geo => src/geo}/SPoint3KDTree.h (100%)
 rename {Geo => src/geo}/STensor3.cpp (100%)
 rename {Geo => src/geo}/STensor3.h (100%)
 rename {Geo => src/geo}/SVector3.h (100%)
 rename {Geo => src/geo}/affineTransformation.cpp (100%)
 rename {Geo => src/geo}/affineTransformation.h (100%)
 rename {Geo => src/geo}/boundaryLayersData.cpp (100%)
 rename {Geo => src/geo}/boundaryLayersData.h (100%)
 rename {Geo => src/geo}/closestPoint.cpp (100%)
 rename {Geo => src/geo}/closestPoint.h (100%)
 rename {Geo => src/geo}/closestVertex.cpp (100%)
 rename {Geo => src/geo}/closestVertex.h (100%)
 rename {Geo => src/geo}/discreteEdge.cpp (100%)
 rename {Geo => src/geo}/discreteEdge.h (100%)
 rename {Geo => src/geo}/discreteFace.cpp (100%)
 rename {Geo => src/geo}/discreteFace.h (100%)
 rename {Geo => src/geo}/discreteRegion.cpp (100%)
 rename {Geo => src/geo}/discreteRegion.h (100%)
 rename {Geo => src/geo}/discreteVertex.cpp (100%)
 rename {Geo => src/geo}/discreteVertex.h (100%)
 rename {Geo => src/geo}/findLinks.cpp (100%)
 rename {Geo => src/geo}/findLinks.h (100%)
 rename {Geo => src/geo}/ghostEdge.h (100%)
 rename {Geo => src/geo}/ghostFace.h (100%)
 rename {Geo => src/geo}/ghostRegion.h (100%)
 rename {Geo => src/geo}/gmshEdge.cpp (100%)
 rename {Geo => src/geo}/gmshEdge.h (100%)
 rename {Geo => src/geo}/gmshEdgeDiscretize.cpp (100%)
 rename {Geo => src/geo}/gmshFace.cpp (100%)
 rename {Geo => src/geo}/gmshFace.h (100%)
 rename {Geo => src/geo}/gmshLevelset.cpp (100%)
 rename {Geo => src/geo}/gmshLevelset.h (100%)
 rename {Geo => src/geo}/gmshRegion.cpp (100%)
 rename {Geo => src/geo}/gmshRegion.h (100%)
 rename {Geo => src/geo}/gmshSurface.cpp (100%)
 rename {Geo => src/geo}/gmshSurface.h (100%)
 rename {Geo => src/geo}/gmshVertex.cpp (100%)
 rename {Geo => src/geo}/gmshVertex.h (100%)
 rename {Geo => src/geo}/intersectCurveSurface.cpp (100%)
 rename {Geo => src/geo}/intersectCurveSurface.h (100%)
 rename {Geo => src/geo}/partitionEdge.h (100%)
 rename {Geo => src/geo}/partitionFace.h (100%)
 rename {Geo => src/geo}/partitionRegion.h (100%)
 rename {Geo => src/geo}/partitionVertex.h (100%)
 rename {Geo => src/geo}/scriptStringInterface.cpp (100%)
 rename {Geo => src/geo}/scriptStringInterface.h (100%)
 rename {Geo => src/geo}/xyEdge.h (100%)
 rename {Geo => src/geo}/xyFace.h (100%)
 rename {Graphics => src/graphics}/CMakeLists.txt (53%)
 rename {Graphics => src/graphics}/Camera.cpp (100%)
 rename {Graphics => src/graphics}/Camera.h (100%)
 rename {Graphics => src/graphics}/PixelBuffer.h (100%)
 rename {Graphics => src/graphics}/ReadImg.cpp (100%)
 rename {Graphics => src/graphics}/ReadImg.h (100%)
 rename {Graphics => src/graphics}/Trackball.cpp (100%)
 rename {Graphics => src/graphics}/Trackball.h (100%)
 rename {Graphics => src/graphics}/drawAxes.cpp (100%)
 rename {Graphics => src/graphics}/drawContext.cpp (100%)
 rename {Graphics => src/graphics}/drawContext.h (100%)
 rename {Graphics => src/graphics}/drawGeom.cpp (100%)
 rename {Graphics => src/graphics}/drawGlyph.cpp (100%)
 rename {Graphics => src/graphics}/drawGraph2d.cpp (100%)
 rename {Graphics => src/graphics}/drawMesh.cpp (100%)
 rename {Graphics => src/graphics}/drawPost.cpp (100%)
 rename {Graphics => src/graphics}/drawScales.cpp (100%)
 rename {Graphics => src/graphics}/gl2gif.cpp (100%)
 rename {Graphics => src/graphics}/gl2gif.h (100%)
 rename {Graphics => src/graphics}/gl2jpeg.cpp (100%)
 rename {Graphics => src/graphics}/gl2jpeg.h (100%)
 rename {Graphics => src/graphics}/gl2pgf.cpp (100%)
 rename {Graphics => src/graphics}/gl2pgf.h (100%)
 rename {Graphics => src/graphics}/gl2png.cpp (100%)
 rename {Graphics => src/graphics}/gl2png.h (100%)
 rename {Graphics => src/graphics}/gl2ppm.cpp (100%)
 rename {Graphics => src/graphics}/gl2ppm.h (100%)
 rename {Graphics => src/graphics}/gl2ps.cpp (100%)
 rename {Graphics => src/graphics}/gl2ps.h (100%)
 rename {Graphics => src/graphics}/gl2yuv.cpp (100%)
 rename {Graphics => src/graphics}/gl2yuv.h (100%)
 rename {Mesh => src/mesh}/BDS.cpp (100%)
 rename {Mesh => src/mesh}/BDS.h (100%)
 rename {Mesh => src/mesh}/BackgroundMesh.cpp (100%)
 rename {Mesh => src/mesh}/BackgroundMesh.h (100%)
 rename {Mesh => src/mesh}/BackgroundMeshTools.cpp (100%)
 rename {Mesh => src/mesh}/BackgroundMeshTools.h (100%)
 rename {Mesh => src/mesh}/BoundaryLayers.cpp (100%)
 rename {Mesh => src/mesh}/BoundaryLayers.h (100%)
 rename {Mesh => src/mesh}/CMakeLists.txt (96%)
 rename {Mesh => src/mesh}/DivideAndConquer.cpp (100%)
 rename {Mesh => src/mesh}/DivideAndConquer.h (100%)
 rename {Mesh => src/mesh}/Field.cpp (100%)
 rename {Mesh => src/mesh}/Field.h (100%)
 rename {Mesh => src/mesh}/FieldPython.h (100%)
 rename {Mesh => src/mesh}/Generator.cpp (100%)
 rename {Mesh => src/mesh}/Generator.h (100%)
 rename {Mesh => src/mesh}/HighOrder.cpp (100%)
 rename {Mesh => src/mesh}/HighOrder.h (100%)
 rename {Mesh => src/mesh}/alphaShapes.cpp (100%)
 rename {Mesh => src/mesh}/automaticMeshSizeField.cpp (100%)
 rename {Mesh => src/mesh}/automaticMeshSizeField.h (100%)
 rename {Mesh => src/mesh}/delaunay3d.cpp (100%)
 rename {Mesh => src/mesh}/delaunay3d.h (100%)
 rename {Mesh => src/mesh}/filterElements.cpp (100%)
 rename {Mesh => src/mesh}/filterElements.h (100%)
 rename {Mesh => src/mesh}/gmshCrossFields.cpp (100%)
 rename {Mesh => src/mesh}/gmshCrossFields.h (100%)
 rename {Mesh => src/mesh}/meshGEdge.cpp (100%)
 rename {Mesh => src/mesh}/meshGEdge.h (100%)
 rename {Mesh => src/mesh}/meshGEdgeExtruded.cpp (100%)
 rename {Mesh => src/mesh}/meshGFace.cpp (100%)
 rename {Mesh => src/mesh}/meshGFace.h (100%)
 rename {Mesh => src/mesh}/meshGFaceBDS.cpp (100%)
 rename {Mesh => src/mesh}/meshGFaceBDS.h (100%)
 rename {Mesh => src/mesh}/meshGFaceBamg.cpp (100%)
 rename {Mesh => src/mesh}/meshGFaceBamg.h (100%)
 rename {Mesh => src/mesh}/meshGFaceBipartiteLabelling.cpp (100%)
 rename {Mesh => src/mesh}/meshGFaceBipartiteLabelling.h (100%)
 rename {Mesh => src/mesh}/meshGFaceDelaunayInsertion.cpp (100%)
 rename {Mesh => src/mesh}/meshGFaceDelaunayInsertion.h (100%)
 rename {Mesh => src/mesh}/meshGFaceExtruded.cpp (100%)
 rename {Mesh => src/mesh}/meshGFaceOptimize.cpp (100%)
 rename {Mesh => src/mesh}/meshGFaceOptimize.h (100%)
 rename {Mesh => src/mesh}/meshGFacePack.cpp (100%)
 rename {Mesh => src/mesh}/meshGFaceTransfinite.cpp (100%)
 rename {Mesh => src/mesh}/meshGRegion.cpp (100%)
 rename {Mesh => src/mesh}/meshGRegion.h (100%)
 rename {Mesh => src/mesh}/meshGRegionBoundaryLayer.cpp (100%)
 rename {Mesh => src/mesh}/meshGRegionBoundaryRecovery.cpp (100%)
 rename {Mesh => src/mesh}/meshGRegionBoundaryRecovery.h (100%)
 rename {Mesh => src/mesh}/meshGRegionCarveHole.cpp (100%)
 rename {Mesh => src/mesh}/meshGRegionDelaunayInsertion.cpp (100%)
 rename {Mesh => src/mesh}/meshGRegionDelaunayInsertion.h (100%)
 rename {Mesh => src/mesh}/meshGRegionExtruded.cpp (100%)
 rename {Mesh => src/mesh}/meshGRegionHxt.cpp (100%)
 rename {Mesh => src/mesh}/meshGRegionHxt.h (100%)
 rename {Mesh => src/mesh}/meshGRegionLocalMeshMod.cpp (100%)
 rename {Mesh => src/mesh}/meshGRegionLocalMeshMod.h (100%)
 rename {Mesh => src/mesh}/meshGRegionMMG.cpp (100%)
 rename {Mesh => src/mesh}/meshGRegionMMG.h (100%)
 rename {Mesh => src/mesh}/meshGRegionNetgen.cpp (100%)
 rename {Mesh => src/mesh}/meshGRegionNetgen.h (100%)
 rename {Mesh => src/mesh}/meshGRegionTransfinite.cpp (100%)
 rename {Mesh => src/mesh}/meshMetric.cpp (100%)
 rename {Mesh => src/mesh}/meshMetric.h (100%)
 rename {Mesh => src/mesh}/meshOctreeLibOL.cpp (100%)
 rename {Mesh => src/mesh}/meshOctreeLibOL.h (100%)
 rename {Mesh => src/mesh}/meshPartition.cpp (100%)
 rename {Mesh => src/mesh}/meshPartition.h (100%)
 rename {Mesh => src/mesh}/meshPolyMesh.h (99%)
 rename {Mesh => src/mesh}/meshQuadQuasiStructured.cpp (100%)
 rename {Mesh => src/mesh}/meshQuadQuasiStructured.h (100%)
 rename {Mesh => src/mesh}/meshRefine.cpp (100%)
 rename {Mesh => src/mesh}/meshRefine.h (100%)
 rename {Mesh => src/mesh}/meshRelocateVertex.cpp (100%)
 rename {Mesh => src/mesh}/meshRelocateVertex.h (100%)
 rename {Mesh => src/mesh}/meshTriangulation.cpp (100%)
 rename {Mesh => src/mesh}/meshTriangulation.h (100%)
 rename {Mesh => src/mesh}/qualityMeasures.cpp (100%)
 rename {Mesh => src/mesh}/qualityMeasures.h (100%)
 rename {Mesh => src/mesh}/qualityMeasuresJacobian.cpp (100%)
 rename {Mesh => src/mesh}/qualityMeasuresJacobian.h (100%)
 rename {Mesh => src/mesh}/sizeField.cpp (100%)
 rename {Mesh => src/mesh}/sizeField.h (100%)
 rename {Mesh => src/mesh}/tetgenBR.cxx (100%)
 rename {Mesh => src/mesh}/tetgenBR.h (99%)
 rename {Numeric => src/numeric}/BasisFactory.cpp (100%)
 rename {Numeric => src/numeric}/BasisFactory.h (100%)
 rename {Numeric => src/numeric}/BergotBasis.cpp (100%)
 rename {Numeric => src/numeric}/BergotBasis.h (100%)
 rename {Numeric => src/numeric}/CMakeLists.txt (97%)
 rename {Numeric => src/numeric}/CondNumBasis.cpp (100%)
 rename {Numeric => src/numeric}/CondNumBasis.h (100%)
 rename {Numeric => src/numeric}/ConjugateGradients.cpp (100%)
 rename {Numeric => src/numeric}/ConjugateGradients.h (100%)
 rename {Numeric => src/numeric}/ElementType.cpp (100%)
 rename {Numeric => src/numeric}/ElementType.h (100%)
 rename {Numeric => src/numeric}/FuncSpaceData.cpp (100%)
 rename {Numeric => src/numeric}/FuncSpaceData.h (100%)
 rename {Numeric => src/numeric}/GaussIntegration.cpp (100%)
 rename {Numeric => src/numeric}/GaussIntegration.h (100%)
 rename {Numeric => src/numeric}/GaussJacobi1D.cpp (100%)
 rename {Numeric => src/numeric}/GaussJacobi1D.h (100%)
 rename {Numeric => src/numeric}/GaussLegendre1D.h (100%)
 rename {Numeric => src/numeric}/GaussLegendreSimplex.cpp (100%)
 rename {Numeric => src/numeric}/GaussQuadratureHex.cpp (100%)
 rename {Numeric => src/numeric}/GaussQuadratureLin.cpp (100%)
 rename {Numeric => src/numeric}/GaussQuadraturePri.cpp (100%)
 rename {Numeric => src/numeric}/GaussQuadraturePyr.cpp (100%)
 rename {Numeric => src/numeric}/GaussQuadratureQuad.cpp (100%)
 rename {Numeric => src/numeric}/GaussQuadratureTet.cpp (100%)
 rename {Numeric => src/numeric}/GaussQuadratureTri.cpp (100%)
 rename {Numeric => src/numeric}/HierarchicalBasis.cpp (100%)
 rename {Numeric => src/numeric}/HierarchicalBasis.h (100%)
 rename {Numeric => src/numeric}/HierarchicalBasisH1.cpp (100%)
 rename {Numeric => src/numeric}/HierarchicalBasisH1.h (100%)
 rename {Numeric => src/numeric}/HierarchicalBasisH1Brick.cpp (100%)
 rename {Numeric => src/numeric}/HierarchicalBasisH1Brick.h (100%)
 rename {Numeric => src/numeric}/HierarchicalBasisH1Line.cpp (100%)
 rename {Numeric => src/numeric}/HierarchicalBasisH1Line.h (100%)
 rename {Numeric => src/numeric}/HierarchicalBasisH1Point.cpp (100%)
 rename {Numeric => src/numeric}/HierarchicalBasisH1Point.h (100%)
 rename {Numeric => src/numeric}/HierarchicalBasisH1Pri.cpp (100%)
 rename {Numeric => src/numeric}/HierarchicalBasisH1Pri.h (100%)
 rename {Numeric => src/numeric}/HierarchicalBasisH1Quad.cpp (100%)
 rename {Numeric => src/numeric}/HierarchicalBasisH1Quad.h (100%)
 rename {Numeric => src/numeric}/HierarchicalBasisH1Tetra.cpp (100%)
 rename {Numeric => src/numeric}/HierarchicalBasisH1Tetra.h (100%)
 rename {Numeric => src/numeric}/HierarchicalBasisH1Tria.cpp (100%)
 rename {Numeric => src/numeric}/HierarchicalBasisH1Tria.h (100%)
 rename {Numeric => src/numeric}/HierarchicalBasisHcurl.cpp (100%)
 rename {Numeric => src/numeric}/HierarchicalBasisHcurl.h (100%)
 rename {Numeric => src/numeric}/HierarchicalBasisHcurlBrick.cpp (100%)
 rename {Numeric => src/numeric}/HierarchicalBasisHcurlBrick.h (100%)
 rename {Numeric => src/numeric}/HierarchicalBasisHcurlLine.cpp (100%)
 rename {Numeric => src/numeric}/HierarchicalBasisHcurlLine.h (100%)
 rename {Numeric => src/numeric}/HierarchicalBasisHcurlPri.cpp (100%)
 rename {Numeric => src/numeric}/HierarchicalBasisHcurlPri.h (100%)
 rename {Numeric => src/numeric}/HierarchicalBasisHcurlQuad.cpp (100%)
 rename {Numeric => src/numeric}/HierarchicalBasisHcurlQuad.h (100%)
 rename {Numeric => src/numeric}/HierarchicalBasisHcurlTetra.cpp (100%)
 rename {Numeric => src/numeric}/HierarchicalBasisHcurlTetra.h (100%)
 rename {Numeric => src/numeric}/HierarchicalBasisHcurlTria.cpp (100%)
 rename {Numeric => src/numeric}/HierarchicalBasisHcurlTria.h (100%)
 rename {Numeric => src/numeric}/HilbertCurve.cpp (100%)
 rename {Numeric => src/numeric}/HilbertCurve.h (100%)
 rename {Numeric => src/numeric}/InnerVertexPlacement.cpp (100%)
 rename {Numeric => src/numeric}/InnerVertexPlacement.h (100%)
 rename {Numeric => src/numeric}/Iso.cpp (100%)
 rename {Numeric => src/numeric}/Iso.h (100%)
 rename {Numeric => src/numeric}/JacobianBasis.cpp (100%)
 rename {Numeric => src/numeric}/JacobianBasis.h (100%)
 rename {Numeric => src/numeric}/Numeric.cpp (100%)
 rename {Numeric => src/numeric}/Numeric.h (100%)
 rename {Numeric => src/numeric}/OrthogonalPoly.cpp (100%)
 rename {Numeric => src/numeric}/OrthogonalPoly.h (100%)
 rename {Numeric => src/numeric}/approximationError.cpp (100%)
 rename {Numeric => src/numeric}/approximationError.h (100%)
 rename {Numeric => src/numeric}/bezierBasis.cpp (100%)
 rename {Numeric => src/numeric}/bezierBasis.h (100%)
 rename {Numeric => src/numeric}/cartesian.h (100%)
 rename {Numeric => src/numeric}/curvature.cpp (100%)
 rename {Numeric => src/numeric}/curvature.h (100%)
 rename {Numeric => src/numeric}/decasteljau.cpp (100%)
 rename {Numeric => src/numeric}/decasteljau.h (100%)
 rename {Numeric => src/numeric}/discreteFrechetDistance.cpp (100%)
 rename {Numeric => src/numeric}/discreteFrechetDistance.h (100%)
 rename {Numeric => src/numeric}/fullMatrix.cpp (100%)
 rename {Numeric => src/numeric}/fullMatrix.h (100%)
 rename {Numeric => src/numeric}/hausdorffDistance.cpp (100%)
 rename {Numeric => src/numeric}/hausdorffDistance.h (100%)
 rename {Numeric => src/numeric}/incompleteBasis.cpp (100%)
 rename {Numeric => src/numeric}/incompleteBasis.h (100%)
 rename {Numeric => src/numeric}/mathEvaluator.cpp (100%)
 rename {Numeric => src/numeric}/mathEvaluator.h (100%)
 rename {Numeric => src/numeric}/miniBasis.cpp (100%)
 rename {Numeric => src/numeric}/miniBasis.h (100%)
 rename {Numeric => src/numeric}/nanoflann.hpp (100%)
 rename {Numeric => src/numeric}/nodalBasis.cpp (100%)
 rename {Numeric => src/numeric}/nodalBasis.h (100%)
 rename {Numeric => src/numeric}/orthogonalBasis.cpp (100%)
 rename {Numeric => src/numeric}/orthogonalBasis.h (100%)
 rename {Numeric => src/numeric}/pointsGenerators.cpp (100%)
 rename {Numeric => src/numeric}/pointsGenerators.h (100%)
 rename {Numeric => src/numeric}/polynomialBasis.cpp (100%)
 rename {Numeric => src/numeric}/polynomialBasis.h (100%)
 rename {Numeric => src/numeric}/pyramidalBasis.cpp (100%)
 rename {Numeric => src/numeric}/pyramidalBasis.h (100%)
 rename {Numeric => src/numeric}/robustPredicates.cpp (100%)
 rename {Numeric => src/numeric}/robustPredicates.h (100%)
 rename {Numeric => src/numeric}/simpleFunction.h (97%)
 rename {Numeric => src/numeric}/simpleFunctionPython.h (100%)
 rename {Parser => src/parser}/CMakeLists.txt (73%)
 rename {Parser => src/parser}/FunctionManager.cpp (100%)
 rename {Parser => src/parser}/FunctionManager.h (100%)
 rename {Parser => src/parser}/Gmsh.l (100%)
 rename {Parser => src/parser}/Gmsh.tab.cpp (100%)
 rename {Parser => src/parser}/Gmsh.tab.hpp (100%)
 rename {Parser => src/parser}/Gmsh.y (100%)
 rename {Parser => src/parser}/Gmsh.yy.cpp (100%)
 rename {Parser => src/parser}/Parser.h (100%)
 rename {Plugin => src/plugin}/AnalyseMeshQuality.cpp (100%)
 rename {Plugin => src/plugin}/AnalyseMeshQuality.h (100%)
 rename {Plugin => src/plugin}/Annotate.cpp (100%)
 rename {Plugin => src/plugin}/Annotate.h (100%)
 rename {Plugin => src/plugin}/BoundaryAngles.cpp (100%)
 rename {Plugin => src/plugin}/BoundaryAngles.h (100%)
 rename {Plugin => src/plugin}/Bubbles.cpp (100%)
 rename {Plugin => src/plugin}/Bubbles.h (100%)
 rename {Plugin => src/plugin}/CMakeLists.txt (96%)
 rename {Plugin => src/plugin}/CVTRemesh.cpp (100%)
 rename {Plugin => src/plugin}/CVTRemesh.h (100%)
 rename {Plugin => src/plugin}/Crack.cpp (100%)
 rename {Plugin => src/plugin}/Crack.h (100%)
 rename {Plugin => src/plugin}/Curl.cpp (100%)
 rename {Plugin => src/plugin}/Curl.h (100%)
 rename {Plugin => src/plugin}/CurvedBndDist.cpp (100%)
 rename {Plugin => src/plugin}/CurvedBndDist.h (100%)
 rename {Plugin => src/plugin}/CutBox.cpp (100%)
 rename {Plugin => src/plugin}/CutBox.h (100%)
 rename {Plugin => src/plugin}/CutGrid.cpp (100%)
 rename {Plugin => src/plugin}/CutGrid.h (100%)
 rename {Plugin => src/plugin}/CutMesh.cpp (100%)
 rename {Plugin => src/plugin}/CutMesh.h (100%)
 rename {Plugin => src/plugin}/CutParametric.cpp (100%)
 rename {Plugin => src/plugin}/CutParametric.h (100%)
 rename {Plugin => src/plugin}/CutPlane.cpp (100%)
 rename {Plugin => src/plugin}/CutPlane.h (100%)
 rename {Plugin => src/plugin}/CutSphere.cpp (100%)
 rename {Plugin => src/plugin}/CutSphere.h (100%)
 rename {Plugin => src/plugin}/DiscretizationError.cpp (100%)
 rename {Plugin => src/plugin}/DiscretizationError.h (100%)
 rename {Plugin => src/plugin}/Distance.cpp (100%)
 rename {Plugin => src/plugin}/Distance.h (100%)
 rename {Plugin => src/plugin}/Divergence.cpp (100%)
 rename {Plugin => src/plugin}/Divergence.h (100%)
 rename {Plugin => src/plugin}/Eigenvalues.cpp (100%)
 rename {Plugin => src/plugin}/Eigenvalues.h (100%)
 rename {Plugin => src/plugin}/Eigenvectors.cpp (100%)
 rename {Plugin => src/plugin}/Eigenvectors.h (100%)
 rename {Plugin => src/plugin}/ExtractEdges.cpp (100%)
 rename {Plugin => src/plugin}/ExtractEdges.h (100%)
 rename {Plugin => src/plugin}/ExtractElements.cpp (100%)
 rename {Plugin => src/plugin}/ExtractElements.h (100%)
 rename {Plugin => src/plugin}/FieldFromAmplitudePhase.cpp (100%)
 rename {Plugin => src/plugin}/FieldFromAmplitudePhase.h (100%)
 rename {Plugin => src/plugin}/GaussPoints.cpp (100%)
 rename {Plugin => src/plugin}/GaussPoints.h (100%)
 rename {Plugin => src/plugin}/Gradient.cpp (100%)
 rename {Plugin => src/plugin}/Gradient.h (100%)
 rename {Plugin => src/plugin}/HarmonicToTime.cpp (100%)
 rename {Plugin => src/plugin}/HarmonicToTime.h (100%)
 rename {Plugin => src/plugin}/HomologyComputation.cpp (100%)
 rename {Plugin => src/plugin}/HomologyComputation.h (100%)
 rename {Plugin => src/plugin}/HomologyPostProcessing.cpp (100%)
 rename {Plugin => src/plugin}/HomologyPostProcessing.h (100%)
 rename {Plugin => src/plugin}/Integrate.cpp (100%)
 rename {Plugin => src/plugin}/Integrate.h (100%)
 rename {Plugin => src/plugin}/Invisible.cpp (100%)
 rename {Plugin => src/plugin}/Invisible.h (100%)
 rename {Plugin => src/plugin}/Isosurface.cpp (100%)
 rename {Plugin => src/plugin}/Isosurface.h (100%)
 rename {Plugin => src/plugin}/Lambda2.cpp (100%)
 rename {Plugin => src/plugin}/Lambda2.h (100%)
 rename {Plugin => src/plugin}/Levelset.cpp (100%)
 rename {Plugin => src/plugin}/Levelset.h (100%)
 rename {Plugin => src/plugin}/LongitudeLatitude.cpp (100%)
 rename {Plugin => src/plugin}/LongitudeLatitude.h (100%)
 rename {Plugin => src/plugin}/MakeSimplex.cpp (100%)
 rename {Plugin => src/plugin}/MakeSimplex.h (100%)
 rename {Plugin => src/plugin}/MathEval.cpp (100%)
 rename {Plugin => src/plugin}/MathEval.h (100%)
 rename {Plugin => src/plugin}/MeshSizeFieldView.cpp (100%)
 rename {Plugin => src/plugin}/MeshSizeFieldView.h (100%)
 rename {Plugin => src/plugin}/MeshSubEntities.cpp (100%)
 rename {Plugin => src/plugin}/MeshSubEntities.h (100%)
 rename {Plugin => src/plugin}/MeshVolume.cpp (100%)
 rename {Plugin => src/plugin}/MeshVolume.h (100%)
 rename {Plugin => src/plugin}/MinMax.cpp (100%)
 rename {Plugin => src/plugin}/MinMax.h (100%)
 rename {Plugin => src/plugin}/ModifyComponents.cpp (100%)
 rename {Plugin => src/plugin}/ModifyComponents.h (100%)
 rename {Plugin => src/plugin}/ModulusPhase.cpp (100%)
 rename {Plugin => src/plugin}/ModulusPhase.h (100%)
 rename {Plugin => src/plugin}/NearToFarField.cpp (100%)
 rename {Plugin => src/plugin}/NearToFarField.h (100%)
 rename {Plugin => src/plugin}/NearestNeighbor.cpp (100%)
 rename {Plugin => src/plugin}/NearestNeighbor.h (100%)
 rename {Plugin => src/plugin}/NewView.cpp (100%)
 rename {Plugin => src/plugin}/NewView.h (100%)
 rename {Plugin => src/plugin}/Particles.cpp (100%)
 rename {Plugin => src/plugin}/Particles.h (100%)
 rename {Plugin => src/plugin}/Plugin.cpp (100%)
 rename {Plugin => src/plugin}/Plugin.h (100%)
 rename {Plugin => src/plugin}/PluginManager.cpp (100%)
 rename {Plugin => src/plugin}/PluginManager.h (100%)
 rename {Plugin => src/plugin}/Probe.cpp (100%)
 rename {Plugin => src/plugin}/Probe.h (100%)
 rename {Plugin => src/plugin}/Remove.cpp (100%)
 rename {Plugin => src/plugin}/Remove.h (100%)
 rename {Plugin => src/plugin}/Scal2Tens.cpp (100%)
 rename {Plugin => src/plugin}/Scal2Tens.h (100%)
 rename {Plugin => src/plugin}/Scal2Vec.cpp (100%)
 rename {Plugin => src/plugin}/Scal2Vec.h (100%)
 rename {Plugin => src/plugin}/ShowNeighborElements.cpp (100%)
 rename {Plugin => src/plugin}/ShowNeighborElements.h (100%)
 rename {Plugin => src/plugin}/SimplePartition.cpp (100%)
 rename {Plugin => src/plugin}/SimplePartition.h (100%)
 rename {Plugin => src/plugin}/Skin.cpp (100%)
 rename {Plugin => src/plugin}/Skin.h (100%)
 rename {Plugin => src/plugin}/Smooth.cpp (100%)
 rename {Plugin => src/plugin}/Smooth.h (100%)
 rename {Plugin => src/plugin}/SpanningTree.cpp (99%)
 rename {Plugin => src/plugin}/SpanningTree.h (100%)
 rename {Plugin => src/plugin}/SphericalRaise.cpp (100%)
 rename {Plugin => src/plugin}/SphericalRaise.h (100%)
 rename {Plugin => src/plugin}/StreamLines.cpp (100%)
 rename {Plugin => src/plugin}/StreamLines.h (100%)
 rename {Plugin => src/plugin}/Summation.cpp (100%)
 rename {Plugin => src/plugin}/Summation.h (100%)
 rename {Plugin => src/plugin}/Tetrahedralize.cpp (100%)
 rename {Plugin => src/plugin}/Tetrahedralize.h (100%)
 rename {Plugin => src/plugin}/Transform.cpp (100%)
 rename {Plugin => src/plugin}/Transform.h (100%)
 rename {Plugin => src/plugin}/Triangulate.cpp (100%)
 rename {Plugin => src/plugin}/Triangulate.h (100%)
 rename {Plugin => src/plugin}/VoroMetal.cpp (100%)
 rename {Plugin => src/plugin}/VoroMetal.h (100%)
 rename {Plugin => src/plugin}/Warp.cpp (100%)
 rename {Plugin => src/plugin}/Warp.h (100%)
 rename {Post => src/post}/CMakeLists.txt (85%)
 rename {Post => src/post}/ColorTable.cpp (100%)
 rename {Post => src/post}/ColorTable.h (100%)
 rename {Post => src/post}/OctreePost.cpp (100%)
 rename {Post => src/post}/OctreePost.h (100%)
 rename {Post => src/post}/PView.cpp (100%)
 rename {Post => src/post}/PView.h (100%)
 rename {Post => src/post}/PViewAsSimpleFunction.cpp (100%)
 rename {Post => src/post}/PViewAsSimpleFunction.h (100%)
 rename {Post => src/post}/PViewData.cpp (100%)
 rename {Post => src/post}/PViewData.h (100%)
 rename {Post => src/post}/PViewDataGModel.cpp (100%)
 rename {Post => src/post}/PViewDataGModel.h (100%)
 rename {Post => src/post}/PViewDataGModelIO.cpp (100%)
 rename {Post => src/post}/PViewDataGModelIO_CGNS.cpp (100%)
 rename {Post => src/post}/PViewDataIO.cpp (100%)
 rename {Post => src/post}/PViewDataList.cpp (100%)
 rename {Post => src/post}/PViewDataList.h (100%)
 rename {Post => src/post}/PViewDataListIO.cpp (100%)
 rename {Post => src/post}/PViewDataRemote.h (100%)
 rename {Post => src/post}/PViewFactory.cpp (100%)
 rename {Post => src/post}/PViewFactory.h (100%)
 rename {Post => src/post}/PViewIO.cpp (100%)
 rename {Post => src/post}/PViewIO_CGNS.cpp (100%)
 rename {Post => src/post}/PViewOptions.cpp (100%)
 rename {Post => src/post}/PViewOptions.h (100%)
 rename {Post => src/post}/PViewVertexArrays.cpp (100%)
 rename {Post => src/post}/PViewX3D.cpp (100%)
 rename {Post => src/post}/PViewX3D.h (100%)
 rename {Post => src/post}/adaptiveData.cpp (100%)
 rename {Post => src/post}/adaptiveData.h (100%)
 rename {Post => src/post}/shapeFunctions.cpp (100%)
 rename {Post => src/post}/shapeFunctions.h (100%)
 rename {Solver => src/solver}/CMakeLists.txt (86%)
 rename {Solver => src/solver}/FuncGradDisc.h (100%)
 rename {Solver => src/solver}/FuncHeaviside.h (100%)
 rename {Solver => src/solver}/SElement.cpp (100%)
 rename {Solver => src/solver}/SElement.h (100%)
 rename {Solver => src/solver}/STensor33.cpp (100%)
 rename {Solver => src/solver}/STensor33.h (100%)
 rename {Solver => src/solver}/STensor43.cpp (100%)
 rename {Solver => src/solver}/STensor43.h (100%)
 rename {Solver => src/solver}/STensor53.cpp (100%)
 rename {Solver => src/solver}/STensor53.h (100%)
 rename {Solver => src/solver}/STensor63.cpp (100%)
 rename {Solver => src/solver}/STensor63.h (100%)
 rename {Solver => src/solver}/distanceTerm.h (100%)
 rename {Solver => src/solver}/dofManager.cpp (100%)
 rename {Solver => src/solver}/dofManager.h (100%)
 rename {Solver => src/solver}/eigenSolver.cpp (100%)
 rename {Solver => src/solver}/eigenSolver.h (100%)
 rename {Solver => src/solver}/elasticitySolver.cpp (100%)
 rename {Solver => src/solver}/elasticitySolver.h (100%)
 rename {Solver => src/solver}/elasticityTerm.cpp (100%)
 rename {Solver => src/solver}/elasticityTerm.h (100%)
 rename {Solver => src/solver}/femTerm.h (100%)
 rename {Solver => src/solver}/filters.cpp (100%)
 rename {Solver => src/solver}/filters.h (100%)
 rename {Solver => src/solver}/frameSolver.cpp (100%)
 rename {Solver => src/solver}/frameSolver.h (100%)
 rename {Solver => src/solver}/functionSpace.cpp (100%)
 rename {Solver => src/solver}/functionSpace.h (100%)
 rename {Solver => src/solver}/groupOfElements.cpp (100%)
 rename {Solver => src/solver}/groupOfElements.h (100%)
 rename {Solver => src/solver}/helmholtzTerm.h (100%)
 rename {Solver => src/solver}/laplaceTerm.h (100%)
 rename {Solver => src/solver}/linearSystem.cpp (100%)
 rename {Solver => src/solver}/linearSystem.h (100%)
 rename {Solver => src/solver}/linearSystemCSR.cpp (100%)
 rename {Solver => src/solver}/linearSystemCSR.h (100%)
 rename {Solver => src/solver}/linearSystemEigen.cpp (100%)
 rename {Solver => src/solver}/linearSystemEigen.h (100%)
 rename {Solver => src/solver}/linearSystemFull.h (100%)
 rename {Solver => src/solver}/linearSystemGmm.h (100%)
 rename {Solver => src/solver}/linearSystemMUMPS.cpp (100%)
 rename {Solver => src/solver}/linearSystemMUMPS.h (100%)
 rename {Solver => src/solver}/linearSystemPETSc.cpp (100%)
 rename {Solver => src/solver}/linearSystemPETSc.h (100%)
 rename {Solver => src/solver}/linearSystemPETSc.hpp (100%)
 rename {Solver => src/solver}/materialLaw.h (100%)
 rename {Solver => src/solver}/quadratureRules.h (100%)
 rename {Solver => src/solver}/solverAlgorithms.h (100%)
 rename {Solver => src/solver}/solverField.h (100%)
 rename {Solver => src/solver}/sparsityPattern.cpp (100%)
 rename {Solver => src/solver}/sparsityPattern.h (100%)
 rename {Solver => src/solver}/terms.cpp (100%)
 rename {Solver => src/solver}/terms.h (100%)
 rename {Solver => src/solver}/terms.hpp (100%)
 rename {Solver => src/solver}/thermicSolver.cpp (100%)
 rename {Solver => src/solver}/thermicSolver.h (100%)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 5f398db9d3..e089504862 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -148,12 +148,13 @@ if(ENABLE_PRIVATE_API)
   message(WARNING "The private API is unsupported and undocumented. It is meant "
           "for expert Gmsh developers, not for regular Gmsh users, who should rely "
           "on the stable public API (gmsh/api) instead.")
-  file(GLOB_RECURSE HEADERS Common/*.h Numeric/*.h Numeric/*.hpp Geo/*.h Mesh/*.h Solver/*.h
-    Post/*.h Plugin/*.h Graphics/*.h contrib/kbipack/*.h
-    contrib/DiscreteIntegration/*.h contrib/HighOrderMeshOptimizer/*.h
-    contrib/MeshOptimizer/*.h contrib/MeshQualityOptimizer/*.h)
-  set(GMSH_PRIVATE_API ${CMAKE_CURRENT_BINARY_DIR}/Common/GmshConfig.h
-      ${CMAKE_CURRENT_BINARY_DIR}/Common/GmshVersion.h ${HEADERS})
+  file(GLOB_RECURSE HEADERS src/common/*.h src/numeric/*.h src/numeric/*.hpp
+       src/geo/*.h src/mesh/*.h src/solver/*.h src/post/*.h src/plugin/*.h
+       src/graphics/*.h contrib/kbipack/*.h contrib/DiscreteIntegration/*.h
+       contrib/HighOrderMeshOptimizer/*.h contrib/MeshOptimizer/*.h
+       contrib/MeshQualityOptimizer/*.h)
+  set(GMSH_PRIVATE_API ${CMAKE_CURRENT_BINARY_DIR}/src/common/GmshConfig.h
+      ${CMAKE_CURRENT_BINARY_DIR}/src/common/GmshVersion.h ${HEADERS})
   get_property(IAMCHILD DIRECTORY PROPERTY PARENT_DIRECTORY)
   if(IAMCHILD)
     set(GMSH_PRIVATE_API ${GMSH_PRIVATE_API} PARENT_SCOPE)
@@ -570,31 +571,31 @@ if(ENABLE_TCMALLOC)
   endif()
 endif()
 
-add_subdirectory(Common)
-add_subdirectory(Numeric)
-add_subdirectory(Geo)
+add_subdirectory(src/common)
+add_subdirectory(src/numeric)
+add_subdirectory(src/geo)
 
-if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/Mesh AND ENABLE_MESH)
-  add_subdirectory(Mesh)
+if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/src/mesh AND ENABLE_MESH)
+  add_subdirectory(src/mesh)
   set_config_option(HAVE_MESH "Mesh")
 endif()
 
-if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/Solver AND ENABLE_SOLVER)
-  add_subdirectory(Solver)
+if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/src/solver AND ENABLE_SOLVER)
+  add_subdirectory(src/solver)
   set_config_option(HAVE_SOLVER "Solver")
 endif()
 
-if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/Post AND ENABLE_POST)
-  add_subdirectory(Post)
+if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/src/post AND ENABLE_POST)
+  add_subdirectory(src/post)
   set_config_option(HAVE_POST "Post")
-  if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/Plugin AND ENABLE_PLUGINS)
-    add_subdirectory(Plugin)
+  if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/src/plugin AND ENABLE_PLUGINS)
+    add_subdirectory(src/plugin)
     set_config_option(HAVE_PLUGINS "Plugins")
   endif()
 endif()
 
-if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/Parser AND ENABLE_PARSER)
-  add_subdirectory(Parser)
+if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/src/parser AND ENABLE_PARSER)
+  add_subdirectory(src/parser)
   set_config_option(HAVE_PARSER "Parser")
 endif()
 
@@ -602,7 +603,7 @@ if(ENABLE_VISUDEV)
   set_config_option(HAVE_VISUDEV "VisuDev")
 endif()
 
-if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/Fltk AND ENABLE_FLTK)
+if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/src/fltk AND ENABLE_FLTK)
   # first, try to use fltk-config for fltk >= 1.3 (FindFLTK is buggy on Unix,
   # where e.g. xft and xinerama options are not dealt with)
   find_program(FLTK_CONFIG_SCRIPT fltk-config)
@@ -611,7 +612,7 @@ if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/Fltk AND ENABLE_FLTK)
                     OUTPUT_VARIABLE FLTK_VERSION)
     string(STRIP "${FLTK_VERSION}" FLTK_VERSION)
     if(FLTK_VERSION VERSION_GREATER 1.3)
-      add_subdirectory(Fltk)
+      add_subdirectory(src/fltk)
       set_config_option(HAVE_FLTK "Fltk")
       message(STATUS "Using fltk-config script for Fltk " ${FLTK_VERSION})
       execute_process(COMMAND ${FLTK_CONFIG_SCRIPT} --use-gl --use-images --includedir
@@ -629,7 +630,7 @@ if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/Fltk AND ENABLE_FLTK)
     set(FLTK_SKIP_FLUID TRUE)
     find_package(FLTK)
     if(FLTK_FOUND)
-      add_subdirectory(Fltk)
+      add_subdirectory(src/fltk)
       set_config_option(HAVE_FLTK "Fltk")
       list(APPEND EXTERNAL_INCLUDES ${FLTK_INCLUDE_DIR})
     endif()
@@ -651,7 +652,7 @@ if(APPLE AND HAVE_FLTK AND ENABLE_TOUCHBAR)
   STRING(REGEX MATCH "([0-9]+.[0-9]+)" OSX_SDK_VERSION "${CMAKE_OSX_SYSROOT}")
   if(OSX_SDK_VERSION)
     if(${OSX_SDK_VERSION} VERSION_GREATER 10.11)
-      set(GMSH_SRC ${GMSH_SRC};Fltk/touchBar.mm)
+      set(GMSH_SRC ${GMSH_SRC};src/fltk/touchBar.mm)
       set_config_option(HAVE_TOUCHBAR "TouchBar")
     endif()
   endif()
@@ -726,11 +727,11 @@ if(HAVE_FLTK OR ENABLE_GRAPHICS)
     endif()
   endif()
 
-  if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/Graphics)
+  if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/src/graphics)
     set(OpenGL_GL_PREFERENCE "LEGACY")
     find_package(OpenGL REQUIRED)
     if(OPENGL_GLU_FOUND AND OPENGL_FOUND)
-      add_subdirectory(Graphics)
+      add_subdirectory(src/graphics)
       set_config_option(HAVE_OPENGL "OpenGL")
     else()
       message(SEND_ERROR "Could not find GLU: disabling OpenGL support")
@@ -898,7 +899,7 @@ if(HAVE_MESH OR HAVE_SOLVER)
 endif()
 
 if(HAVE_MESH)
-  if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/Mesh/tetgenBR.cxx)
+  if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/src/mesh/tetgenBR.cxx)
     set_config_option(HAVE_TETGENBR "TetGen/BR")
   endif()
 
@@ -1460,9 +1461,9 @@ set(GMSH_SRC ${GMSH_SRC};api/gmshc.cpp)
 # force full warnings to encourage everybody to write clean(er) code
 check_cxx_compiler_flag("-Wall" WALL)
 if(WALL AND NOT MSVC)
-  file(GLOB_RECURSE WALL_SRC Common/*.cpp Fltk/*.cpp FunctionSpace/*.cpp
-       Geo/*.cpp Graphics/*.cpp Mesh/*.cpp Numeric/*.cpp Parser/*.cpp
-       Plugin/*.cpp Post/*.cpp Solver/*.cpp)
+  file(GLOB_RECURSE WALL_SRC src/common/*.cpp src/fltk/*.cpp FunctionSpace/*.cpp
+       src/geo/*.cpp src/graphics/*.cpp src/mesh/*.cpp src/numeric/*.cpp src/parser/*.cpp
+       src/plugin/*.cpp src/post/*.cpp src/solver/*.cpp)
   set(WF "-Wall")
   check_cxx_compiler_flag("-Wint-to-void-pointer-cast" WCAST)
   if(WCAST)
@@ -1496,7 +1497,7 @@ endif()
 check_cxx_compiler_flag("-w" NOWARN)
 if(NOWARN)
   file(GLOB_RECURSE NOWARN_SRC contrib/*.cpp contrib/*.cc contrib/*.cxx
-       contrib/*.c Parser/Gmsh.*.cpp)
+       contrib/*.c src/parser/Gmsh.*.cpp)
   set_compile_flags(NOWARN_SRC "-w")
 endif()
 
@@ -1505,8 +1506,9 @@ check_cxx_compiler_flag("-O0" NOOPT)
 if(NOOPT OR ENABLE_BUILD_IOS)
   if(ENABLE_BUILD_IOS)
     # optimized builds on iOS 10 64 bits fail spectacularly
-    file(GLOB_RECURSE NOOPT_SRC Geo/G*.cpp Mesh/BDS.cpp Parser/Gmsh.tab.cpp
-         contrib/blossom/* contrib/bamg/* Mesh/Background*)
+    file(GLOB_RECURSE NOOPT_SRC src/geo/G*.cpp src/mesh/BDS.cpp
+         src/parser/Gmsh.tab.cpp contrib/blossom/* contrib/bamg/*
+         src/mesh/Background*)
   else()
     # bamg fails even with -O1
     file(GLOB_RECURSE NOOPT_SRC contrib/bamg/*)
@@ -1515,19 +1517,19 @@ if(NOOPT OR ENABLE_BUILD_IOS)
 endif()
 if(MSVC OR (CMAKE_C_COMPILER_ID STREQUAL "Intel" AND WIN32))
   set_source_files_properties(
-    "${CMAKE_CURRENT_SOURCE_DIR}/Numeric/robustPredicates.cpp"
+    "${CMAKE_CURRENT_SOURCE_DIR}/src/numeric/robustPredicates.cpp"
     PROPERTIES COMPILE_FLAGS "/fp:strict")
 elseif(CMAKE_C_COMPILER_ID STREQUAL "Intel")
   set_source_files_properties(
-    "${CMAKE_CURRENT_SOURCE_DIR}/Numeric/robustPredicates.cpp"
+    "${CMAKE_CURRENT_SOURCE_DIR}/src/numeric/robustPredicates.cpp"
     PROPERTIES COMPILE_FLAGS "-fp-model strict")
 elseif(CMAKE_C_COMPILER_ID MATCHES "GNU|Clang")
   set_source_files_properties(
-    "${CMAKE_CURRENT_SOURCE_DIR}/Numeric/robustPredicates.cpp"
+    "${CMAKE_CURRENT_SOURCE_DIR}/src/numeric/robustPredicates.cpp"
     PROPERTIES COMPILE_FLAGS "-fno-unsafe-math-optimizations -ffp-contract=off")
 else()
   message(WARNING "Unknown compiler: make sure compiled functions from "
-          "Numeric/robustPredicates.cpp do not use extended double precision "
+          "src/numeric/robustPredicates.cpp do not use extended double precision "
           "and follow the IEEE754 standard. It is crucial for the robustness of "
           "geometric predicates.")
 endif()
@@ -1554,10 +1556,10 @@ foreach(OPT ${CONFIG_OPTIONS})
   set(GMSH_CONFIG_OPTIONS "${GMSH_CONFIG_OPTIONS} ${OPT}")
 endforeach()
 
-configure_file(${CMAKE_CURRENT_SOURCE_DIR}/Common/GmshConfig.h.in
-               ${CMAKE_CURRENT_BINARY_DIR}/Common/GmshConfig.h)
-configure_file(${CMAKE_CURRENT_SOURCE_DIR}/Common/GmshVersion.h.in
-               ${CMAKE_CURRENT_BINARY_DIR}/Common/GmshVersion.h)
+configure_file(${CMAKE_CURRENT_SOURCE_DIR}/src/common/GmshConfig.h.in
+               ${CMAKE_CURRENT_BINARY_DIR}/src/common/GmshConfig.h)
+configure_file(${CMAKE_CURRENT_SOURCE_DIR}/src/common/GmshVersion.h.in
+               ${CMAKE_CURRENT_BINARY_DIR}/src/common/GmshVersion.h)
 
 # the texi and pypi version files are modified in the source directory (not
 # ideal for version.texi, but since git tracks the contents of the file this is
@@ -1633,8 +1635,9 @@ if(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
 endif()
 
 # we could specify include dirs more selectively, but this is simpler
-include_directories(Common Fltk Geo Graphics Mesh Solver Numeric Parser
-  Plugin Post api ${EXTERNAL_INCLUDES} ${CMAKE_CURRENT_BINARY_DIR}/Common)
+include_directories(src/common src/fltk src/geo src/graphics src/mesh src/solver
+                    src/numeric src/parser src/plugin src/post api
+                    ${EXTERNAL_INCLUDES} ${CMAKE_CURRENT_BINARY_DIR}/src/common)
 
 # set this for external codes that might include this CMakeList file
 set(GMSH_EXTERNAL_INCLUDE_DIRS ${EXTERNAL_INCLUDES} CACHE
@@ -1685,10 +1688,10 @@ endif()
 # binary targets
 if(HAVE_FLTK)
   if(ENABLE_BUILD_DYNAMIC)
-    add_executable(gmsh WIN32 Common/Main.cpp)
+    add_executable(gmsh WIN32 src/common/Main.cpp)
     target_link_libraries(gmsh shared)
   else()
-    add_executable(gmsh WIN32 Common/Main.cpp ${GMSH_SRC})
+    add_executable(gmsh WIN32 src/common/Main.cpp ${GMSH_SRC})
   endif()
   # we could add this to create a minimal app bundle even without install
   # if(APPLE AND NOT ENABLE_OS_SPECIFIC_INSTALL)
@@ -1697,10 +1700,10 @@ if(HAVE_FLTK)
   # endif()
 else()
   if(ENABLE_BUILD_DYNAMIC)
-    add_executable(gmsh Common/Main.cpp)
+    add_executable(gmsh src/common/Main.cpp)
     target_link_libraries(gmsh shared)
   else()
-    add_executable(gmsh Common/Main.cpp ${GMSH_SRC})
+    add_executable(gmsh src/common/Main.cpp ${GMSH_SRC})
   endif()
 endif()
 target_link_libraries(gmsh ${LINK_LIBRARIES})
@@ -1711,9 +1714,9 @@ if(WIN32 AND NOT MSVC)
   if(HAVE_FLTK)
     set(APPFLAGS "${FLAGS} -municode -mwindows")
     if(HAVE_64BIT_SIZE_T)
-      set(APPFLAGS "${APPFLAGS} \"${CMAKE_CURRENT_SOURCE_DIR}/Fltk/Win64Icon.res\"")
+      set(APPFLAGS "${APPFLAGS} \"${CMAKE_CURRENT_SOURCE_DIR}/src/fltk/Win64Icon.res\"")
     else()
-      set(APPFLAGS "${APPFLAGS} \"${CMAKE_CURRENT_SOURCE_DIR}/Fltk/Win32Icon.res\"")
+      set(APPFLAGS "${APPFLAGS} \"${CMAKE_CURRENT_SOURCE_DIR}/src/fltk/Win32Icon.res\"")
     endif()
   else()
     set(APPFLAGS "${FLAGS} -municode -mconsole")
@@ -1755,7 +1758,7 @@ if(BISON AND FLEX)
   add_custom_target(parser
                     COMMAND ${BISON} -p gmsh_yy --output Gmsh.tab.cpp -d Gmsh.y
                     COMMAND ${FLEX} -P gmsh_yy -o Gmsh.yy.cpp Gmsh.l
-                    WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/Parser)
+                    WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/src/parser)
 endif()
 
 if(UNIX)
@@ -2054,22 +2057,22 @@ if(APPLE AND ENABLE_OS_SPECIFIC_INSTALL AND HAVE_FLTK)
   string(REPLACE GMSH_VERSION "${GMSH_VERSION}" F1 "${F0}")
   file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/Info.plist "${F1}")
   set(CPACK_BUNDLE_PLIST ${CMAKE_CURRENT_BINARY_DIR}/Info.plist)
-  set(CPACK_BUNDLE_ICON ${CMAKE_CURRENT_SOURCE_DIR}/Fltk/MacIcons.icns)
+  set(CPACK_BUNDLE_ICON ${CMAKE_CURRENT_SOURCE_DIR}/src/fltk/MacIcons.icns)
   if(PACKAGER STREQUAL "geuzaine")
     # automatic codesigning of the .app
     set(CPACK_BUNDLE_APPLE_CERT_APP "Developer ID Application: Christophe Geuzaine")
     # enable hardened runtime (necessary for notarization and app store)
     set(CPACK_BUNDLE_APPLE_CODESIGN_PARAMETER "--deep --force --options runtime")
   endif()
-  install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/Fltk/MacIconsGeo.icns DESTINATION .
+  install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/src/fltk/MacIconsGeo.icns DESTINATION .
           RENAME GmshGeo.icns)
-  install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/Fltk/MacIconsMsh.icns DESTINATION .
+  install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/src/fltk/MacIconsMsh.icns DESTINATION .
           RENAME GmshMsh.icns)
-  install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/Fltk/MacIconsSol.icns DESTINATION .
+  install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/src/fltk/MacIconsSol.icns DESTINATION .
           RENAME GmshSol.icns)
-  install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/Fltk/MacIconsPos.icns DESTINATION .
+  install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/src/fltk/MacIconsPos.icns DESTINATION .
           RENAME GmshPos.icns)
-  set(CPACK_PACKAGE_ICON ${CMAKE_CURRENT_SOURCE_DIR}/Fltk/MacIcons.icns)
+  set(CPACK_PACKAGE_ICON ${CMAKE_CURRENT_SOURCE_DIR}/src/fltk/MacIcons.icns)
 elseif(WIN32)
   set(CPACK_GENERATOR ZIP)
 else()
diff --git a/CREDITS.txt b/CREDITS.txt
index 9241e4bcdf..bf0874ebe3 100644
--- a/CREDITS.txt
+++ b/CREDITS.txt
@@ -67,16 +67,16 @@ OpenCASCADE and MED integration in 2006-2007. Gmsh development was also
 financially supported by the PRACE project funded in part by the EU's Horizon
 2020 Research and Innovation programme (2014-2020) under grant agreement 823767.
 
-The TetGen/BR code (Mesh/tetgenBR.{cpp,h}) is copyright (c) 2016 Hang Si,
+The TetGen/BR code (src/mesh/tetgenBR.{cpp,h}) is copyright (c) 2016 Hang Si,
 Weierstrass Institute for Applied Analysis and Stochatics. It is relicensed
 under the terms of LICENSE.txt for use in Gmsh thanks to a Software License
 Agreement between Weierstrass Institute for Applied Analysis and Stochastics and
 GMESH SPRL.
 
-The AVL tree code (Common/avl.{cpp,h}) and the YUV image code
-(Graphics/gl2yuv.{cpp,h}) are copyright (C) 1988-1993, 1995 The Regents of the
-University of California. Permission to use, copy, modify, and distribute this
-software and its documentation for any purpose and without fee is hereby
+The AVL tree code (src/common/avl.{cpp,h}) and the YUV image code
+(src/graphics/gl2yuv.{cpp,h}) are copyright (C) 1988-1993, 1995 The Regents of
+the University of California. Permission to use, copy, modify, and distribute
+this software and its documentation for any purpose and without fee is hereby
 granted, provided that the above copyright notice appear in all copies and that
 both that copyright notice and this permission notice appear in supporting
 documentation, and that the name of the University of California not be used in
@@ -85,13 +85,13 @@ specific, written prior permission. The University of California makes no
 representations about the suitability of this software for any purpose. It is
 provided "as is" without express or implied warranty.
 
-The picojson code (Common/picojson.h) is Copyright 2009-2010 Cybozu Labs, Inc.,
-Copyright 2011-2014 Kazuho Oku, All rights reserved. Redistribution and use in
-source and binary forms, with or without modification, are permitted provided
-that the following conditions are met: 1. Redistributions of source code must
-retain the above copyright notice, this list of conditions and the following
-disclaimer. 2. Redistributions in binary form must reproduce the above copyright
-notice, this list of conditions and the following disclaimer in the
+The picojson code (src/common/picojson.h) is Copyright 2009-2010 Cybozu Labs,
+Inc., Copyright 2011-2014 Kazuho Oku, All rights reserved. Redistribution and
+use in source and binary forms, with or without modification, are permitted
+provided that the following conditions are met: 1. Redistributions of source
+code must retain the above copyright notice, this list of conditions and the
+following disclaimer. 2. Redistributions in binary form must reproduce the above
+copyright notice, this list of conditions and the following disclaimer in the
 documentation and/or other materials provided with the distribution. THIS
 SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
 EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
@@ -104,14 +104,14 @@ ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
-The nanoflann code (Numeric/nanoflann.hpp) is Copyright 2008-2009 Marius Muja,
-2008-2009 David G. Lowe, 2011-2016 Jose Luis Blanco. Redistribution and use in
-source and binary forms, with or without modification, are permitted provided
-that the following conditions are met: 1. Redistributions of source code must
-retain the above copyright notice, this list of conditions and the following
-disclaimer.  2. Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the following disclaimer in the
-documentation and/or other materials provided with the distribution.  THIS
+The nanoflann code (src/numeric/nanoflann.hpp) is Copyright 2008-2009 Marius
+Muja, 2008-2009 David G. Lowe, 2011-2016 Jose Luis Blanco. Redistribution and
+use in source and binary forms, with or without modification, are permitted
+provided that the following conditions are met: 1. Redistributions of source
+code must retain the above copyright notice, this list of conditions and the
+following disclaimer.  2. Redistributions in binary form must reproduce the
+above copyright notice, this list of conditions and the following disclaimer in
+the documentation and/or other materials provided with the distribution.  THIS
 SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
 WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
 MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
@@ -123,7 +123,7 @@ CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
 IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
 OF SUCH DAMAGE.
 
-The trackball code (Graphics/Trackball.{cpp.h}) is copyright (C) 1993, 1994,
+The trackball code (src/graphics/Trackball.{cpp.h}) is copyright (C) 1993, 1994,
 Silicon Graphics, Inc. ALL RIGHTS RESERVED. Permission to use, copy, modify, and
 distribute this software for any purpose and without fee is hereby granted,
 provided that the above copyright notice appear in all copies and that both the
@@ -132,25 +132,26 @@ and that the name of Silicon Graphics, Inc. not be used in advertising or
 publicity pertaining to distribution of the software without specific, written
 prior permission.
 
-The GIF and PPM routines (Graphics/gl2gif.cpp) are based on code copyright (C)
-1989, 1991, Jef Poskanzer. Permission to use, copy, modify, and distribute this
-software and its documentation for any purpose and without fee is hereby
+The GIF and PPM routines (src/graphics/gl2gif.cpp) are based on code copyright
+(C) 1989, 1991, Jef Poskanzer. Permission to use, copy, modify, and distribute
+this software and its documentation for any purpose and without fee is hereby
 granted, provided that the above copyright notice appear in all copies and that
 both that copyright notice and this permission notice appear in supporting
 documentation.  This software is provided "as is" without express or implied
 warranty.
 
-The colorbar widget (Fltk/colorbarWindow.cpp) was inspired by code from the
+The colorbar widget (src/fltk/colorbarWindow.cpp) was inspired by code from the
 Vis5d program for visualizing five dimensional gridded data sets, copyright (C)
 1990-1995, Bill Hibbard, Brian Paul, Dave Santek, and Andre Battaiola.
 
-The libOL code (Common/libol1.{c,h}) is Copyright 2012-2018 - by Loïc Maréchal /
-INRIA. This program is a free software. You can redistribute it and/or modify it
-under the terms of the MIT License as published by the Open Source Initiative.
+The libOL code (src/common/libol1.{c,h}) is Copyright 2012-2018 - by Loïc
+Maréchal / INRIA. This program is a free software. You can redistribute it
+and/or modify it under the terms of the MIT License as published by the Open
+Source Initiative.
 
 The Fast & memory efficient hashtable based on robin hood hashing
-(Common/robin_hood.h) is Copyright (c) 2018-2020 Martin Ankerl and is licensed
-under the MIT License.
+(src/common/robin_hood.h) is Copyright (c) 2018-2020 Martin Ankerl and is
+licensed under the MIT License.
 
 In addition, this version of Gmsh may contain the following contributed,
 optional codes in the contrib/ directory, each governed by their own license:
diff --git a/api/README.txt b/api/README.txt
index 0f299f7aea..da69e77ca2 100644
--- a/api/README.txt
+++ b/api/README.txt
@@ -21,6 +21,6 @@ the Gmsh API.
 
 To add a new function in the Gmsh API:
 
-  - add the C++ implementation of the function in 'Common/gmsh.cpp'
+  - add the C++ implementation of the function in 'src/common/gmsh.cpp'
   - add the generic function prototype in 'gen.py'
   - run 'python gen.py'
diff --git a/contrib/QuadMeshingTools/README.md b/contrib/QuadMeshingTools/README.md
index 212de7fa1a..819b106b65 100644
--- a/contrib/QuadMeshingTools/README.md
+++ b/contrib/QuadMeshingTools/README.md
@@ -16,7 +16,7 @@ The mesh size is mainly controlled by the -clscale option.
 
 1. generate initial triangulation
 2. compute cross field
-3. compute size map 
+3. compute size map
 4. save as background mesh, background field, delete mesh
 5. apply curve quantization constraints (using automatic transfinite for the moment)
 6. generate curve meshes
@@ -49,18 +49,18 @@ The mesh size is mainly controlled by the -clscale option.
 
 # Changes to gmsh
 
-- Main files at Mesh/meshQuadQuasiStructured.h/cpp, to call the QuadMeshingTools functions
-- Add Eigen-based sparse solver in Solver/linearSystemEigen.h/cpp
-- Add robin_hood fast unordered_set/map hash maps, at Common/robin_hood.h, MIT license
-- Add libOL octree for meshing library at Common/libol1.h/c, MIT license
-- Add SurfaceProjector based on libOL octree, in Mesh/meshOctreeLibOL.h/cpp
-- Add background mesh datastructures, in Mesh/BackgroundMesh.h/cpp
+- Main files at src/mesh/meshQuadQuasiStructured.{h,cpp}, to call the QuadMeshingTools functions
+- Add Eigen-based sparse solver in src/solver/linearSystemEigen.{h,cpp}
+- Add robin_hood fast unordered_set/map hash maps, at src/common/robin_hood.h, MIT license
+- Add libOL octree for meshing library at src/common/libol1.{h,c}, MIT license
+- Add SurfaceProjector based on libOL octree, in src/mesh/meshOctreeLibOL.{h,cpp}
+- Add background mesh datastructures, in src/mesh/BackgroundMesh.{h,cpp}
 - contrib/domhex replaced by the version from quadMeshingTools branch (contains JF changes to algo pack)
-- Post/OctreePost.cpp: use larger bounding boxes. Required for the background field sampling
+- src/post/OctreePost.cpp: use larger bounding boxes. Required for the background field sampling
 - ALGO_2D_PACK_PRLGRMS_CSTR deprecated
 - Add implicit conversion from SPoint3/SVector3 to std::array<double,3>
 - Many Msg::Warning switch to Msg::Debug in CAD/Post projections
-- Special case for quadqs in bbox sizing in Post/OctreePost.cpp, should find something better
+- Special case for quadqs in bbox sizing in src/post/OctreePost.cpp, should find something better
 - Add an option quadqsSizemapMethod in global context CTX::instance()->mesh
 - Add a curve transfinite method (ge->meshAttributes.typeTransfinite = 4) to get vertex positioning via size map
 
@@ -72,4 +72,3 @@ The mesh size is mainly controlled by the -clscale option.
 - Better cavity initialization strategies (e.g. pathes between irregular vertices)
 - Better CAD quantization (support for T-junctions, rings, etc)
 - Filter anisotropy after cavity remeshing to avoid some distorted patches
-
diff --git a/contrib/QuadTri/README.txt b/contrib/QuadTri/README.txt
index 37ef0435e2..d8ca6c6517 100644
--- a/contrib/QuadTri/README.txt
+++ b/contrib/QuadTri/README.txt
@@ -249,5 +249,5 @@ One may simply copy the files distributed with the QuadTri patch
 directly into the appropriate Gmsh directories (replacing any old copies with
 the patched versions) and the changes to the source will be complete. The
 user can then compile the source as for the regular Gmsh version. Be careful
-not to get the /Mesh/CMakeLists.txt file confused with the CMakeLists.txt
+not to get the src/mesh/CMakeLists.txt file confused with the CMakeLists.txt
 file in other directories!!!!
diff --git a/contrib/hxt/tetBR/src/tetgenBR.h b/contrib/hxt/tetBR/src/tetgenBR.h
index 4d1752b8de..6bade2ff37 100644
--- a/contrib/hxt/tetBR/src/tetgenBR.h
+++ b/contrib/hxt/tetBR/src/tetgenBR.h
@@ -42,7 +42,7 @@ class tetgenbehavior {
 
 public:
 
-  // Switches of TetGen. 
+  // Switches of TetGen.
   int plc;                                                         // '-p', 0.
   int psc;                                                         // '-s', 0.
   int refine;                                                      // '-r', 0.
@@ -82,7 +82,7 @@ public:
   int quiet;                                                       // '-Q', 0.
   int verbose;                                                     // '-V', 0.
 
-  // Parameters of TetGen. 
+  // Parameters of TetGen.
   int vertexperblock;                                           // '-x', 4092.
   int tetrahedraperblock;                                       // '-x', 8188.
   int shellfaceperblock;                                        // '-x', 2044.
@@ -114,7 +114,7 @@ public:
   REAL mindihedral;                                              // '-q', 5.0.
   REAL optmaxdihedral;                                               // 165.0.
   REAL optminsmtdihed;                                               // 179.0.
-  REAL optminslidihed;                                               // 179.0.  
+  REAL optminslidihed;                                               // 179.0.
   REAL epsilon;                                               // '-T', 1.0e-8.
   REAL coarsen_percent;                                         // -R1/#, 1.0.
 
@@ -125,18 +125,18 @@ public:
   char addinfilename[1024];
   char bgmeshfilename[1024];
 
-  // The input object of TetGen. They are recognized by either the input 
-  //   file extensions or by the specified options. 
+  // The input object of TetGen. They are recognized by either the input
+  //   file extensions or by the specified options.
   // Currently the following objects are supported:
-  //   - NODES, a list of nodes (.node); 
-  //   - POLY, a piecewise linear complex (.poly or .smesh); 
-  //   - OFF, a polyhedron (.off, Geomview's file format); 
+  //   - NODES, a list of nodes (.node);
+  //   - POLY, a piecewise linear complex (.poly or .smesh);
+  //   - OFF, a polyhedron (.off, Geomview's file format);
   //   - PLY, a polyhedron (.ply, file format from gatech, only ASCII);
   //   - STL, a surface mesh (.stl, stereolithography format);
-  //   - MEDIT, a surface mesh (.mesh, Medit's file format); 
+  //   - MEDIT, a surface mesh (.mesh, Medit's file format);
   //   - MESH, a tetrahedral mesh (.ele).
   // If no extension is available, the imposed command line switch
-  //   (-p or -r) implies the object. 
+  //   (-p or -r) implies the object.
   enum objecttype {NODES, POLY, OFF, PLY, STL, MEDIT, VTK, MESH} object;
 
 
@@ -199,11 +199,11 @@ public:
     addsteiner_algo = 1;
     coarsen_param = 0;
     weighted_param = 0;
-    fliplinklevel = -1; 
-    flipstarsize = -1;  
+    fliplinklevel = -1;
+    flipstarsize = -1;
     fliplinklevelinc = 1;
     reflevel = 3;
-    optscheme = 7;  
+    optscheme = 7;
     optlevel = 2;
     delmaxfliplevel = 1;
     order = 1;
@@ -264,7 +264,7 @@ public:
 // TetGen stores the tetrahedra and vertices of T. The basic structure of a  //
 // tetrahedron contains pointers to its vertices and adjacent tetrahedra. A  //
 // vertex stores its x-, y-, and z-coordinates, and a pointer to a tetrahed- //
-// ron containing it. Both tetrahedra and vertices may contain user data.    // 
+// ron containing it. Both tetrahedra and vertices may contain user data.    //
 //                                                                           //
 // Each face of T belongs to either two tetrahedra or one tetrahedron. In    //
 // the latter case, the face is an exterior boundary face of T.  TetGen adds //
@@ -273,7 +273,7 @@ public:
 // such a vertex lies in 4D space and is visible by all exterior boundary    //
 // faces.  The extended set of tetrahedra (including the infinite vertex) is //
 // a tetrahedralization of a 3-pseudomanifold without boundary.  It has the  //
-// property that every face is shared by exactly two tetrahedra.             // 
+// property that every face is shared by exactly two tetrahedra.             //
 //                                                                           //
 // The current version of TetGen stores explicitly the subfaces and segments //
 // (which are in surface mesh S and the linear mesh L), respectively.  Extra //
@@ -317,7 +317,7 @@ public:
   //   - an integer for boundary marker (point index);
   //   - an integer for point type (and flags).
   //   - an integer for geometry tag (optional, for -s switch).
-  // The structure of a point is an array of REALs.  Its acutal size is 
+  // The structure of a point is an array of REALs.  Its acutal size is
   //   determined at the runtime.
 
   typedef REAL *point;
@@ -338,7 +338,7 @@ public:
 // this tetrahedron.  One can encode each version (a directed edge) into a   //
 // 4-bit integer such that the two upper bits encode the index (from 0 to 2) //
 // of this edge in the edge ring, and the two lower bits encode the index (  //
-// from 0 to 3) of the oriented face which contains this edge.               //  
+// from 0 to 3) of the oriented face which contains this edge.               //
 //                                                                           //
 // The four vertices of a tetrahedron are indexed from 0 to 3 (according to  //
 // their storage in the data structure).  Give each face the same index as   //
@@ -482,14 +482,14 @@ public:
     memorypool();
     memorypool(int, int, int, int);
     ~memorypool();
-    
+
     void poolinit(int, int, int, int);
     void restart();
     void *alloc();
     void dealloc(void*);
     void traversalinit();
     void *traverse();
-  };  
+  };
 
 ///////////////////////////////////////////////////////////////////////////////
 //                                                                           //
@@ -507,11 +507,11 @@ public:
 
   class badface {
   public:
-    triface tt; 
+    triface tt;
     face ss;
     REAL key, cent[6];  // circumcenter or cos(dihedral angles) at 6 edges.
     point forg, fdest, fapex, foppo, noppo;
-    badface *nextitem; 
+    badface *nextitem;
     badface() : key(0), forg(0), fdest(0), fapex(0), foppo(0), noppo(0),
       nextitem(0) {}
   };
@@ -596,7 +596,7 @@ public:
 
 
     flipconstraints() {
-      enqflag = 0; 
+      enqflag = 0;
       chkencflag = 0;
 
       unflip = 0;
@@ -631,7 +631,7 @@ public:
 
     // The one of goals of optimization.
     int max_min_volume;      // Maximize the minimum volume.
-        int min_max_aspectratio; // Minimize the maximum aspect ratio. 
+        int min_max_aspectratio; // Minimize the maximum aspect ratio.
     int min_max_dihedangle;  // Minimize the maximum dihedral angle.
 
     // The initial and improved value.
@@ -665,11 +665,11 @@ public:
 //                                                                           //
 ///////////////////////////////////////////////////////////////////////////////
 
-  // Labels that signify the type of a vertex. 
+  // Labels that signify the type of a vertex.
   enum verttype {UNUSEDVERTEX, DUPLICATEDVERTEX, RIDGEVERTEX, ACUTEVERTEX,
-                 FACETVERTEX, VOLVERTEX, FREESEGVERTEX, FREEFACETVERTEX, 
+                 FACETVERTEX, VOLVERTEX, FREESEGVERTEX, FREEFACETVERTEX,
                  FREEVOLVERTEX, NREGULARVERTEX, DEADVERTEX};
- 
+
   // Labels that signify the result of triangle-triangle intersection test.
   enum interresult {DISJOINT, INTERSECT, SHAREVERT, SHAREEDGE, SHAREFACE,
                     TOUCHEDGE, TOUCHFACE, ACROSSVERT, ACROSSEDGE, ACROSSFACE};
@@ -705,7 +705,7 @@ public:
   // A memorypool to store faces to be flipped.
   memorypool *flippool;
   arraypool *unflipqueue;
-  badface *flipstack; 
+  badface *flipstack;
 
   // Arrays used for point insertion (the Bowyer-Watson algorithm).
   arraypool *cavetetlist, *cavebdrylist, *caveoldtetlist;
@@ -796,7 +796,7 @@ public:
   // Fast lookup tables for mesh manipulation primitives.
   static int bondtbl[12][12], fsymtbl[12][12];
   static int esymtbl[12], enexttbl[12], eprevtbl[12];
-  static int enextesymtbl[12], eprevesymtbl[12]; 
+  static int enextesymtbl[12], eprevesymtbl[12];
   static int eorgoppotbl[12], edestoppotbl[12];
   static int facepivot1[12], facepivot2[12][12];
   static int orgpivot[12], destpivot[12], apexpivot[12], oppopivot[12];
@@ -869,7 +869,7 @@ public:
   inline void decreaseelemcounter(triface& t);
   inline bool ishulltet(triface& t);
   inline bool isdeadtet(triface& t);
- 
+
   // Primitives for subfaces and subsegments.
   inline void sdecode(shellface sptr, face& s);
   inline shellface sencode(face& s);
@@ -1018,7 +1018,7 @@ public:
 
   // Symbolic perturbations (robust)
   REAL insphere_s(REAL*, REAL*, REAL*, REAL*, REAL*);
-  REAL orient4d_s(REAL*, REAL*, REAL*, REAL*, REAL*, 
+  REAL orient4d_s(REAL*, REAL*, REAL*, REAL*, REAL*,
                   REAL, REAL, REAL, REAL, REAL);
 
   // Triangle-edge intersection test (robust)
@@ -1063,9 +1063,9 @@ public:
 
   // PLC error reports.
   void report_overlapping_facets(face*, face*, REAL dihedang = 0.0);
-  int report_selfint_edge(point, point, face* sedge, triface* searchtet, 
+  int report_selfint_edge(point, point, face* sedge, triface* searchtet,
                           enum interresult);
-  int report_selfint_face(point, point, point, face* sface, triface* iedge, 
+  int report_selfint_face(point, point, point, face* sface, triface* iedge,
                           int intflag, int* types, int* poss);
 
 ///////////////////////////////////////////////////////////////////////////////
@@ -1184,7 +1184,7 @@ public:
   // Point location.
   unsigned long randomnation(unsigned int choices);
   void randomsample(point searchpt, triface *searchtet);
-  enum locateresult locate(point searchpt, triface *searchtet, 
+  enum locateresult locate(point searchpt, triface *searchtet,
                            int chkencflag = 0);
 
   // Incremental flips.
@@ -1233,7 +1233,7 @@ public:
 
   int recoveredgebyflips(point, point, face*, triface*, int fullsearch);
   int add_steinerpt_in_schoenhardtpoly(triface*, int, int chkencflag);
-  int add_steinerpt_in_segment(face*, int searchlevel); 
+  int add_steinerpt_in_segment(face*, int searchlevel);
   int addsteiner4recoversegment(face*, int);
   int recoversegments(arraypool*, int fullsearch, int steinerflag);
 
@@ -1259,7 +1259,7 @@ public:
   void carveholes();
 
   // Comment: These three functions are implemented directly in:
-  //   gmsh_wrk/Mesh/meshGRegionBoundaryRecovery.cpp
+  //   gmsh/src/mesh/meshGRegionBoundaryRecovery.cpp
   int reconstructmesh(void *, double tol);
   void outsurfacemesh(const char* mfilename);
   void outmesh2medit(const char* mfilename);
@@ -1345,7 +1345,7 @@ public:
     minfaceang = minfacetdihed = PI;
     tetprism_vol_sum = 0.0;
     longest = minedgelength = 0.0;
-    xmax = xmin = ymax = ymin = zmax = zmin = 0.0; 
+    xmax = xmin = ymax = ymin = zmax = zmin = 0.0;
 
     insegments = 0l;
     hullsize = 0l;
@@ -1467,7 +1467,7 @@ public:
 
 // selfint_event, a structure to report self-intersections.
 //
-//   - e_type,  report the type of self-intersections, 
+//   - e_type,  report the type of self-intersections,
 //     it may be one of:
 //     0, reserved.
 //     1, two edges intersect,
@@ -1477,7 +1477,7 @@ public:
 //     5, an edge and a triangle are overlapping,
 //     6, two triangles are overlapping,
 //     7, a vertex lies in an edge,
-//     8, a vertex lies in a facet,         
+//     8, a vertex lies in a facet,
 
 class selfint_event {
 public:
@@ -1491,7 +1491,7 @@ public:
   REAL int_point[3];
   selfint_event() {
     e_type = 0;
-    f_marker1 = f_marker2 = 0; 
+    f_marker1 = f_marker2 = 0;
     s_marker1 = s_marker2 = 0;
   }
 };
@@ -1506,7 +1506,7 @@ inline void terminatetetgen(tetgenmesh *m, int x)
 #else
   switch (x) {
   case 1: // Out of memory.
-    printf("Error:  Out of memory.\n"); 
+    printf("Error:  Out of memory.\n");
     break;
   case 2: // Encounter an internal error.
     printf("Please report this bug to Hang.Si@wias-berlin.de. Include\n");
@@ -1515,7 +1515,7 @@ inline void terminatetetgen(tetgenmesh *m, int x)
     break;
   case 3:
     printf("A self-intersection was detected. Program stopped.\n");
-    printf("Hint: use -d option to detect all self-intersections.\n"); 
+    printf("Hint: use -d option to detect all self-intersections.\n");
     break;
   case 4:
     printf("A very small input feature size was detected. Program stopped.\n");
@@ -1528,8 +1528,8 @@ inline void terminatetetgen(tetgenmesh *m, int x)
     printf("Two very close input facets were detected. Program stopped.\n");
     printf("Hint: use -Y option to avoid adding Steiner points in boundary.\n");
     break;
-  case 10: 
-    printf("An input error was detected. Program stopped.\n"); 
+  case 10:
+    printf("An input error was detected. Program stopped.\n");
     break;
   } // switch (x)
   exit(x);
@@ -1542,7 +1542,7 @@ inline void terminatetetgen(tetgenmesh *m, int x)
 //                                                                           //
 ///////////////////////////////////////////////////////////////////////////////
 
-// encode()  compress a handle into a single pointer.  It relies on the 
+// encode()  compress a handle into a single pointer.  It relies on the
 //   assumption that all addresses of tetrahedra are aligned to sixteen-
 //   byte boundaries, so that the last four significant bits are zero.
 
@@ -1562,8 +1562,8 @@ inline void tetgenmesh::decode(tetrahedron ptr, triface& t) {
   (t).tet = (tetrahedron *) ((uintptr_t) (ptr) ^ (uintptr_t) (t).ver);
 }
 
-// bond()  connects two tetrahedra together. (t1,v1) and (t2,v2) must 
-//   refer to the same face and the same edge. 
+// bond()  connects two tetrahedra together. (t1,v1) and (t2,v2) must
+//   refer to the same face and the same edge.
 
 inline void tetgenmesh::bond(triface& t1, triface& t2) {
   //  printf("%d %d %d\n",t1.ver,t2.ver,bondtbl[t1.ver][t2.ver]);
@@ -1613,7 +1613,7 @@ inline void tetgenmesh::esymself(triface& t) {
 }
 
 // enextesym()  finds the reversed edge of the next edge. It is in the other
-//   face of the same tetrahedron. It is the combination esym() * enext(). 
+//   face of the same tetrahedron. It is the combination esym() * enext().
 
 inline void tetgenmesh::enextesym(triface& t1, triface& t2) {
   t2.tet = t1.tet;
@@ -1647,7 +1647,7 @@ inline void tetgenmesh::eorgoppoself(triface& t) {
   t.ver = eorgoppotbl[t.ver];
 }
 
-// edestoppo()    Finds the opposite face of the destination of the current 
+// edestoppo()    Finds the opposite face of the destination of the current
 //                edge. Return the opposite edge of the current edge.
 
 inline void tetgenmesh::edestoppo(triface& t1, triface& t2) {
@@ -1735,7 +1735,7 @@ inline REAL tetgenmesh::elemattribute(tetrahedron* ptr, int attnum) {
   return ((REAL *) (ptr))[elemattribindex + attnum];
 }
 
-inline void tetgenmesh::setelemattribute(tetrahedron* ptr, int attnum, 
+inline void tetgenmesh::setelemattribute(tetrahedron* ptr, int attnum,
   REAL value) {
   ((REAL *) (ptr))[elemattribindex + attnum] = value;
 }
@@ -1763,7 +1763,7 @@ inline void tetgenmesh::setelemindex(tetrahedron* ptr, int value) {
   iptr[0] = value;
 }
 
-// Get or set a tetrahedron's marker. 
+// Get or set a tetrahedron's marker.
 //   Set 'value = 0' cleans all the face/edge flags.
 
 inline int tetgenmesh::elemmarker(tetrahedron* ptr) {
@@ -1800,14 +1800,14 @@ inline void tetgenmesh::marktest(triface& t) {
 inline void tetgenmesh::unmarktest(triface& t) {
   ((int *) (t.tet))[elemmarkerindex] &= ~2;
 }
-    
+
 inline bool tetgenmesh::marktested(triface& t) {
   return (((int *) (t.tet))[elemmarkerindex] & 2) != 0;
 }
 
 // markface(), unmarkface(), facemarked() -- primitives to flag or unflag a
 //   face of a tetrahedron.  From the last 3rd to 6th bits are used for
-//   face markers, e.g., the last third bit corresponds to loc = 0. 
+//   face markers, e.g., the last third bit corresponds to loc = 0.
 
 inline void tetgenmesh::markface(triface& t) {
   ((int *) (t.tet))[elemmarkerindex] |= (4 << (t.ver & 3));
@@ -1823,7 +1823,7 @@ inline bool tetgenmesh::facemarked(triface& t) {
 
 // markedge(), unmarkedge(), edgemarked() -- primitives to flag or unflag an
 //   edge of a tetrahedron.  From the last 7th to 12th bits are used for
-//   edge markers, e.g., the last 7th bit corresponds to the 0th edge, etc. 
+//   edge markers, e.g., the last 7th bit corresponds to the 0th edge, etc.
 //   Remark: The last 7th bit is marked by 2^6 = 64.
 
 inline void tetgenmesh::markedge(triface& t) {
@@ -1835,7 +1835,7 @@ inline void tetgenmesh::unmarkedge(triface& t) {
 }
 
 inline bool tetgenmesh::edgemarked(triface& t) {
-  return (((int *) (t.tet))[elemmarkerindex] & 
+  return (((int *) (t.tet))[elemmarkerindex] &
            (int) (64 << ver2edge[(t).ver])) != 0;
 }
 
@@ -1856,7 +1856,7 @@ inline bool tetgenmesh::marktest2ed(triface& t) {
 
 // elemcounter(), setelemcounter() -- primitives to read or ser a (small)
 //   integer counter in this tet. It is saved from the 16th bit. On 32 bit
-//   system, the range of the counter is [0, 2^15 = 32768]. 
+//   system, the range of the counter is [0, 2^15 = 32768].
 
 inline int tetgenmesh::elemcounter(triface& t) {
   return (((int *) (t.tet))[elemmarkerindex]) >> 16;
@@ -1922,7 +1922,7 @@ inline tetgenmesh::shellface tetgenmesh::sencode2(shellface *sh, int shver) {
 // sbond() bonds two subfaces (s1) and (s2) together. s1 and s2 must refer
 //   to the same edge. No requirement is needed on their orientations.
 
-inline void tetgenmesh::sbond(face& s1, face& s2) 
+inline void tetgenmesh::sbond(face& s1, face& s2)
 {
   s1.sh[s1.shver >> 1] = sencode(s2);
   s2.sh[s2.shver >> 1] = sencode(s1);
@@ -1932,7 +1932,7 @@ inline void tetgenmesh::sbond(face& s1, face& s2)
 //   but s2 is not pointing to s1.  s1 and s2 must refer to the same edge.
 //   No requirement is needed on their orientations.
 
-inline void tetgenmesh::sbond1(face& s1, face& s2) 
+inline void tetgenmesh::sbond1(face& s1, face& s2)
 {
   s1.sh[s1.shver >> 1] = sencode(s2);
 }
@@ -1948,13 +1948,13 @@ inline void tetgenmesh::sdissolve(face& s)
 // spivot() finds the adjacent subface (s2) for a given subface (s1).
 //   s1 and s2 share at the same edge.
 
-inline void tetgenmesh::spivot(face& s1, face& s2) 
+inline void tetgenmesh::spivot(face& s1, face& s2)
 {
   shellface sptr = s1.sh[s1.shver >> 1];
   sdecode(sptr, s2);
 }
 
-inline void tetgenmesh::spivotself(face& s) 
+inline void tetgenmesh::spivotself(face& s)
 {
   shellface sptr = s.sh[s.shver >> 1];
   sdecode(sptr, s);
@@ -1963,32 +1963,32 @@ inline void tetgenmesh::spivotself(face& s)
 // These primitives determine or set the origin, destination, or apex
 //   of a subface with respect to the edge version.
 
-inline tetgenmesh::point tetgenmesh::sorg(face& s) 
+inline tetgenmesh::point tetgenmesh::sorg(face& s)
 {
   return (point) s.sh[sorgpivot[s.shver]];
 }
 
-inline tetgenmesh::point tetgenmesh::sdest(face& s) 
+inline tetgenmesh::point tetgenmesh::sdest(face& s)
 {
   return (point) s.sh[sdestpivot[s.shver]];
 }
 
-inline tetgenmesh::point tetgenmesh::sapex(face& s) 
+inline tetgenmesh::point tetgenmesh::sapex(face& s)
 {
   return (point) s.sh[sapexpivot[s.shver]];
 }
 
-inline void tetgenmesh::setsorg(face& s, point pointptr) 
+inline void tetgenmesh::setsorg(face& s, point pointptr)
 {
   s.sh[sorgpivot[s.shver]] = (shellface) pointptr;
 }
 
-inline void tetgenmesh::setsdest(face& s, point pointptr) 
+inline void tetgenmesh::setsdest(face& s, point pointptr)
 {
   s.sh[sdestpivot[s.shver]] = (shellface) pointptr;
 }
 
-inline void tetgenmesh::setsapex(face& s, point pointptr) 
+inline void tetgenmesh::setsapex(face& s, point pointptr)
 {
   s.sh[sapexpivot[s.shver]] = (shellface) pointptr;
 }
@@ -2000,13 +2000,13 @@ inline void tetgenmesh::setsapex(face& s, point pointptr)
 
 // sesym()  reserves the direction of the lead edge.
 
-inline void tetgenmesh::sesym(face& s1, face& s2) 
+inline void tetgenmesh::sesym(face& s1, face& s2)
 {
   s2.sh = s1.sh;
   s2.shver = (s1.shver ^ 1);  // Inverse the last bit.
 }
 
-inline void tetgenmesh::sesymself(face& s) 
+inline void tetgenmesh::sesymself(face& s)
 {
   s.shver ^= 1;
 }
@@ -2014,24 +2014,24 @@ inline void tetgenmesh::sesymself(face& s)
 // senext()  finds the next edge (counterclockwise) in the same orientation
 //   of this face.
 
-inline void tetgenmesh::senext(face& s1, face& s2) 
+inline void tetgenmesh::senext(face& s1, face& s2)
 {
   s2.sh = s1.sh;
   s2.shver = snextpivot[s1.shver];
 }
 
-inline void tetgenmesh::senextself(face& s) 
+inline void tetgenmesh::senextself(face& s)
 {
   s.shver = snextpivot[s.shver];
 }
 
-inline void tetgenmesh::senext2(face& s1, face& s2) 
+inline void tetgenmesh::senext2(face& s1, face& s2)
 {
   s2.sh = s1.sh;
   s2.shver = snextpivot[snextpivot[s1.shver]];
 }
 
-inline void tetgenmesh::senext2self(face& s) 
+inline void tetgenmesh::senext2self(face& s)
 {
   s.shver = snextpivot[snextpivot[s.shver]];
 }
@@ -2039,12 +2039,12 @@ inline void tetgenmesh::senext2self(face& s)
 
 // Check or set a subface's maximum area bound.
 
-inline REAL tetgenmesh::areabound(face& s) 
+inline REAL tetgenmesh::areabound(face& s)
 {
   return ((REAL *) (s.sh))[areaboundindex];
 }
 
-inline void tetgenmesh::setareabound(face& s, REAL value) 
+inline void tetgenmesh::setareabound(face& s, REAL value)
 {
   ((REAL *) (s.sh))[areaboundindex] = value;
 }
@@ -2052,12 +2052,12 @@ inline void tetgenmesh::setareabound(face& s, REAL value)
 // These two primitives read or set a shell marker.  Shell markers are used
 //   to hold user boundary information.
 
-inline int tetgenmesh::shellmark(face& s) 
+inline int tetgenmesh::shellmark(face& s)
 {
   return ((int *) (s.sh))[shmarkindex];
 }
 
-inline void tetgenmesh::setshellmark(face& s, int value) 
+inline void tetgenmesh::setshellmark(face& s, int value)
 {
   ((int *) (s.sh))[shmarkindex] = value;
 }
@@ -2067,21 +2067,21 @@ inline void tetgenmesh::setshellmark(face& s, int value)
 // sinfect(), sinfected(), suninfect() -- primitives to flag or unflag a
 //   subface. The last bit of ((int *) ((s).sh))[shmarkindex+1] is flagged.
 
-inline void tetgenmesh::sinfect(face& s) 
+inline void tetgenmesh::sinfect(face& s)
 {
-  ((int *) ((s).sh))[shmarkindex+1] = 
+  ((int *) ((s).sh))[shmarkindex+1] =
     (((int *) ((s).sh))[shmarkindex+1] | (int) 1);
 }
 
-inline void tetgenmesh::suninfect(face& s) 
+inline void tetgenmesh::suninfect(face& s)
 {
-  ((int *) ((s).sh))[shmarkindex+1] = 
+  ((int *) ((s).sh))[shmarkindex+1] =
     (((int *) ((s).sh))[shmarkindex+1] & ~(int) 1);
 }
 
 // Test a subface for viral infection.
 
-inline bool tetgenmesh::sinfected(face& s) 
+inline bool tetgenmesh::sinfected(face& s)
 {
   return (((int *) ((s).sh))[shmarkindex+1] & (int) 1) != 0;
 }
@@ -2089,65 +2089,65 @@ inline bool tetgenmesh::sinfected(face& s)
 // smarktest(), smarktested(), sunmarktest() -- primitives to flag or unflag
 //   a subface. The last 2nd bit of the integer is flagged.
 
-inline void tetgenmesh::smarktest(face& s) 
+inline void tetgenmesh::smarktest(face& s)
 {
-  ((int *) ((s).sh))[shmarkindex+1] = 
+  ((int *) ((s).sh))[shmarkindex+1] =
     (((int *)((s).sh))[shmarkindex+1] | (int) 2);
 }
 
-inline void tetgenmesh::sunmarktest(face& s) 
+inline void tetgenmesh::sunmarktest(face& s)
 {
-  ((int *) ((s).sh))[shmarkindex+1] = 
+  ((int *) ((s).sh))[shmarkindex+1] =
     (((int *)((s).sh))[shmarkindex+1] & ~(int)2);
 }
 
-inline bool tetgenmesh::smarktested(face& s) 
+inline bool tetgenmesh::smarktested(face& s)
 {
   return ((((int *) ((s).sh))[shmarkindex+1] & (int) 2) != 0);
 }
 
-// smarktest2(), smarktest2ed(), sunmarktest2() -- primitives to flag or 
+// smarktest2(), smarktest2ed(), sunmarktest2() -- primitives to flag or
 //   unflag a subface. The last 3rd bit of the integer is flagged.
 
-inline void tetgenmesh::smarktest2(face& s) 
+inline void tetgenmesh::smarktest2(face& s)
 {
-  ((int *) ((s).sh))[shmarkindex+1] = 
+  ((int *) ((s).sh))[shmarkindex+1] =
     (((int *)((s).sh))[shmarkindex+1] | (int) 4);
 }
 
-inline void tetgenmesh::sunmarktest2(face& s) 
+inline void tetgenmesh::sunmarktest2(face& s)
 {
-  ((int *) ((s).sh))[shmarkindex+1] = 
+  ((int *) ((s).sh))[shmarkindex+1] =
     (((int *)((s).sh))[shmarkindex+1] & ~(int)4);
 }
 
-inline bool tetgenmesh::smarktest2ed(face& s) 
+inline bool tetgenmesh::smarktest2ed(face& s)
 {
   return ((((int *) ((s).sh))[shmarkindex+1] & (int) 4) != 0);
 }
 
 // The last 4th bit of ((int *) ((s).sh))[shmarkindex+1] is flagged.
 
-inline void tetgenmesh::smarktest3(face& s) 
+inline void tetgenmesh::smarktest3(face& s)
 {
-  ((int *) ((s).sh))[shmarkindex+1] = 
+  ((int *) ((s).sh))[shmarkindex+1] =
     (((int *)((s).sh))[shmarkindex+1] | (int) 8);
 }
 
-inline void tetgenmesh::sunmarktest3(face& s) 
+inline void tetgenmesh::sunmarktest3(face& s)
 {
-  ((int *) ((s).sh))[shmarkindex+1] = 
+  ((int *) ((s).sh))[shmarkindex+1] =
     (((int *)((s).sh))[shmarkindex+1] & ~(int)8);
 }
 
-inline bool tetgenmesh::smarktest3ed(face& s) 
+inline bool tetgenmesh::smarktest3ed(face& s)
 {
   return ((((int *) ((s).sh))[shmarkindex+1] & (int) 8) != 0);
 }
 
 
 // Each facet has a unique index (automatically indexed). Starting from '0'.
-// We save this index in the same field of the shell type. 
+// We save this index in the same field of the shell type.
 
 inline void tetgenmesh::setfacetindex(face& s, int value)
 {
@@ -2167,7 +2167,7 @@ inline int tetgenmesh::getfacetindex(face& s)
 
 // tsbond() bond a tetrahedron (t) and a subface (s) together.
 // Note that t and s must be the same face and the same edge. Moreover,
-//   t and s have the same orientation. 
+//   t and s have the same orientation.
 // Since the edge number in t and in s can be any number in {0,1,2}. We bond
 //   the edge in s which corresponds to t's 0th edge, and vice versa.
 
@@ -2182,10 +2182,10 @@ inline void tetgenmesh::tsbond(triface& t, face& s)
     }
   }
   // Bond t <== s.
-  ((shellface *) (t).tet[9])[(t).ver & 3] = 
+  ((shellface *) (t).tet[9])[(t).ver & 3] =
     sencode2((s).sh, tsbondtbl[t.ver][s.shver]);
   // Bond s <== t.
-  s.sh[9 + ((s).shver & 1)] = 
+  s.sh[9 + ((s).shver & 1)] =
     (shellface) encode2((t).tet, stbondtbl[t.ver][s.shver]);
 }
 
@@ -2194,7 +2194,7 @@ inline void tetgenmesh::tsbond(triface& t, face& s)
 //   the subface s, and s and t must be at the same edge wth the same
 //   orientation.
 
-inline void tetgenmesh::tspivot(triface& t, face& s) 
+inline void tetgenmesh::tspivot(triface& t, face& s)
 {
   if ((t).tet[9] == NULL) {
     (s).sh = NULL;
@@ -2213,7 +2213,7 @@ inline void tetgenmesh::tspivot(triface& t, face& s)
 //   Return the t (if it exists) with the same edge and the same
 //   orientation of s.
 
-inline void tetgenmesh::stpivot(face& s, triface& t) 
+inline void tetgenmesh::stpivot(face& s, triface& t)
 {
   decode((tetrahedron) s.sh[9 + (s.shver & 1)], t);
   if ((t).tet == NULL) {
@@ -2229,7 +2229,7 @@ inline void tetgenmesh::stpivot(face& s, triface& t)
 
 // tsdissolve() dissolve a bond (from the tetrahedron side).
 
-inline void tetgenmesh::tsdissolve(triface& t) 
+inline void tetgenmesh::tsdissolve(triface& t)
 {
   if ((t).tet[9] != NULL) {
     ((shellface *) (t).tet[9])[(t).ver & 3] = NULL;
@@ -2238,7 +2238,7 @@ inline void tetgenmesh::tsdissolve(triface& t)
 
 // stdissolve() dissolve a bond (from the subface side).
 
-inline void tetgenmesh::stdissolve(face& s) 
+inline void tetgenmesh::stdissolve(face& s)
 {
   (s).sh[9] = NULL;
   (s).sh[10] = NULL;
@@ -2252,13 +2252,13 @@ inline void tetgenmesh::stdissolve(face& s)
 
 // ssbond() bond a subface to a subsegment.
 
-inline void tetgenmesh::ssbond(face& s, face& edge) 
+inline void tetgenmesh::ssbond(face& s, face& edge)
 {
   s.sh[6 + (s.shver >> 1)] = sencode(edge);
   edge.sh[0] = sencode(s);
 }
 
-inline void tetgenmesh::ssbond1(face& s, face& edge) 
+inline void tetgenmesh::ssbond1(face& s, face& edge)
 {
   s.sh[6 + (s.shver >> 1)] = sencode(edge);
   //edge.sh[0] = sencode(s);
@@ -2266,14 +2266,14 @@ inline void tetgenmesh::ssbond1(face& s, face& edge)
 
 // ssdisolve() dissolve a bond (from the subface side)
 
-inline void tetgenmesh::ssdissolve(face& s) 
+inline void tetgenmesh::ssdissolve(face& s)
 {
   s.sh[6 + (s.shver >> 1)] = NULL;
 }
 
 // sspivot() finds a subsegment abutting a subface.
 
-inline void tetgenmesh::sspivot(face& s, face& edge) 
+inline void tetgenmesh::sspivot(face& s, face& edge)
 {
   sdecode((shellface) s.sh[6 + (s.shver >> 1)], edge);
 }
@@ -2299,10 +2299,10 @@ inline void tetgenmesh::tssbond1(triface& t, face& s)
       ((shellface *) (t).tet[8])[i] = NULL;
     }
   }
-  ((shellface *) (t).tet[8])[ver2edge[(t).ver]] = sencode((s)); 
+  ((shellface *) (t).tet[8])[ver2edge[(t).ver]] = sencode((s));
 }
 
-inline void tetgenmesh::sstbond1(face& s, triface& t) 
+inline void tetgenmesh::sstbond1(face& s, triface& t)
 {
   ((tetrahedron *) (s).sh)[9] = encode(t);
 }
@@ -2314,7 +2314,7 @@ inline void tetgenmesh::tssdissolve1(triface& t)
   }
 }
 
-inline void tetgenmesh::sstdissolve1(face& s) 
+inline void tetgenmesh::sstdissolve1(face& s)
 {
   ((tetrahedron *) (s).sh)[9] = NULL;
 }
@@ -2333,7 +2333,7 @@ inline void tetgenmesh::tsspivot1(triface& t, face& s)
 #define issubseg(t) \
   ((t).tet[8] && ((t).tet[8])[ver2edge[(t).ver]])
 
-inline void tetgenmesh::sstpivot1(face& s, triface& t) 
+inline void tetgenmesh::sstpivot1(face& s, triface& t)
 {
   decode((tetrahedron) s.sh[9], t);
 }
@@ -2344,8 +2344,8 @@ inline void tetgenmesh::sstpivot1(face& s, triface& t)
 //                                                                           //
 ///////////////////////////////////////////////////////////////////////////////
 
-inline int tetgenmesh::pointmark(point pt) { 
-  return ((int *) (pt))[pointmarkindex]; 
+inline int tetgenmesh::pointmark(point pt) {
+  return ((int *) (pt))[pointmarkindex];
 }
 
 inline void tetgenmesh::setpointmark(point pt, int value) {
@@ -2360,14 +2360,14 @@ inline enum tetgenmesh::verttype tetgenmesh::pointtype(point pt) {
 }
 
 inline void tetgenmesh::setpointtype(point pt, enum verttype value) {
-  ((int *) (pt))[pointmarkindex + 1] = 
+  ((int *) (pt))[pointmarkindex + 1] =
     ((int) value << 8) + (((int *) (pt))[pointmarkindex + 1] & (int) 255);
 }
 
 // Read and set the geometry tag of the point (used by -s option).
 
-inline int tetgenmesh::pointgeomtag(point pt) { 
-  return ((int *) (pt))[pointmarkindex + 2]; 
+inline int tetgenmesh::pointgeomtag(point pt) {
+  return ((int *) (pt))[pointmarkindex + 2];
 }
 
 inline void tetgenmesh::setpointgeomtag(point pt, int value) {
@@ -2399,8 +2399,8 @@ inline bool tetgenmesh::pinfected(point pt) {
   return (((int *) (pt))[pointmarkindex + 1] & (int) 1) != 0;
 }
 
-// pmarktest(), punmarktest(), pmarktested() -- more primitives to 
-//   flag or unflag a point. 
+// pmarktest(), punmarktest(), pmarktested() -- more primitives to
+//   flag or unflag a point.
 
 inline void tetgenmesh::pmarktest(point pt) {
   ((int *) (pt))[pointmarkindex + 1] |= (int) 2;
@@ -2515,7 +2515,7 @@ inline void tetgenmesh::point2shorg(point pa, face& searchsh)
   if ((point) searchsh.sh[3] == pa) {
     searchsh.shver = 0;
   } else if ((point) searchsh.sh[4] == pa) {
-    searchsh.shver = (searchsh.sh[5] != NULL ? 2 : 1); 
+    searchsh.shver = (searchsh.sh[5] != NULL ? 2 : 1);
   } else {
     searchsh.shver = 4;
   }
@@ -2531,25 +2531,25 @@ inline tetgenmesh::point tetgenmesh::farsorg(face& s)
   travesh = s;
   while (1) {
     senext2(travesh, neighsh);
-    spivotself(neighsh); 
+    spivotself(neighsh);
     if (neighsh.sh == NULL) break;
     if (sorg(neighsh) != sorg(travesh)) sesymself(neighsh);
-    senext2(neighsh, travesh); 
+    senext2(neighsh, travesh);
   }
   return sorg(travesh);
 }
 
-inline tetgenmesh::point tetgenmesh::farsdest(face& s) 
+inline tetgenmesh::point tetgenmesh::farsdest(face& s)
 {
   face travesh, neighsh;
 
   travesh = s;
   while (1) {
     senext(travesh, neighsh);
-    spivotself(neighsh); 
+    spivotself(neighsh);
     if (neighsh.sh == NULL) break;
     if (sdest(neighsh) != sdest(travesh)) sesymself(neighsh);
-    senext(neighsh, travesh); 
+    senext(neighsh, travesh);
   }
   return sdest(travesh);
 }
@@ -2561,13 +2561,13 @@ inline tetgenmesh::point tetgenmesh::farsdest(face& s)
 ///////////////////////////////////////////////////////////////////////////////
 
 // dot() returns the dot product: v1 dot v2.
-inline REAL tetgenmesh::dot(REAL* v1, REAL* v2) 
+inline REAL tetgenmesh::dot(REAL* v1, REAL* v2)
 {
   return v1[0] * v2[0] + v1[1] * v2[1] + v1[2] * v2[2];
 }
 
 // cross() computes the cross product: n = v1 cross v2.
-inline void tetgenmesh::cross(REAL* v1, REAL* v2, REAL* n) 
+inline void tetgenmesh::cross(REAL* v1, REAL* v2, REAL* n)
 {
   n[0] =   v1[1] * v2[2] - v2[1] * v1[2];
   n[1] = -(v1[0] * v2[2] - v2[0] * v1[2]);
diff --git a/doc/texinfo/gmsh.texi b/doc/texinfo/gmsh.texi
index eb446a7fd8..19c4e9017d 100644
--- a/doc/texinfo/gmsh.texi
+++ b/doc/texinfo/gmsh.texi
@@ -1161,7 +1161,7 @@ Colors expressions are hybrids between fixed-length braced
 @noindent The first case permits to use the X Windows names to refer to colors,
 e.g., @code{Red}, @code{SpringGreen}, @code{LavenderBlush3}, @dots{}
 (see
-@url{@value{GITLAB-PREFIX}/Common/Colors.h,Common/Colors.h}
+@url{@value{GITLAB-PREFIX}/src/common/Colors.h,src/common/Colors.h}
 in the source code for a complete list). The second case permits to
 define colors by using three expressions to specify their red, green and
 blue components (with values comprised between 0 and 255). The third
@@ -4153,7 +4153,7 @@ with the edges, 54 with the faces, 27 in the volume)
 @item ...
 @end table
 All the currently supported elements in the format are defined in
-@url{https://gitlab.onelab.info/gmsh/gmsh/blob/master/Common/GmshDefines.h,GmshDefines.h}. See
+@url{https://gitlab.onelab.info/gmsh/gmsh/blob/master/src/common/GmshDefines.h,GmshDefines.h}. See
 @ref{Node ordering} for the ordering of the nodes.
 
 The post-processing sections (@code{$NodeData}, @code{$ElementData},
@@ -6064,70 +6064,70 @@ requests.
 
 Gmsh's code is structured in several subdirectories, roughly separated
 between the four core modules
-(@url{@value{GITLAB-PREFIX}/Geo,Geo},
-@url{@value{GITLAB-PREFIX}/Mesh,Mesh},
-@url{@value{GITLAB-PREFIX}/Solver,Solver},
-@url{@value{GITLAB-PREFIX}/Post,Post}) and
+(@url{@value{GITLAB-PREFIX}/src/geo,src/geo},
+@url{@value{GITLAB-PREFIX}/src/mesh,src/mesh},
+@url{@value{GITLAB-PREFIX}/src/solver,src/solver},
+@url{@value{GITLAB-PREFIX}/src/post,src/post}) and
 associated utilities
-(@url{@value{GITLAB-PREFIX}/Common,Common},
-@url{@value{GITLAB-PREFIX}/Numeric,Numeric})
+(@url{@value{GITLAB-PREFIX}/src/common,src/common},
+@url{@value{GITLAB-PREFIX}/src/numeric,src/numeric})
 on one hand, and the graphics
-(@url{@value{GITLAB-PREFIX}/Graphics,Graphics})
+(@url{@value{GITLAB-PREFIX}/src/graphics,src/graphics})
 and interface
-(@url{@value{GITLAB-PREFIX}/Fltk,Fltk},
-@url{@value{GITLAB-PREFIX}/Parser,Parser},
+(@url{@value{GITLAB-PREFIX}/src/fltk,src/fltk},
+@url{@value{GITLAB-PREFIX}/src/parser,src/parser},
 @url{@value{GITLAB-PREFIX}/api,api}) code on
 the other.
 
 The geometry module is based on a model class
-(@url{@value{GITLAB-PREFIX}/Geo/GModel.h,Geo/GModel.h}),
+(@url{@value{GITLAB-PREFIX}/src/geo/GModel.h,src/geo/GModel.h}),
 and abstract entity classes for geometrical points
-(@url{@value{GITLAB-PREFIX}/Geo/GVertex.h,Geo/GVertex.h}),
+(@url{@value{GITLAB-PREFIX}/src/geo/GVertex.h,src/geo/GVertex.h}),
 curves
-(@url{@value{GITLAB-PREFIX}/Geo/GEdge.h,Geo/GEdge.h}),
+(@url{@value{GITLAB-PREFIX}/src/geo/GEdge.h,src/geo/GEdge.h}),
 surfaces
-(@url{@value{GITLAB-PREFIX}/Geo/GFace.h,Geo/GFace.h})
+(@url{@value{GITLAB-PREFIX}/src/geo/GFace.h,src/geo/GFace.h})
 and volumes
-(@url{@value{GITLAB-PREFIX}/Geo/GRegion.h,Geo/GRegion.h}).
+(@url{@value{GITLAB-PREFIX}/src/geo/GRegion.h,src/geo/GRegion.h}).
 Concrete implementations of these classes are provided for each
 supported CAD kernel
-(e.g. @url{@value{GITLAB-PREFIX}/Geo/gmshVertex.h,Geo/gmshVertex.h}
+(e.g. @url{@value{GITLAB-PREFIX}/src/geo/gmshVertex.h,src/geo/gmshVertex.h}
 for points in Gmsh's built-in CAD kernel, or
-@url{@value{GITLAB-PREFIX}/Geo/OCCVertex.h,Geo/OCCVertex.h}
+@url{@value{GITLAB-PREFIX}/src/geo/OCCVertex.h,src/geo/OCCVertex.h}
 for points from OpenCASCADE). All these elementary model entities derive
 from
-@url{@value{GITLAB-PREFIX}/Geo/GEntity.h,Geo/GEntity.h}.
+@url{@value{GITLAB-PREFIX}/src/geo/GEntity.h,src/geo/GEntity.h}.
 Physical groups are simply stored as integer tags in the entities.
 
 A mesh is composed of elements: mesh points
-(@url{@value{GITLAB-PREFIX}/Geo/MPoint.h,Geo/MPoint.h}),
+(@url{@value{GITLAB-PREFIX}/src/geo/MPoint.h,src/geo/MPoint.h}),
 lines
-(@url{@value{GITLAB-PREFIX}/Geo/MLine.h,Geo/MLine.h}),
+(@url{@value{GITLAB-PREFIX}/src/geo/MLine.h,src/geo/MLine.h}),
 triangles
-(@url{@value{GITLAB-PREFIX}/Geo/MTriangle.h,Geo/MTriangle.h}),
+(@url{@value{GITLAB-PREFIX}/src/geo/MTriangle.h,src/geo/MTriangle.h}),
 quadrangles
-(@url{@value{GITLAB-PREFIX}/Geo/MQuadrangle.h,Geo/MQuadrangle.h}),
+(@url{@value{GITLAB-PREFIX}/src/geo/MQuadrangle.h,src/geo/MQuadrangle.h}),
 tetrahedra
-(@url{@value{GITLAB-PREFIX}/Geo/MTetrahedron.h,Geo/MTetrahedron.h}),
+(@url{@value{GITLAB-PREFIX}/src/geo/MTetrahedron.h,src/geo/MTetrahedron.h}),
 etc. All the mesh elements are derived from
-@url{@value{GITLAB-PREFIX}/Geo/MElement.h,Geo/MElement.h},
+@url{@value{GITLAB-PREFIX}/geo/MElement.h,src/geo/MElement.h},
 and are stored in the corresponding model entities: one mesh point per
 geometrical point, mesh lines in geometrical curves, triangles and
 quadrangles in surfaces, etc. The elements are defined in terms of their
 nodes
-(@url{@value{GITLAB-PREFIX}/Geo/MVertex.h,Geo/MVertex.h}).
+(@url{@value{GITLAB-PREFIX}/src/geo/MVertex.h,src/geo/MVertex.h}).
 Each model entity stores only its internal nodes: nodes on boundaries or
 on embedded entities are stored in the associated bounding/embedded
 entity.
 
 The post-processing module is based on the concept of views
-(@url{@value{GITLAB-PREFIX}/Post/PView.h,Post/PView.h})
+(@url{@value{GITLAB-PREFIX}/src/post/PView.h,src/post/PView.h})
 and abstract data containers (derived from
-@url{@value{GITLAB-PREFIX}/Post/PViewData.h,Post/PViewData.h}).
+@url{@value{GITLAB-PREFIX}/src/post/PViewData.h,src/post/PViewData.h}).
 Data can be either mesh-based
-(@url{@value{GITLAB-PREFIX}/Post/PViewDataGModel.h,Post/PViewDataGModel.h}),
+(@url{@value{GITLAB-PREFIX}/src/post/PViewDataGModel.h,src/post/PViewDataGModel.h}),
 in which case the view is linked to one or more models, or list-based
-(@url{@value{GITLAB-PREFIX}/Post/PViewDataList.h,Post/PViewDataLis.h}),
+(@url{@value{GITLAB-PREFIX}/src/post/PViewDataList.h,src/post/PViewDataLis.h}),
 in which case all the relevant geometrical information is self-contained
 in the view.
 
@@ -6180,24 +6180,24 @@ To add a new option in Gmsh:
 @enumerate
 @item
 create the option in the @code{CTX} class
-(@url{@value{GITLAB-PREFIX}/Common/Context.h,Common/Context.h}
+(@url{@value{GITLAB-PREFIX}/src/common/Context.h,src/common/Context.h}
 if it's a classical option, or in the @code{PViewOptions} class
-(@url{@value{GITLAB-PREFIX}/Post/PViewOptions.h,Post/PViewOptions.h})
+(@url{@value{GITLAB-PREFIX}/src/post/PViewOptions.h,src/post/PViewOptions.h})
 if it's a post-processing view-dependent option;
 @item
 in
-@url{@value{GITLAB-PREFIX}/Common/DefaultOptions.h,Common/DefaultOptions.h},
+@url{@value{GITLAB-PREFIX}/src/common/DefaultOptions.h,src/common/DefaultOptions.h},
 give a name (for the parser to be able to access it), a reference to a
 handling routine (i.e. @code{opt_XXX}) and a default value for this
 option;
 @item
 create the handling routine @code{opt_XXX} in
-@url{@value{GITLAB-PREFIX}/Common/Options.cpp,Common/Options.cpp}
+@url{@value{GITLAB-PREFIX}/src/common/Options.cpp,src/common/Options.cpp}
 (and add the prototype in
-@url{@value{GITLAB-PREFIX}/Common/Options.h,Common/Options.h});
+@url{@value{GITLAB-PREFIX}/src/common/Options.h,src/common/Options.h});
 @item
 optional: create the associated widget in
-@url{@value{GITLAB-PREFIX}/Fltk/optionWindow.cpp,Fltk/optionWindow.h};
+@url{@value{GITLAB-PREFIX}/src/fltk/optionWindow.cpp,src/fltk/optionWindow.h};
 @end enumerate
 
 @c =========================================================================
@@ -6593,7 +6593,7 @@ SIGE: signed inverse error on the gradient of FE solution
 @end itemize
 
 For the exact definitions, see
-@url{@value{GITLAB-PREFIX}/Geo/MElement.cpp,Geo/MElement.cpp}. The
+@url{@value{GITLAB-PREFIX}/src/geo/MElement.cpp,src/geo/MElement.cpp}. The
 graphs plot the the number of elements vs. the quality measure.
 
 @item How can I save a mesh file with a given (e.g. older) MSH file format version?
diff --git a/Common/CMakeLists.txt b/src/common/CMakeLists.txt
similarity index 94%
rename from Common/CMakeLists.txt
rename to src/common/CMakeLists.txt
index 0f50eeb6c7..735e537ff2 100644
--- a/Common/CMakeLists.txt
+++ b/src/common/CMakeLists.txt
@@ -30,4 +30,4 @@ set(SRC
 )
 
 file(GLOB HDR RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *.h)
-append_gmsh_src(Common "${SRC};${HDR}")
+append_gmsh_src(src/common "${SRC};${HDR}")
diff --git a/Common/Colors.h b/src/common/Colors.h
similarity index 100%
rename from Common/Colors.h
rename to src/common/Colors.h
diff --git a/Common/CommandLine.cpp b/src/common/CommandLine.cpp
similarity index 100%
rename from Common/CommandLine.cpp
rename to src/common/CommandLine.cpp
diff --git a/Common/CommandLine.h b/src/common/CommandLine.h
similarity index 100%
rename from Common/CommandLine.h
rename to src/common/CommandLine.h
diff --git a/Common/Context.cpp b/src/common/Context.cpp
similarity index 100%
rename from Common/Context.cpp
rename to src/common/Context.cpp
diff --git a/Common/Context.h b/src/common/Context.h
similarity index 100%
rename from Common/Context.h
rename to src/common/Context.h
diff --git a/Common/CreateFile.cpp b/src/common/CreateFile.cpp
similarity index 100%
rename from Common/CreateFile.cpp
rename to src/common/CreateFile.cpp
diff --git a/Common/CreateFile.h b/src/common/CreateFile.h
similarity index 100%
rename from Common/CreateFile.h
rename to src/common/CreateFile.h
diff --git a/Common/DefaultOptions.h b/src/common/DefaultOptions.h
similarity index 100%
rename from Common/DefaultOptions.h
rename to src/common/DefaultOptions.h
diff --git a/Common/GamePad.cpp b/src/common/GamePad.cpp
similarity index 100%
rename from Common/GamePad.cpp
rename to src/common/GamePad.cpp
diff --git a/Common/GamePad.h b/src/common/GamePad.h
similarity index 100%
rename from Common/GamePad.h
rename to src/common/GamePad.h
diff --git a/Common/GmshConfig.h.in b/src/common/GmshConfig.h.in
similarity index 100%
rename from Common/GmshConfig.h.in
rename to src/common/GmshConfig.h.in
diff --git a/Common/GmshDefines.h b/src/common/GmshDefines.h
similarity index 100%
rename from Common/GmshDefines.h
rename to src/common/GmshDefines.h
diff --git a/Common/GmshGlobal.cpp b/src/common/GmshGlobal.cpp
similarity index 100%
rename from Common/GmshGlobal.cpp
rename to src/common/GmshGlobal.cpp
diff --git a/Common/GmshGlobal.h b/src/common/GmshGlobal.h
similarity index 100%
rename from Common/GmshGlobal.h
rename to src/common/GmshGlobal.h
diff --git a/Common/GmshMessage.cpp b/src/common/GmshMessage.cpp
similarity index 100%
rename from Common/GmshMessage.cpp
rename to src/common/GmshMessage.cpp
diff --git a/Common/GmshMessage.h b/src/common/GmshMessage.h
similarity index 100%
rename from Common/GmshMessage.h
rename to src/common/GmshMessage.h
diff --git a/Common/GmshRemote.cpp b/src/common/GmshRemote.cpp
similarity index 100%
rename from Common/GmshRemote.cpp
rename to src/common/GmshRemote.cpp
diff --git a/Common/GmshRemote.h b/src/common/GmshRemote.h
similarity index 100%
rename from Common/GmshRemote.h
rename to src/common/GmshRemote.h
diff --git a/Common/GmshSocket.h b/src/common/GmshSocket.h
similarity index 100%
rename from Common/GmshSocket.h
rename to src/common/GmshSocket.h
diff --git a/Common/GmshVersion.h.in b/src/common/GmshVersion.h.in
similarity index 100%
rename from Common/GmshVersion.h.in
rename to src/common/GmshVersion.h.in
diff --git a/Common/Hash.h b/src/common/Hash.h
similarity index 100%
rename from Common/Hash.h
rename to src/common/Hash.h
diff --git a/Common/ListUtils.cpp b/src/common/ListUtils.cpp
similarity index 100%
rename from Common/ListUtils.cpp
rename to src/common/ListUtils.cpp
diff --git a/Common/ListUtils.h b/src/common/ListUtils.h
similarity index 100%
rename from Common/ListUtils.h
rename to src/common/ListUtils.h
diff --git a/Common/Main.cpp b/src/common/Main.cpp
similarity index 100%
rename from Common/Main.cpp
rename to src/common/Main.cpp
diff --git a/Common/MallocUtils.cpp b/src/common/MallocUtils.cpp
similarity index 100%
rename from Common/MallocUtils.cpp
rename to src/common/MallocUtils.cpp
diff --git a/Common/MallocUtils.h b/src/common/MallocUtils.h
similarity index 100%
rename from Common/MallocUtils.h
rename to src/common/MallocUtils.h
diff --git a/Common/OS.cpp b/src/common/OS.cpp
similarity index 100%
rename from Common/OS.cpp
rename to src/common/OS.cpp
diff --git a/Common/OS.h b/src/common/OS.h
similarity index 100%
rename from Common/OS.h
rename to src/common/OS.h
diff --git a/Common/Octree.cpp b/src/common/Octree.cpp
similarity index 100%
rename from Common/Octree.cpp
rename to src/common/Octree.cpp
diff --git a/Common/Octree.h b/src/common/Octree.h
similarity index 100%
rename from Common/Octree.h
rename to src/common/Octree.h
diff --git a/Common/OctreeInternals.cpp b/src/common/OctreeInternals.cpp
similarity index 100%
rename from Common/OctreeInternals.cpp
rename to src/common/OctreeInternals.cpp
diff --git a/Common/OctreeInternals.h b/src/common/OctreeInternals.h
similarity index 100%
rename from Common/OctreeInternals.h
rename to src/common/OctreeInternals.h
diff --git a/Common/OpenFile.cpp b/src/common/OpenFile.cpp
similarity index 100%
rename from Common/OpenFile.cpp
rename to src/common/OpenFile.cpp
diff --git a/Common/OpenFile.h b/src/common/OpenFile.h
similarity index 100%
rename from Common/OpenFile.h
rename to src/common/OpenFile.h
diff --git a/Common/Options.cpp b/src/common/Options.cpp
similarity index 100%
rename from Common/Options.cpp
rename to src/common/Options.cpp
diff --git a/Common/Options.h b/src/common/Options.h
similarity index 100%
rename from Common/Options.h
rename to src/common/Options.h
diff --git a/Common/SmoothData.cpp b/src/common/SmoothData.cpp
similarity index 100%
rename from Common/SmoothData.cpp
rename to src/common/SmoothData.cpp
diff --git a/Common/SmoothData.h b/src/common/SmoothData.h
similarity index 100%
rename from Common/SmoothData.h
rename to src/common/SmoothData.h
diff --git a/Common/StringUtils.cpp b/src/common/StringUtils.cpp
similarity index 100%
rename from Common/StringUtils.cpp
rename to src/common/StringUtils.cpp
diff --git a/Common/StringUtils.h b/src/common/StringUtils.h
similarity index 100%
rename from Common/StringUtils.h
rename to src/common/StringUtils.h
diff --git a/Common/TreeUtils.cpp b/src/common/TreeUtils.cpp
similarity index 100%
rename from Common/TreeUtils.cpp
rename to src/common/TreeUtils.cpp
diff --git a/Common/TreeUtils.h b/src/common/TreeUtils.h
similarity index 100%
rename from Common/TreeUtils.h
rename to src/common/TreeUtils.h
diff --git a/Common/VertexArray.cpp b/src/common/VertexArray.cpp
similarity index 100%
rename from Common/VertexArray.cpp
rename to src/common/VertexArray.cpp
diff --git a/Common/VertexArray.h b/src/common/VertexArray.h
similarity index 100%
rename from Common/VertexArray.h
rename to src/common/VertexArray.h
diff --git a/Common/avl.cpp b/src/common/avl.cpp
similarity index 100%
rename from Common/avl.cpp
rename to src/common/avl.cpp
diff --git a/Common/avl.h b/src/common/avl.h
similarity index 100%
rename from Common/avl.h
rename to src/common/avl.h
diff --git a/Common/gmsh.cpp b/src/common/gmsh.cpp
similarity index 100%
rename from Common/gmsh.cpp
rename to src/common/gmsh.cpp
diff --git a/Common/gmshLocalNetworkClient.cpp b/src/common/gmshLocalNetworkClient.cpp
similarity index 100%
rename from Common/gmshLocalNetworkClient.cpp
rename to src/common/gmshLocalNetworkClient.cpp
diff --git a/Common/gmshLocalNetworkClient.h b/src/common/gmshLocalNetworkClient.h
similarity index 100%
rename from Common/gmshLocalNetworkClient.h
rename to src/common/gmshLocalNetworkClient.h
diff --git a/Common/gmshPopplerWrapper.cpp b/src/common/gmshPopplerWrapper.cpp
similarity index 100%
rename from Common/gmshPopplerWrapper.cpp
rename to src/common/gmshPopplerWrapper.cpp
diff --git a/Common/gmshPopplerWrapper.h b/src/common/gmshPopplerWrapper.h
similarity index 100%
rename from Common/gmshPopplerWrapper.h
rename to src/common/gmshPopplerWrapper.h
diff --git a/Common/libol1.c b/src/common/libol1.c
similarity index 100%
rename from Common/libol1.c
rename to src/common/libol1.c
diff --git a/Common/libol1.h b/src/common/libol1.h
similarity index 100%
rename from Common/libol1.h
rename to src/common/libol1.h
diff --git a/Common/onelab.h b/src/common/onelab.h
similarity index 100%
rename from Common/onelab.h
rename to src/common/onelab.h
diff --git a/Common/onelabUtils.cpp b/src/common/onelabUtils.cpp
similarity index 100%
rename from Common/onelabUtils.cpp
rename to src/common/onelabUtils.cpp
diff --git a/Common/onelabUtils.h b/src/common/onelabUtils.h
similarity index 100%
rename from Common/onelabUtils.h
rename to src/common/onelabUtils.h
diff --git a/Common/picojson.h b/src/common/picojson.h
similarity index 100%
rename from Common/picojson.h
rename to src/common/picojson.h
diff --git a/Common/robin_hood.h b/src/common/robin_hood.h
similarity index 100%
rename from Common/robin_hood.h
rename to src/common/robin_hood.h
diff --git a/Common/rtree.h b/src/common/rtree.h
similarity index 100%
rename from Common/rtree.h
rename to src/common/rtree.h
diff --git a/Fltk/CMakeLists.txt b/src/fltk/CMakeLists.txt
similarity index 95%
rename from Fltk/CMakeLists.txt
rename to src/fltk/CMakeLists.txt
index 21f7b8b22a..caea276e56 100644
--- a/Fltk/CMakeLists.txt
+++ b/src/fltk/CMakeLists.txt
@@ -33,4 +33,4 @@ set(SRC
 )
 
 file(GLOB HDR RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *.h)
-append_gmsh_src(Fltk "${SRC};${HDR}")
+append_gmsh_src(src/fltk "${SRC};${HDR}")
diff --git a/Fltk/FlGui.cpp b/src/fltk/FlGui.cpp
similarity index 100%
rename from Fltk/FlGui.cpp
rename to src/fltk/FlGui.cpp
diff --git a/Fltk/FlGui.h b/src/fltk/FlGui.h
similarity index 100%
rename from Fltk/FlGui.h
rename to src/fltk/FlGui.h
diff --git a/Fltk/MacIcons.icns b/src/fltk/MacIcons.icns
similarity index 100%
rename from Fltk/MacIcons.icns
rename to src/fltk/MacIcons.icns
diff --git a/Fltk/MacIconsGeo.icns b/src/fltk/MacIconsGeo.icns
similarity index 100%
rename from Fltk/MacIconsGeo.icns
rename to src/fltk/MacIconsGeo.icns
diff --git a/Fltk/MacIconsMsh.icns b/src/fltk/MacIconsMsh.icns
similarity index 100%
rename from Fltk/MacIconsMsh.icns
rename to src/fltk/MacIconsMsh.icns
diff --git a/Fltk/MacIconsPos.icns b/src/fltk/MacIconsPos.icns
similarity index 100%
rename from Fltk/MacIconsPos.icns
rename to src/fltk/MacIconsPos.icns
diff --git a/Fltk/MacIconsSol.icns b/src/fltk/MacIconsSol.icns
similarity index 100%
rename from Fltk/MacIconsSol.icns
rename to src/fltk/MacIconsSol.icns
diff --git a/Fltk/Navigator.cpp b/src/fltk/Navigator.cpp
similarity index 100%
rename from Fltk/Navigator.cpp
rename to src/fltk/Navigator.cpp
diff --git a/Fltk/Navigator.h b/src/fltk/Navigator.h
similarity index 100%
rename from Fltk/Navigator.h
rename to src/fltk/Navigator.h
diff --git a/Fltk/Win32Icon.ico b/src/fltk/Win32Icon.ico
similarity index 100%
rename from Fltk/Win32Icon.ico
rename to src/fltk/Win32Icon.ico
diff --git a/Fltk/Win32Icon.res b/src/fltk/Win32Icon.res
similarity index 100%
rename from Fltk/Win32Icon.res
rename to src/fltk/Win32Icon.res
diff --git a/Fltk/Win64Icon.ico b/src/fltk/Win64Icon.ico
similarity index 100%
rename from Fltk/Win64Icon.ico
rename to src/fltk/Win64Icon.ico
diff --git a/Fltk/Win64Icon.res b/src/fltk/Win64Icon.res
similarity index 100%
rename from Fltk/Win64Icon.res
rename to src/fltk/Win64Icon.res
diff --git a/Fltk/XpmIcon.h b/src/fltk/XpmIcon.h
similarity index 100%
rename from Fltk/XpmIcon.h
rename to src/fltk/XpmIcon.h
diff --git a/Fltk/classificationEditor.cpp b/src/fltk/classificationEditor.cpp
similarity index 100%
rename from Fltk/classificationEditor.cpp
rename to src/fltk/classificationEditor.cpp
diff --git a/Fltk/classificationEditor.h b/src/fltk/classificationEditor.h
similarity index 100%
rename from Fltk/classificationEditor.h
rename to src/fltk/classificationEditor.h
diff --git a/Fltk/clippingWindow.cpp b/src/fltk/clippingWindow.cpp
similarity index 100%
rename from Fltk/clippingWindow.cpp
rename to src/fltk/clippingWindow.cpp
diff --git a/Fltk/clippingWindow.h b/src/fltk/clippingWindow.h
similarity index 100%
rename from Fltk/clippingWindow.h
rename to src/fltk/clippingWindow.h
diff --git a/Fltk/colorbarWindow.cpp b/src/fltk/colorbarWindow.cpp
similarity index 100%
rename from Fltk/colorbarWindow.cpp
rename to src/fltk/colorbarWindow.cpp
diff --git a/Fltk/colorbarWindow.h b/src/fltk/colorbarWindow.h
similarity index 100%
rename from Fltk/colorbarWindow.h
rename to src/fltk/colorbarWindow.h
diff --git a/Fltk/contextWindow.cpp b/src/fltk/contextWindow.cpp
similarity index 100%
rename from Fltk/contextWindow.cpp
rename to src/fltk/contextWindow.cpp
diff --git a/Fltk/contextWindow.h b/src/fltk/contextWindow.h
similarity index 100%
rename from Fltk/contextWindow.h
rename to src/fltk/contextWindow.h
diff --git a/Fltk/drawContextFltk.h b/src/fltk/drawContextFltk.h
similarity index 100%
rename from Fltk/drawContextFltk.h
rename to src/fltk/drawContextFltk.h
diff --git a/Fltk/drawContextFltkCairo.cpp b/src/fltk/drawContextFltkCairo.cpp
similarity index 100%
rename from Fltk/drawContextFltkCairo.cpp
rename to src/fltk/drawContextFltkCairo.cpp
diff --git a/Fltk/drawContextFltkCairo.h b/src/fltk/drawContextFltkCairo.h
similarity index 100%
rename from Fltk/drawContextFltkCairo.h
rename to src/fltk/drawContextFltkCairo.h
diff --git a/Fltk/drawContextFltkStringTexture.cpp b/src/fltk/drawContextFltkStringTexture.cpp
similarity index 100%
rename from Fltk/drawContextFltkStringTexture.cpp
rename to src/fltk/drawContextFltkStringTexture.cpp
diff --git a/Fltk/drawContextFltkStringTexture.h b/src/fltk/drawContextFltkStringTexture.h
similarity index 100%
rename from Fltk/drawContextFltkStringTexture.h
rename to src/fltk/drawContextFltkStringTexture.h
diff --git a/Fltk/extraDialogs.cpp b/src/fltk/extraDialogs.cpp
similarity index 100%
rename from Fltk/extraDialogs.cpp
rename to src/fltk/extraDialogs.cpp
diff --git a/Fltk/extraDialogs.h b/src/fltk/extraDialogs.h
similarity index 100%
rename from Fltk/extraDialogs.h
rename to src/fltk/extraDialogs.h
diff --git a/Fltk/fieldWindow.cpp b/src/fltk/fieldWindow.cpp
similarity index 100%
rename from Fltk/fieldWindow.cpp
rename to src/fltk/fieldWindow.cpp
diff --git a/Fltk/fieldWindow.h b/src/fltk/fieldWindow.h
similarity index 100%
rename from Fltk/fieldWindow.h
rename to src/fltk/fieldWindow.h
diff --git a/Fltk/fileDialogs.cpp b/src/fltk/fileDialogs.cpp
similarity index 100%
rename from Fltk/fileDialogs.cpp
rename to src/fltk/fileDialogs.cpp
diff --git a/Fltk/fileDialogs.h b/src/fltk/fileDialogs.h
similarity index 100%
rename from Fltk/fileDialogs.h
rename to src/fltk/fileDialogs.h
diff --git a/Fltk/gamepadWindow.cpp b/src/fltk/gamepadWindow.cpp
similarity index 100%
rename from Fltk/gamepadWindow.cpp
rename to src/fltk/gamepadWindow.cpp
diff --git a/Fltk/gamepadWindow.h b/src/fltk/gamepadWindow.h
similarity index 100%
rename from Fltk/gamepadWindow.h
rename to src/fltk/gamepadWindow.h
diff --git a/Fltk/graphicWindow.cpp b/src/fltk/graphicWindow.cpp
similarity index 100%
rename from Fltk/graphicWindow.cpp
rename to src/fltk/graphicWindow.cpp
diff --git a/Fltk/graphicWindow.h b/src/fltk/graphicWindow.h
similarity index 100%
rename from Fltk/graphicWindow.h
rename to src/fltk/graphicWindow.h
diff --git a/Fltk/helpWindow.cpp b/src/fltk/helpWindow.cpp
similarity index 100%
rename from Fltk/helpWindow.cpp
rename to src/fltk/helpWindow.cpp
diff --git a/Fltk/helpWindow.h b/src/fltk/helpWindow.h
similarity index 100%
rename from Fltk/helpWindow.h
rename to src/fltk/helpWindow.h
diff --git a/Fltk/highOrderToolsWindow.cpp b/src/fltk/highOrderToolsWindow.cpp
similarity index 100%
rename from Fltk/highOrderToolsWindow.cpp
rename to src/fltk/highOrderToolsWindow.cpp
diff --git a/Fltk/highOrderToolsWindow.h b/src/fltk/highOrderToolsWindow.h
similarity index 100%
rename from Fltk/highOrderToolsWindow.h
rename to src/fltk/highOrderToolsWindow.h
diff --git a/Fltk/inputRange.h b/src/fltk/inputRange.h
similarity index 100%
rename from Fltk/inputRange.h
rename to src/fltk/inputRange.h
diff --git a/Fltk/inputValue.cpp b/src/fltk/inputValue.cpp
similarity index 100%
rename from Fltk/inputValue.cpp
rename to src/fltk/inputValue.cpp
diff --git a/Fltk/inputValue.h b/src/fltk/inputValue.h
similarity index 100%
rename from Fltk/inputValue.h
rename to src/fltk/inputValue.h
diff --git a/Fltk/mainWindow.h b/src/fltk/mainWindow.h
similarity index 100%
rename from Fltk/mainWindow.h
rename to src/fltk/mainWindow.h
diff --git a/Fltk/manipWindow.cpp b/src/fltk/manipWindow.cpp
similarity index 100%
rename from Fltk/manipWindow.cpp
rename to src/fltk/manipWindow.cpp
diff --git a/Fltk/manipWindow.h b/src/fltk/manipWindow.h
similarity index 100%
rename from Fltk/manipWindow.h
rename to src/fltk/manipWindow.h
diff --git a/Fltk/messageBrowser.h b/src/fltk/messageBrowser.h
similarity index 100%
rename from Fltk/messageBrowser.h
rename to src/fltk/messageBrowser.h
diff --git a/Fltk/onelabContextWindow.cpp b/src/fltk/onelabContextWindow.cpp
similarity index 100%
rename from Fltk/onelabContextWindow.cpp
rename to src/fltk/onelabContextWindow.cpp
diff --git a/Fltk/onelabContextWindow.h b/src/fltk/onelabContextWindow.h
similarity index 100%
rename from Fltk/onelabContextWindow.h
rename to src/fltk/onelabContextWindow.h
diff --git a/Fltk/onelabGroup.cpp b/src/fltk/onelabGroup.cpp
similarity index 100%
rename from Fltk/onelabGroup.cpp
rename to src/fltk/onelabGroup.cpp
diff --git a/Fltk/onelabGroup.h b/src/fltk/onelabGroup.h
similarity index 100%
rename from Fltk/onelabGroup.h
rename to src/fltk/onelabGroup.h
diff --git a/Fltk/openglWindow.cpp b/src/fltk/openglWindow.cpp
similarity index 100%
rename from Fltk/openglWindow.cpp
rename to src/fltk/openglWindow.cpp
diff --git a/Fltk/openglWindow.h b/src/fltk/openglWindow.h
similarity index 100%
rename from Fltk/openglWindow.h
rename to src/fltk/openglWindow.h
diff --git a/Fltk/optionWindow.cpp b/src/fltk/optionWindow.cpp
similarity index 100%
rename from Fltk/optionWindow.cpp
rename to src/fltk/optionWindow.cpp
diff --git a/Fltk/optionWindow.h b/src/fltk/optionWindow.h
similarity index 100%
rename from Fltk/optionWindow.h
rename to src/fltk/optionWindow.h
diff --git a/Fltk/outputRange.h b/src/fltk/outputRange.h
similarity index 100%
rename from Fltk/outputRange.h
rename to src/fltk/outputRange.h
diff --git a/Fltk/paletteWindow.h b/src/fltk/paletteWindow.h
similarity index 100%
rename from Fltk/paletteWindow.h
rename to src/fltk/paletteWindow.h
diff --git a/Fltk/partitionDialog.cpp b/src/fltk/partitionDialog.cpp
similarity index 100%
rename from Fltk/partitionDialog.cpp
rename to src/fltk/partitionDialog.cpp
diff --git a/Fltk/partitionDialog.h b/src/fltk/partitionDialog.h
similarity index 100%
rename from Fltk/partitionDialog.h
rename to src/fltk/partitionDialog.h
diff --git a/Fltk/pluginWindow.cpp b/src/fltk/pluginWindow.cpp
similarity index 100%
rename from Fltk/pluginWindow.cpp
rename to src/fltk/pluginWindow.cpp
diff --git a/Fltk/pluginWindow.h b/src/fltk/pluginWindow.h
similarity index 100%
rename from Fltk/pluginWindow.h
rename to src/fltk/pluginWindow.h
diff --git a/Fltk/solverButton.cpp b/src/fltk/solverButton.cpp
similarity index 100%
rename from Fltk/solverButton.cpp
rename to src/fltk/solverButton.cpp
diff --git a/Fltk/solverButton.h b/src/fltk/solverButton.h
similarity index 100%
rename from Fltk/solverButton.h
rename to src/fltk/solverButton.h
diff --git a/Fltk/spherePositionWidget.h b/src/fltk/spherePositionWidget.h
similarity index 100%
rename from Fltk/spherePositionWidget.h
rename to src/fltk/spherePositionWidget.h
diff --git a/Fltk/statisticsWindow.cpp b/src/fltk/statisticsWindow.cpp
similarity index 100%
rename from Fltk/statisticsWindow.cpp
rename to src/fltk/statisticsWindow.cpp
diff --git a/Fltk/statisticsWindow.h b/src/fltk/statisticsWindow.h
similarity index 100%
rename from Fltk/statisticsWindow.h
rename to src/fltk/statisticsWindow.h
diff --git a/Fltk/touchBar.h b/src/fltk/touchBar.h
similarity index 100%
rename from Fltk/touchBar.h
rename to src/fltk/touchBar.h
diff --git a/Fltk/touchBar.mm b/src/fltk/touchBar.mm
similarity index 100%
rename from Fltk/touchBar.mm
rename to src/fltk/touchBar.mm
diff --git a/Fltk/treeIcons.h b/src/fltk/treeIcons.h
similarity index 100%
rename from Fltk/treeIcons.h
rename to src/fltk/treeIcons.h
diff --git a/Fltk/viewButton.cpp b/src/fltk/viewButton.cpp
similarity index 100%
rename from Fltk/viewButton.cpp
rename to src/fltk/viewButton.cpp
diff --git a/Fltk/viewButton.h b/src/fltk/viewButton.h
similarity index 100%
rename from Fltk/viewButton.h
rename to src/fltk/viewButton.h
diff --git a/Fltk/visibilityWindow.cpp b/src/fltk/visibilityWindow.cpp
similarity index 100%
rename from Fltk/visibilityWindow.cpp
rename to src/fltk/visibilityWindow.cpp
diff --git a/Fltk/visibilityWindow.h b/src/fltk/visibilityWindow.h
similarity index 100%
rename from Fltk/visibilityWindow.h
rename to src/fltk/visibilityWindow.h
diff --git a/Geo/CGNSCommon.cpp b/src/geo/CGNSCommon.cpp
similarity index 100%
rename from Geo/CGNSCommon.cpp
rename to src/geo/CGNSCommon.cpp
diff --git a/Geo/CGNSCommon.h b/src/geo/CGNSCommon.h
similarity index 100%
rename from Geo/CGNSCommon.h
rename to src/geo/CGNSCommon.h
diff --git a/Geo/CGNSConventions.cpp b/src/geo/CGNSConventions.cpp
similarity index 100%
rename from Geo/CGNSConventions.cpp
rename to src/geo/CGNSConventions.cpp
diff --git a/Geo/CGNSConventions.h b/src/geo/CGNSConventions.h
similarity index 100%
rename from Geo/CGNSConventions.h
rename to src/geo/CGNSConventions.h
diff --git a/Geo/CGNSRead.cpp b/src/geo/CGNSRead.cpp
similarity index 100%
rename from Geo/CGNSRead.cpp
rename to src/geo/CGNSRead.cpp
diff --git a/Geo/CGNSRead.h b/src/geo/CGNSRead.h
similarity index 100%
rename from Geo/CGNSRead.h
rename to src/geo/CGNSRead.h
diff --git a/Geo/CGNSWrite.cpp b/src/geo/CGNSWrite.cpp
similarity index 100%
rename from Geo/CGNSWrite.cpp
rename to src/geo/CGNSWrite.cpp
diff --git a/Geo/CGNSWrite.h b/src/geo/CGNSWrite.h
similarity index 100%
rename from Geo/CGNSWrite.h
rename to src/geo/CGNSWrite.h
diff --git a/Geo/CGNSWriteStruct.cpp b/src/geo/CGNSWriteStruct.cpp
similarity index 100%
rename from Geo/CGNSWriteStruct.cpp
rename to src/geo/CGNSWriteStruct.cpp
diff --git a/Geo/CGNSWriteStruct.h b/src/geo/CGNSWriteStruct.h
similarity index 100%
rename from Geo/CGNSWriteStruct.h
rename to src/geo/CGNSWriteStruct.h
diff --git a/Geo/CGNSZone.cpp b/src/geo/CGNSZone.cpp
similarity index 100%
rename from Geo/CGNSZone.cpp
rename to src/geo/CGNSZone.cpp
diff --git a/Geo/CGNSZone.h b/src/geo/CGNSZone.h
similarity index 100%
rename from Geo/CGNSZone.h
rename to src/geo/CGNSZone.h
diff --git a/Geo/CGNSZoneStruct.cpp b/src/geo/CGNSZoneStruct.cpp
similarity index 100%
rename from Geo/CGNSZoneStruct.cpp
rename to src/geo/CGNSZoneStruct.cpp
diff --git a/Geo/CGNSZoneStruct.h b/src/geo/CGNSZoneStruct.h
similarity index 100%
rename from Geo/CGNSZoneStruct.h
rename to src/geo/CGNSZoneStruct.h
diff --git a/Geo/CGNSZoneUnstruct.cpp b/src/geo/CGNSZoneUnstruct.cpp
similarity index 100%
rename from Geo/CGNSZoneUnstruct.cpp
rename to src/geo/CGNSZoneUnstruct.cpp
diff --git a/Geo/CGNSZoneUnstruct.h b/src/geo/CGNSZoneUnstruct.h
similarity index 100%
rename from Geo/CGNSZoneUnstruct.h
rename to src/geo/CGNSZoneUnstruct.h
diff --git a/Geo/CMakeLists.txt b/src/geo/CMakeLists.txt
similarity index 98%
rename from Geo/CMakeLists.txt
rename to src/geo/CMakeLists.txt
index eba4ba17eb..cf9772e712 100644
--- a/Geo/CMakeLists.txt
+++ b/src/geo/CMakeLists.txt
@@ -52,4 +52,4 @@ set(SRC
 )
 
 file(GLOB HDR RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *.h)
-append_gmsh_src(Geo "${SRC};${HDR}")
+append_gmsh_src(src/geo "${SRC};${HDR}")
diff --git a/Geo/Cell.cpp b/src/geo/Cell.cpp
similarity index 100%
rename from Geo/Cell.cpp
rename to src/geo/Cell.cpp
diff --git a/Geo/Cell.h b/src/geo/Cell.h
similarity index 100%
rename from Geo/Cell.h
rename to src/geo/Cell.h
diff --git a/Geo/CellComplex.cpp b/src/geo/CellComplex.cpp
similarity index 100%
rename from Geo/CellComplex.cpp
rename to src/geo/CellComplex.cpp
diff --git a/Geo/CellComplex.h b/src/geo/CellComplex.h
similarity index 100%
rename from Geo/CellComplex.h
rename to src/geo/CellComplex.h
diff --git a/Geo/Chain.cpp b/src/geo/Chain.cpp
similarity index 100%
rename from Geo/Chain.cpp
rename to src/geo/Chain.cpp
diff --git a/Geo/Chain.h b/src/geo/Chain.h
similarity index 100%
rename from Geo/Chain.h
rename to src/geo/Chain.h
diff --git a/Geo/ChainComplex.cpp b/src/geo/ChainComplex.cpp
similarity index 100%
rename from Geo/ChainComplex.cpp
rename to src/geo/ChainComplex.cpp
diff --git a/Geo/ChainComplex.h b/src/geo/ChainComplex.h
similarity index 100%
rename from Geo/ChainComplex.h
rename to src/geo/ChainComplex.h
diff --git a/Geo/ExtrudeParams.cpp b/src/geo/ExtrudeParams.cpp
similarity index 100%
rename from Geo/ExtrudeParams.cpp
rename to src/geo/ExtrudeParams.cpp
diff --git a/Geo/ExtrudeParams.h b/src/geo/ExtrudeParams.h
similarity index 100%
rename from Geo/ExtrudeParams.h
rename to src/geo/ExtrudeParams.h
diff --git a/Geo/GEdge.cpp b/src/geo/GEdge.cpp
similarity index 100%
rename from Geo/GEdge.cpp
rename to src/geo/GEdge.cpp
diff --git a/Geo/GEdge.h b/src/geo/GEdge.h
similarity index 100%
rename from Geo/GEdge.h
rename to src/geo/GEdge.h
diff --git a/Geo/GEdgeLoop.cpp b/src/geo/GEdgeLoop.cpp
similarity index 100%
rename from Geo/GEdgeLoop.cpp
rename to src/geo/GEdgeLoop.cpp
diff --git a/Geo/GEdgeLoop.h b/src/geo/GEdgeLoop.h
similarity index 100%
rename from Geo/GEdgeLoop.h
rename to src/geo/GEdgeLoop.h
diff --git a/Geo/GEntity.cpp b/src/geo/GEntity.cpp
similarity index 100%
rename from Geo/GEntity.cpp
rename to src/geo/GEntity.cpp
diff --git a/Geo/GEntity.h b/src/geo/GEntity.h
similarity index 100%
rename from Geo/GEntity.h
rename to src/geo/GEntity.h
diff --git a/Geo/GFace.cpp b/src/geo/GFace.cpp
similarity index 100%
rename from Geo/GFace.cpp
rename to src/geo/GFace.cpp
diff --git a/Geo/GFace.h b/src/geo/GFace.h
similarity index 100%
rename from Geo/GFace.h
rename to src/geo/GFace.h
diff --git a/Geo/GModel.cpp b/src/geo/GModel.cpp
similarity index 100%
rename from Geo/GModel.cpp
rename to src/geo/GModel.cpp
diff --git a/Geo/GModel.h b/src/geo/GModel.h
similarity index 100%
rename from Geo/GModel.h
rename to src/geo/GModel.h
diff --git a/Geo/GModelCreateTopologyFromMesh.cpp b/src/geo/GModelCreateTopologyFromMesh.cpp
similarity index 100%
rename from Geo/GModelCreateTopologyFromMesh.cpp
rename to src/geo/GModelCreateTopologyFromMesh.cpp
diff --git a/Geo/GModelCreateTopologyFromMesh.h b/src/geo/GModelCreateTopologyFromMesh.h
similarity index 100%
rename from Geo/GModelCreateTopologyFromMesh.h
rename to src/geo/GModelCreateTopologyFromMesh.h
diff --git a/Geo/GModelIO_ACTRAN.cpp b/src/geo/GModelIO_ACTRAN.cpp
similarity index 100%
rename from Geo/GModelIO_ACTRAN.cpp
rename to src/geo/GModelIO_ACTRAN.cpp
diff --git a/Geo/GModelIO_BDF.cpp b/src/geo/GModelIO_BDF.cpp
similarity index 100%
rename from Geo/GModelIO_BDF.cpp
rename to src/geo/GModelIO_BDF.cpp
diff --git a/Geo/GModelIO_CELUM.cpp b/src/geo/GModelIO_CELUM.cpp
similarity index 100%
rename from Geo/GModelIO_CELUM.cpp
rename to src/geo/GModelIO_CELUM.cpp
diff --git a/Geo/GModelIO_CGNS.cpp b/src/geo/GModelIO_CGNS.cpp
similarity index 100%
rename from Geo/GModelIO_CGNS.cpp
rename to src/geo/GModelIO_CGNS.cpp
diff --git a/Geo/GModelIO_DIFF.cpp b/src/geo/GModelIO_DIFF.cpp
similarity index 100%
rename from Geo/GModelIO_DIFF.cpp
rename to src/geo/GModelIO_DIFF.cpp
diff --git a/Geo/GModelIO_GEO.cpp b/src/geo/GModelIO_GEO.cpp
similarity index 100%
rename from Geo/GModelIO_GEO.cpp
rename to src/geo/GModelIO_GEO.cpp
diff --git a/Geo/GModelIO_GEO.h b/src/geo/GModelIO_GEO.h
similarity index 100%
rename from Geo/GModelIO_GEO.h
rename to src/geo/GModelIO_GEO.h
diff --git a/Geo/GModelIO_GEOM.cpp b/src/geo/GModelIO_GEOM.cpp
similarity index 100%
rename from Geo/GModelIO_GEOM.cpp
rename to src/geo/GModelIO_GEOM.cpp
diff --git a/Geo/GModelIO_INP.cpp b/src/geo/GModelIO_INP.cpp
similarity index 100%
rename from Geo/GModelIO_INP.cpp
rename to src/geo/GModelIO_INP.cpp
diff --git a/Geo/GModelIO_IR3.cpp b/src/geo/GModelIO_IR3.cpp
similarity index 100%
rename from Geo/GModelIO_IR3.cpp
rename to src/geo/GModelIO_IR3.cpp
diff --git a/Geo/GModelIO_KEY.cpp b/src/geo/GModelIO_KEY.cpp
similarity index 100%
rename from Geo/GModelIO_KEY.cpp
rename to src/geo/GModelIO_KEY.cpp
diff --git a/Geo/GModelIO_MAIL.cpp b/src/geo/GModelIO_MAIL.cpp
similarity index 100%
rename from Geo/GModelIO_MAIL.cpp
rename to src/geo/GModelIO_MAIL.cpp
diff --git a/Geo/GModelIO_MATLAB.cpp b/src/geo/GModelIO_MATLAB.cpp
similarity index 99%
rename from Geo/GModelIO_MATLAB.cpp
rename to src/geo/GModelIO_MATLAB.cpp
index caed04879a..7967875592 100644
--- a/Geo/GModelIO_MATLAB.cpp
+++ b/src/geo/GModelIO_MATLAB.cpp
@@ -156,8 +156,8 @@ int GModel::writeMATLAB(const std::string &name, bool binary, bool saveAll,
   return 1;
 }
 
-// This should be updated whenever a new element is available in GMSH
-// See Common/GmshDefines.h
+// This should be updated whenever a new element is available in GMSH; see
+// src/common/GmshDefines.h
 std::string getMATLABName(int type)
 {
   switch(type) {
diff --git a/Geo/GModelIO_MED.cpp b/src/geo/GModelIO_MED.cpp
similarity index 100%
rename from Geo/GModelIO_MED.cpp
rename to src/geo/GModelIO_MED.cpp
diff --git a/Geo/GModelIO_MESH.cpp b/src/geo/GModelIO_MESH.cpp
similarity index 100%
rename from Geo/GModelIO_MESH.cpp
rename to src/geo/GModelIO_MESH.cpp
diff --git a/Geo/GModelIO_MSH.cpp b/src/geo/GModelIO_MSH.cpp
similarity index 100%
rename from Geo/GModelIO_MSH.cpp
rename to src/geo/GModelIO_MSH.cpp
diff --git a/Geo/GModelIO_MSH2.cpp b/src/geo/GModelIO_MSH2.cpp
similarity index 100%
rename from Geo/GModelIO_MSH2.cpp
rename to src/geo/GModelIO_MSH2.cpp
diff --git a/Geo/GModelIO_MSH3.cpp b/src/geo/GModelIO_MSH3.cpp
similarity index 100%
rename from Geo/GModelIO_MSH3.cpp
rename to src/geo/GModelIO_MSH3.cpp
diff --git a/Geo/GModelIO_MSH4.cpp b/src/geo/GModelIO_MSH4.cpp
similarity index 100%
rename from Geo/GModelIO_MSH4.cpp
rename to src/geo/GModelIO_MSH4.cpp
diff --git a/Geo/GModelIO_NEU.cpp b/src/geo/GModelIO_NEU.cpp
similarity index 100%
rename from Geo/GModelIO_NEU.cpp
rename to src/geo/GModelIO_NEU.cpp
diff --git a/Geo/GModelIO_OCC.cpp b/src/geo/GModelIO_OCC.cpp
similarity index 100%
rename from Geo/GModelIO_OCC.cpp
rename to src/geo/GModelIO_OCC.cpp
diff --git a/Geo/GModelIO_OCC.h b/src/geo/GModelIO_OCC.h
similarity index 100%
rename from Geo/GModelIO_OCC.h
rename to src/geo/GModelIO_OCC.h
diff --git a/Geo/GModelIO_OFF.cpp b/src/geo/GModelIO_OFF.cpp
similarity index 100%
rename from Geo/GModelIO_OFF.cpp
rename to src/geo/GModelIO_OFF.cpp
diff --git a/Geo/GModelIO_P3D.cpp b/src/geo/GModelIO_P3D.cpp
similarity index 100%
rename from Geo/GModelIO_P3D.cpp
rename to src/geo/GModelIO_P3D.cpp
diff --git a/Geo/GModelIO_PLY.cpp b/src/geo/GModelIO_PLY.cpp
similarity index 100%
rename from Geo/GModelIO_PLY.cpp
rename to src/geo/GModelIO_PLY.cpp
diff --git a/Geo/GModelIO_POS.cpp b/src/geo/GModelIO_POS.cpp
similarity index 100%
rename from Geo/GModelIO_POS.cpp
rename to src/geo/GModelIO_POS.cpp
diff --git a/Geo/GModelIO_SAMCEF.cpp b/src/geo/GModelIO_SAMCEF.cpp
similarity index 100%
rename from Geo/GModelIO_SAMCEF.cpp
rename to src/geo/GModelIO_SAMCEF.cpp
diff --git a/Geo/GModelIO_STL.cpp b/src/geo/GModelIO_STL.cpp
similarity index 100%
rename from Geo/GModelIO_STL.cpp
rename to src/geo/GModelIO_STL.cpp
diff --git a/Geo/GModelIO_SU2.cpp b/src/geo/GModelIO_SU2.cpp
similarity index 100%
rename from Geo/GModelIO_SU2.cpp
rename to src/geo/GModelIO_SU2.cpp
diff --git a/Geo/GModelIO_TOCHNOG.cpp b/src/geo/GModelIO_TOCHNOG.cpp
similarity index 100%
rename from Geo/GModelIO_TOCHNOG.cpp
rename to src/geo/GModelIO_TOCHNOG.cpp
diff --git a/Geo/GModelIO_UNV.cpp b/src/geo/GModelIO_UNV.cpp
similarity index 100%
rename from Geo/GModelIO_UNV.cpp
rename to src/geo/GModelIO_UNV.cpp
diff --git a/Geo/GModelIO_VRML.cpp b/src/geo/GModelIO_VRML.cpp
similarity index 100%
rename from Geo/GModelIO_VRML.cpp
rename to src/geo/GModelIO_VRML.cpp
diff --git a/Geo/GModelIO_VTK.cpp b/src/geo/GModelIO_VTK.cpp
similarity index 100%
rename from Geo/GModelIO_VTK.cpp
rename to src/geo/GModelIO_VTK.cpp
diff --git a/Geo/GModelIO_X3D.cpp b/src/geo/GModelIO_X3D.cpp
similarity index 100%
rename from Geo/GModelIO_X3D.cpp
rename to src/geo/GModelIO_X3D.cpp
diff --git a/Geo/GModelParametrize.cpp b/src/geo/GModelParametrize.cpp
similarity index 100%
rename from Geo/GModelParametrize.cpp
rename to src/geo/GModelParametrize.cpp
diff --git a/Geo/GModelParametrize.h b/src/geo/GModelParametrize.h
similarity index 100%
rename from Geo/GModelParametrize.h
rename to src/geo/GModelParametrize.h
diff --git a/Geo/GModelVertexArrays.cpp b/src/geo/GModelVertexArrays.cpp
similarity index 100%
rename from Geo/GModelVertexArrays.cpp
rename to src/geo/GModelVertexArrays.cpp
diff --git a/Geo/GPoint.h b/src/geo/GPoint.h
similarity index 100%
rename from Geo/GPoint.h
rename to src/geo/GPoint.h
diff --git a/Geo/GRegion.cpp b/src/geo/GRegion.cpp
similarity index 100%
rename from Geo/GRegion.cpp
rename to src/geo/GRegion.cpp
diff --git a/Geo/GRegion.h b/src/geo/GRegion.h
similarity index 100%
rename from Geo/GRegion.h
rename to src/geo/GRegion.h
diff --git a/Geo/GVertex.cpp b/src/geo/GVertex.cpp
similarity index 100%
rename from Geo/GVertex.cpp
rename to src/geo/GVertex.cpp
diff --git a/Geo/GVertex.h b/src/geo/GVertex.h
similarity index 100%
rename from Geo/GVertex.h
rename to src/geo/GVertex.h
diff --git a/Geo/Geo.cpp b/src/geo/Geo.cpp
similarity index 100%
rename from Geo/Geo.cpp
rename to src/geo/Geo.cpp
diff --git a/Geo/Geo.h b/src/geo/Geo.h
similarity index 100%
rename from Geo/Geo.h
rename to src/geo/Geo.h
diff --git a/Geo/GeoDefines.h b/src/geo/GeoDefines.h
similarity index 100%
rename from Geo/GeoDefines.h
rename to src/geo/GeoDefines.h
diff --git a/Geo/GeoInterpolation.cpp b/src/geo/GeoInterpolation.cpp
similarity index 100%
rename from Geo/GeoInterpolation.cpp
rename to src/geo/GeoInterpolation.cpp
diff --git a/Geo/GeoInterpolation.h b/src/geo/GeoInterpolation.h
similarity index 100%
rename from Geo/GeoInterpolation.h
rename to src/geo/GeoInterpolation.h
diff --git a/Geo/GeomMeshMatcher.cpp b/src/geo/GeomMeshMatcher.cpp
similarity index 100%
rename from Geo/GeomMeshMatcher.cpp
rename to src/geo/GeomMeshMatcher.cpp
diff --git a/Geo/GeomMeshMatcher.h b/src/geo/GeomMeshMatcher.h
similarity index 100%
rename from Geo/GeomMeshMatcher.h
rename to src/geo/GeomMeshMatcher.h
diff --git a/Geo/Homology.cpp b/src/geo/Homology.cpp
similarity index 100%
rename from Geo/Homology.cpp
rename to src/geo/Homology.cpp
diff --git a/Geo/Homology.h b/src/geo/Homology.h
similarity index 100%
rename from Geo/Homology.h
rename to src/geo/Homology.h
diff --git a/Geo/MEdge.cpp b/src/geo/MEdge.cpp
similarity index 100%
rename from Geo/MEdge.cpp
rename to src/geo/MEdge.cpp
diff --git a/Geo/MEdge.h b/src/geo/MEdge.h
similarity index 100%
rename from Geo/MEdge.h
rename to src/geo/MEdge.h
diff --git a/Geo/MEdgeHash.h b/src/geo/MEdgeHash.h
similarity index 100%
rename from Geo/MEdgeHash.h
rename to src/geo/MEdgeHash.h
diff --git a/Geo/MElement.cpp b/src/geo/MElement.cpp
similarity index 100%
rename from Geo/MElement.cpp
rename to src/geo/MElement.cpp
diff --git a/Geo/MElement.h b/src/geo/MElement.h
similarity index 100%
rename from Geo/MElement.h
rename to src/geo/MElement.h
diff --git a/Geo/MElementCut.cpp b/src/geo/MElementCut.cpp
similarity index 100%
rename from Geo/MElementCut.cpp
rename to src/geo/MElementCut.cpp
diff --git a/Geo/MElementCut.h b/src/geo/MElementCut.h
similarity index 100%
rename from Geo/MElementCut.h
rename to src/geo/MElementCut.h
diff --git a/Geo/MElementOctree.cpp b/src/geo/MElementOctree.cpp
similarity index 100%
rename from Geo/MElementOctree.cpp
rename to src/geo/MElementOctree.cpp
diff --git a/Geo/MElementOctree.h b/src/geo/MElementOctree.h
similarity index 100%
rename from Geo/MElementOctree.h
rename to src/geo/MElementOctree.h
diff --git a/Geo/MFace.cpp b/src/geo/MFace.cpp
similarity index 100%
rename from Geo/MFace.cpp
rename to src/geo/MFace.cpp
diff --git a/Geo/MFace.h b/src/geo/MFace.h
similarity index 100%
rename from Geo/MFace.h
rename to src/geo/MFace.h
diff --git a/Geo/MFaceHash.h b/src/geo/MFaceHash.h
similarity index 100%
rename from Geo/MFaceHash.h
rename to src/geo/MFaceHash.h
diff --git a/Geo/MHexahedron.cpp b/src/geo/MHexahedron.cpp
similarity index 100%
rename from Geo/MHexahedron.cpp
rename to src/geo/MHexahedron.cpp
diff --git a/Geo/MHexahedron.h b/src/geo/MHexahedron.h
similarity index 100%
rename from Geo/MHexahedron.h
rename to src/geo/MHexahedron.h
diff --git a/Geo/MLine.cpp b/src/geo/MLine.cpp
similarity index 100%
rename from Geo/MLine.cpp
rename to src/geo/MLine.cpp
diff --git a/Geo/MLine.h b/src/geo/MLine.h
similarity index 100%
rename from Geo/MLine.h
rename to src/geo/MLine.h
diff --git a/Geo/MPoint.h b/src/geo/MPoint.h
similarity index 100%
rename from Geo/MPoint.h
rename to src/geo/MPoint.h
diff --git a/Geo/MPrism.cpp b/src/geo/MPrism.cpp
similarity index 100%
rename from Geo/MPrism.cpp
rename to src/geo/MPrism.cpp
diff --git a/Geo/MPrism.h b/src/geo/MPrism.h
similarity index 100%
rename from Geo/MPrism.h
rename to src/geo/MPrism.h
diff --git a/Geo/MPyramid.cpp b/src/geo/MPyramid.cpp
similarity index 100%
rename from Geo/MPyramid.cpp
rename to src/geo/MPyramid.cpp
diff --git a/Geo/MPyramid.h b/src/geo/MPyramid.h
similarity index 100%
rename from Geo/MPyramid.h
rename to src/geo/MPyramid.h
diff --git a/Geo/MQuadrangle.cpp b/src/geo/MQuadrangle.cpp
similarity index 100%
rename from Geo/MQuadrangle.cpp
rename to src/geo/MQuadrangle.cpp
diff --git a/Geo/MQuadrangle.h b/src/geo/MQuadrangle.h
similarity index 100%
rename from Geo/MQuadrangle.h
rename to src/geo/MQuadrangle.h
diff --git a/Geo/MSubElement.cpp b/src/geo/MSubElement.cpp
similarity index 100%
rename from Geo/MSubElement.cpp
rename to src/geo/MSubElement.cpp
diff --git a/Geo/MSubElement.h b/src/geo/MSubElement.h
similarity index 100%
rename from Geo/MSubElement.h
rename to src/geo/MSubElement.h
diff --git a/Geo/MTetrahedron.cpp b/src/geo/MTetrahedron.cpp
similarity index 100%
rename from Geo/MTetrahedron.cpp
rename to src/geo/MTetrahedron.cpp
diff --git a/Geo/MTetrahedron.h b/src/geo/MTetrahedron.h
similarity index 100%
rename from Geo/MTetrahedron.h
rename to src/geo/MTetrahedron.h
diff --git a/Geo/MTriangle.cpp b/src/geo/MTriangle.cpp
similarity index 100%
rename from Geo/MTriangle.cpp
rename to src/geo/MTriangle.cpp
diff --git a/Geo/MTriangle.h b/src/geo/MTriangle.h
similarity index 100%
rename from Geo/MTriangle.h
rename to src/geo/MTriangle.h
diff --git a/Geo/MTrihedron.cpp b/src/geo/MTrihedron.cpp
similarity index 100%
rename from Geo/MTrihedron.cpp
rename to src/geo/MTrihedron.cpp
diff --git a/Geo/MTrihedron.h b/src/geo/MTrihedron.h
similarity index 100%
rename from Geo/MTrihedron.h
rename to src/geo/MTrihedron.h
diff --git a/Geo/MVertex.cpp b/src/geo/MVertex.cpp
similarity index 100%
rename from Geo/MVertex.cpp
rename to src/geo/MVertex.cpp
diff --git a/Geo/MVertex.h b/src/geo/MVertex.h
similarity index 100%
rename from Geo/MVertex.h
rename to src/geo/MVertex.h
diff --git a/Geo/MVertexBoundaryLayerData.cpp b/src/geo/MVertexBoundaryLayerData.cpp
similarity index 100%
rename from Geo/MVertexBoundaryLayerData.cpp
rename to src/geo/MVertexBoundaryLayerData.cpp
diff --git a/Geo/MVertexBoundaryLayerData.h b/src/geo/MVertexBoundaryLayerData.h
similarity index 100%
rename from Geo/MVertexBoundaryLayerData.h
rename to src/geo/MVertexBoundaryLayerData.h
diff --git a/Geo/MVertexRTree.h b/src/geo/MVertexRTree.h
similarity index 100%
rename from Geo/MVertexRTree.h
rename to src/geo/MVertexRTree.h
diff --git a/Geo/OCCAttributes.h b/src/geo/OCCAttributes.h
similarity index 100%
rename from Geo/OCCAttributes.h
rename to src/geo/OCCAttributes.h
diff --git a/Geo/OCCEdge.cpp b/src/geo/OCCEdge.cpp
similarity index 100%
rename from Geo/OCCEdge.cpp
rename to src/geo/OCCEdge.cpp
diff --git a/Geo/OCCEdge.h b/src/geo/OCCEdge.h
similarity index 100%
rename from Geo/OCCEdge.h
rename to src/geo/OCCEdge.h
diff --git a/Geo/OCCFace.cpp b/src/geo/OCCFace.cpp
similarity index 100%
rename from Geo/OCCFace.cpp
rename to src/geo/OCCFace.cpp
diff --git a/Geo/OCCFace.h b/src/geo/OCCFace.h
similarity index 100%
rename from Geo/OCCFace.h
rename to src/geo/OCCFace.h
diff --git a/Geo/OCCRegion.cpp b/src/geo/OCCRegion.cpp
similarity index 100%
rename from Geo/OCCRegion.cpp
rename to src/geo/OCCRegion.cpp
diff --git a/Geo/OCCRegion.h b/src/geo/OCCRegion.h
similarity index 100%
rename from Geo/OCCRegion.h
rename to src/geo/OCCRegion.h
diff --git a/Geo/OCCVertex.cpp b/src/geo/OCCVertex.cpp
similarity index 100%
rename from Geo/OCCVertex.cpp
rename to src/geo/OCCVertex.cpp
diff --git a/Geo/OCCVertex.h b/src/geo/OCCVertex.h
similarity index 100%
rename from Geo/OCCVertex.h
rename to src/geo/OCCVertex.h
diff --git a/Geo/Pair.h b/src/geo/Pair.h
similarity index 100%
rename from Geo/Pair.h
rename to src/geo/Pair.h
diff --git a/Geo/Range.h b/src/geo/Range.h
similarity index 100%
rename from Geo/Range.h
rename to src/geo/Range.h
diff --git a/Geo/SBoundingBox3d.h b/src/geo/SBoundingBox3d.h
similarity index 100%
rename from Geo/SBoundingBox3d.h
rename to src/geo/SBoundingBox3d.h
diff --git a/Geo/SOrientedBoundingBox.cpp b/src/geo/SOrientedBoundingBox.cpp
similarity index 100%
rename from Geo/SOrientedBoundingBox.cpp
rename to src/geo/SOrientedBoundingBox.cpp
diff --git a/Geo/SOrientedBoundingBox.h b/src/geo/SOrientedBoundingBox.h
similarity index 100%
rename from Geo/SOrientedBoundingBox.h
rename to src/geo/SOrientedBoundingBox.h
diff --git a/Geo/SPoint2.h b/src/geo/SPoint2.h
similarity index 100%
rename from Geo/SPoint2.h
rename to src/geo/SPoint2.h
diff --git a/Geo/SPoint3.h b/src/geo/SPoint3.h
similarity index 100%
rename from Geo/SPoint3.h
rename to src/geo/SPoint3.h
diff --git a/Geo/SPoint3KDTree.h b/src/geo/SPoint3KDTree.h
similarity index 100%
rename from Geo/SPoint3KDTree.h
rename to src/geo/SPoint3KDTree.h
diff --git a/Geo/STensor3.cpp b/src/geo/STensor3.cpp
similarity index 100%
rename from Geo/STensor3.cpp
rename to src/geo/STensor3.cpp
diff --git a/Geo/STensor3.h b/src/geo/STensor3.h
similarity index 100%
rename from Geo/STensor3.h
rename to src/geo/STensor3.h
diff --git a/Geo/SVector3.h b/src/geo/SVector3.h
similarity index 100%
rename from Geo/SVector3.h
rename to src/geo/SVector3.h
diff --git a/Geo/affineTransformation.cpp b/src/geo/affineTransformation.cpp
similarity index 100%
rename from Geo/affineTransformation.cpp
rename to src/geo/affineTransformation.cpp
diff --git a/Geo/affineTransformation.h b/src/geo/affineTransformation.h
similarity index 100%
rename from Geo/affineTransformation.h
rename to src/geo/affineTransformation.h
diff --git a/Geo/boundaryLayersData.cpp b/src/geo/boundaryLayersData.cpp
similarity index 100%
rename from Geo/boundaryLayersData.cpp
rename to src/geo/boundaryLayersData.cpp
diff --git a/Geo/boundaryLayersData.h b/src/geo/boundaryLayersData.h
similarity index 100%
rename from Geo/boundaryLayersData.h
rename to src/geo/boundaryLayersData.h
diff --git a/Geo/closestPoint.cpp b/src/geo/closestPoint.cpp
similarity index 100%
rename from Geo/closestPoint.cpp
rename to src/geo/closestPoint.cpp
diff --git a/Geo/closestPoint.h b/src/geo/closestPoint.h
similarity index 100%
rename from Geo/closestPoint.h
rename to src/geo/closestPoint.h
diff --git a/Geo/closestVertex.cpp b/src/geo/closestVertex.cpp
similarity index 100%
rename from Geo/closestVertex.cpp
rename to src/geo/closestVertex.cpp
diff --git a/Geo/closestVertex.h b/src/geo/closestVertex.h
similarity index 100%
rename from Geo/closestVertex.h
rename to src/geo/closestVertex.h
diff --git a/Geo/discreteEdge.cpp b/src/geo/discreteEdge.cpp
similarity index 100%
rename from Geo/discreteEdge.cpp
rename to src/geo/discreteEdge.cpp
diff --git a/Geo/discreteEdge.h b/src/geo/discreteEdge.h
similarity index 100%
rename from Geo/discreteEdge.h
rename to src/geo/discreteEdge.h
diff --git a/Geo/discreteFace.cpp b/src/geo/discreteFace.cpp
similarity index 100%
rename from Geo/discreteFace.cpp
rename to src/geo/discreteFace.cpp
diff --git a/Geo/discreteFace.h b/src/geo/discreteFace.h
similarity index 100%
rename from Geo/discreteFace.h
rename to src/geo/discreteFace.h
diff --git a/Geo/discreteRegion.cpp b/src/geo/discreteRegion.cpp
similarity index 100%
rename from Geo/discreteRegion.cpp
rename to src/geo/discreteRegion.cpp
diff --git a/Geo/discreteRegion.h b/src/geo/discreteRegion.h
similarity index 100%
rename from Geo/discreteRegion.h
rename to src/geo/discreteRegion.h
diff --git a/Geo/discreteVertex.cpp b/src/geo/discreteVertex.cpp
similarity index 100%
rename from Geo/discreteVertex.cpp
rename to src/geo/discreteVertex.cpp
diff --git a/Geo/discreteVertex.h b/src/geo/discreteVertex.h
similarity index 100%
rename from Geo/discreteVertex.h
rename to src/geo/discreteVertex.h
diff --git a/Geo/findLinks.cpp b/src/geo/findLinks.cpp
similarity index 100%
rename from Geo/findLinks.cpp
rename to src/geo/findLinks.cpp
diff --git a/Geo/findLinks.h b/src/geo/findLinks.h
similarity index 100%
rename from Geo/findLinks.h
rename to src/geo/findLinks.h
diff --git a/Geo/ghostEdge.h b/src/geo/ghostEdge.h
similarity index 100%
rename from Geo/ghostEdge.h
rename to src/geo/ghostEdge.h
diff --git a/Geo/ghostFace.h b/src/geo/ghostFace.h
similarity index 100%
rename from Geo/ghostFace.h
rename to src/geo/ghostFace.h
diff --git a/Geo/ghostRegion.h b/src/geo/ghostRegion.h
similarity index 100%
rename from Geo/ghostRegion.h
rename to src/geo/ghostRegion.h
diff --git a/Geo/gmshEdge.cpp b/src/geo/gmshEdge.cpp
similarity index 100%
rename from Geo/gmshEdge.cpp
rename to src/geo/gmshEdge.cpp
diff --git a/Geo/gmshEdge.h b/src/geo/gmshEdge.h
similarity index 100%
rename from Geo/gmshEdge.h
rename to src/geo/gmshEdge.h
diff --git a/Geo/gmshEdgeDiscretize.cpp b/src/geo/gmshEdgeDiscretize.cpp
similarity index 100%
rename from Geo/gmshEdgeDiscretize.cpp
rename to src/geo/gmshEdgeDiscretize.cpp
diff --git a/Geo/gmshFace.cpp b/src/geo/gmshFace.cpp
similarity index 100%
rename from Geo/gmshFace.cpp
rename to src/geo/gmshFace.cpp
diff --git a/Geo/gmshFace.h b/src/geo/gmshFace.h
similarity index 100%
rename from Geo/gmshFace.h
rename to src/geo/gmshFace.h
diff --git a/Geo/gmshLevelset.cpp b/src/geo/gmshLevelset.cpp
similarity index 100%
rename from Geo/gmshLevelset.cpp
rename to src/geo/gmshLevelset.cpp
diff --git a/Geo/gmshLevelset.h b/src/geo/gmshLevelset.h
similarity index 100%
rename from Geo/gmshLevelset.h
rename to src/geo/gmshLevelset.h
diff --git a/Geo/gmshRegion.cpp b/src/geo/gmshRegion.cpp
similarity index 100%
rename from Geo/gmshRegion.cpp
rename to src/geo/gmshRegion.cpp
diff --git a/Geo/gmshRegion.h b/src/geo/gmshRegion.h
similarity index 100%
rename from Geo/gmshRegion.h
rename to src/geo/gmshRegion.h
diff --git a/Geo/gmshSurface.cpp b/src/geo/gmshSurface.cpp
similarity index 100%
rename from Geo/gmshSurface.cpp
rename to src/geo/gmshSurface.cpp
diff --git a/Geo/gmshSurface.h b/src/geo/gmshSurface.h
similarity index 100%
rename from Geo/gmshSurface.h
rename to src/geo/gmshSurface.h
diff --git a/Geo/gmshVertex.cpp b/src/geo/gmshVertex.cpp
similarity index 100%
rename from Geo/gmshVertex.cpp
rename to src/geo/gmshVertex.cpp
diff --git a/Geo/gmshVertex.h b/src/geo/gmshVertex.h
similarity index 100%
rename from Geo/gmshVertex.h
rename to src/geo/gmshVertex.h
diff --git a/Geo/intersectCurveSurface.cpp b/src/geo/intersectCurveSurface.cpp
similarity index 100%
rename from Geo/intersectCurveSurface.cpp
rename to src/geo/intersectCurveSurface.cpp
diff --git a/Geo/intersectCurveSurface.h b/src/geo/intersectCurveSurface.h
similarity index 100%
rename from Geo/intersectCurveSurface.h
rename to src/geo/intersectCurveSurface.h
diff --git a/Geo/partitionEdge.h b/src/geo/partitionEdge.h
similarity index 100%
rename from Geo/partitionEdge.h
rename to src/geo/partitionEdge.h
diff --git a/Geo/partitionFace.h b/src/geo/partitionFace.h
similarity index 100%
rename from Geo/partitionFace.h
rename to src/geo/partitionFace.h
diff --git a/Geo/partitionRegion.h b/src/geo/partitionRegion.h
similarity index 100%
rename from Geo/partitionRegion.h
rename to src/geo/partitionRegion.h
diff --git a/Geo/partitionVertex.h b/src/geo/partitionVertex.h
similarity index 100%
rename from Geo/partitionVertex.h
rename to src/geo/partitionVertex.h
diff --git a/Geo/scriptStringInterface.cpp b/src/geo/scriptStringInterface.cpp
similarity index 100%
rename from Geo/scriptStringInterface.cpp
rename to src/geo/scriptStringInterface.cpp
diff --git a/Geo/scriptStringInterface.h b/src/geo/scriptStringInterface.h
similarity index 100%
rename from Geo/scriptStringInterface.h
rename to src/geo/scriptStringInterface.h
diff --git a/Geo/xyEdge.h b/src/geo/xyEdge.h
similarity index 100%
rename from Geo/xyEdge.h
rename to src/geo/xyEdge.h
diff --git a/Geo/xyFace.h b/src/geo/xyFace.h
similarity index 100%
rename from Geo/xyFace.h
rename to src/geo/xyFace.h
diff --git a/Graphics/CMakeLists.txt b/src/graphics/CMakeLists.txt
similarity index 53%
rename from Graphics/CMakeLists.txt
rename to src/graphics/CMakeLists.txt
index f972c781c1..bf3ab76d59 100644
--- a/Graphics/CMakeLists.txt
+++ b/src/graphics/CMakeLists.txt
@@ -4,17 +4,17 @@
 # Please report all issues on https://gitlab.onelab.info/gmsh/gmsh/issues.
 
 set(SRC
-  Camera.cpp 
-  Trackball.cpp 
-  ReadImg.cpp 
-  drawContext.cpp 
-  drawMesh.cpp 
-  drawGeom.cpp 
-  drawPost.cpp 
-  drawAxes.cpp 
-  drawScales.cpp 
-  drawGraph2d.cpp 
-  drawGlyph.cpp 
+  Camera.cpp
+  Trackball.cpp
+  ReadImg.cpp
+  drawContext.cpp
+  drawMesh.cpp
+  drawGeom.cpp
+  drawPost.cpp
+  drawAxes.cpp
+  drawScales.cpp
+  drawGraph2d.cpp
+  drawGlyph.cpp
   gl2ps.cpp
   gl2gif.cpp
   gl2jpeg.cpp
@@ -24,5 +24,5 @@ set(SRC
   gl2pgf.cpp
 )
 
-file(GLOB HDR RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *.h) 
-append_gmsh_src(Graphics "${SRC};${HDR}")
+file(GLOB HDR RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *.h)
+append_gmsh_src(src/graphics "${SRC};${HDR}")
diff --git a/Graphics/Camera.cpp b/src/graphics/Camera.cpp
similarity index 100%
rename from Graphics/Camera.cpp
rename to src/graphics/Camera.cpp
diff --git a/Graphics/Camera.h b/src/graphics/Camera.h
similarity index 100%
rename from Graphics/Camera.h
rename to src/graphics/Camera.h
diff --git a/Graphics/PixelBuffer.h b/src/graphics/PixelBuffer.h
similarity index 100%
rename from Graphics/PixelBuffer.h
rename to src/graphics/PixelBuffer.h
diff --git a/Graphics/ReadImg.cpp b/src/graphics/ReadImg.cpp
similarity index 100%
rename from Graphics/ReadImg.cpp
rename to src/graphics/ReadImg.cpp
diff --git a/Graphics/ReadImg.h b/src/graphics/ReadImg.h
similarity index 100%
rename from Graphics/ReadImg.h
rename to src/graphics/ReadImg.h
diff --git a/Graphics/Trackball.cpp b/src/graphics/Trackball.cpp
similarity index 100%
rename from Graphics/Trackball.cpp
rename to src/graphics/Trackball.cpp
diff --git a/Graphics/Trackball.h b/src/graphics/Trackball.h
similarity index 100%
rename from Graphics/Trackball.h
rename to src/graphics/Trackball.h
diff --git a/Graphics/drawAxes.cpp b/src/graphics/drawAxes.cpp
similarity index 100%
rename from Graphics/drawAxes.cpp
rename to src/graphics/drawAxes.cpp
diff --git a/Graphics/drawContext.cpp b/src/graphics/drawContext.cpp
similarity index 100%
rename from Graphics/drawContext.cpp
rename to src/graphics/drawContext.cpp
diff --git a/Graphics/drawContext.h b/src/graphics/drawContext.h
similarity index 100%
rename from Graphics/drawContext.h
rename to src/graphics/drawContext.h
diff --git a/Graphics/drawGeom.cpp b/src/graphics/drawGeom.cpp
similarity index 100%
rename from Graphics/drawGeom.cpp
rename to src/graphics/drawGeom.cpp
diff --git a/Graphics/drawGlyph.cpp b/src/graphics/drawGlyph.cpp
similarity index 100%
rename from Graphics/drawGlyph.cpp
rename to src/graphics/drawGlyph.cpp
diff --git a/Graphics/drawGraph2d.cpp b/src/graphics/drawGraph2d.cpp
similarity index 100%
rename from Graphics/drawGraph2d.cpp
rename to src/graphics/drawGraph2d.cpp
diff --git a/Graphics/drawMesh.cpp b/src/graphics/drawMesh.cpp
similarity index 100%
rename from Graphics/drawMesh.cpp
rename to src/graphics/drawMesh.cpp
diff --git a/Graphics/drawPost.cpp b/src/graphics/drawPost.cpp
similarity index 100%
rename from Graphics/drawPost.cpp
rename to src/graphics/drawPost.cpp
diff --git a/Graphics/drawScales.cpp b/src/graphics/drawScales.cpp
similarity index 100%
rename from Graphics/drawScales.cpp
rename to src/graphics/drawScales.cpp
diff --git a/Graphics/gl2gif.cpp b/src/graphics/gl2gif.cpp
similarity index 100%
rename from Graphics/gl2gif.cpp
rename to src/graphics/gl2gif.cpp
diff --git a/Graphics/gl2gif.h b/src/graphics/gl2gif.h
similarity index 100%
rename from Graphics/gl2gif.h
rename to src/graphics/gl2gif.h
diff --git a/Graphics/gl2jpeg.cpp b/src/graphics/gl2jpeg.cpp
similarity index 100%
rename from Graphics/gl2jpeg.cpp
rename to src/graphics/gl2jpeg.cpp
diff --git a/Graphics/gl2jpeg.h b/src/graphics/gl2jpeg.h
similarity index 100%
rename from Graphics/gl2jpeg.h
rename to src/graphics/gl2jpeg.h
diff --git a/Graphics/gl2pgf.cpp b/src/graphics/gl2pgf.cpp
similarity index 100%
rename from Graphics/gl2pgf.cpp
rename to src/graphics/gl2pgf.cpp
diff --git a/Graphics/gl2pgf.h b/src/graphics/gl2pgf.h
similarity index 100%
rename from Graphics/gl2pgf.h
rename to src/graphics/gl2pgf.h
diff --git a/Graphics/gl2png.cpp b/src/graphics/gl2png.cpp
similarity index 100%
rename from Graphics/gl2png.cpp
rename to src/graphics/gl2png.cpp
diff --git a/Graphics/gl2png.h b/src/graphics/gl2png.h
similarity index 100%
rename from Graphics/gl2png.h
rename to src/graphics/gl2png.h
diff --git a/Graphics/gl2ppm.cpp b/src/graphics/gl2ppm.cpp
similarity index 100%
rename from Graphics/gl2ppm.cpp
rename to src/graphics/gl2ppm.cpp
diff --git a/Graphics/gl2ppm.h b/src/graphics/gl2ppm.h
similarity index 100%
rename from Graphics/gl2ppm.h
rename to src/graphics/gl2ppm.h
diff --git a/Graphics/gl2ps.cpp b/src/graphics/gl2ps.cpp
similarity index 100%
rename from Graphics/gl2ps.cpp
rename to src/graphics/gl2ps.cpp
diff --git a/Graphics/gl2ps.h b/src/graphics/gl2ps.h
similarity index 100%
rename from Graphics/gl2ps.h
rename to src/graphics/gl2ps.h
diff --git a/Graphics/gl2yuv.cpp b/src/graphics/gl2yuv.cpp
similarity index 100%
rename from Graphics/gl2yuv.cpp
rename to src/graphics/gl2yuv.cpp
diff --git a/Graphics/gl2yuv.h b/src/graphics/gl2yuv.h
similarity index 100%
rename from Graphics/gl2yuv.h
rename to src/graphics/gl2yuv.h
diff --git a/Mesh/BDS.cpp b/src/mesh/BDS.cpp
similarity index 100%
rename from Mesh/BDS.cpp
rename to src/mesh/BDS.cpp
diff --git a/Mesh/BDS.h b/src/mesh/BDS.h
similarity index 100%
rename from Mesh/BDS.h
rename to src/mesh/BDS.h
diff --git a/Mesh/BackgroundMesh.cpp b/src/mesh/BackgroundMesh.cpp
similarity index 100%
rename from Mesh/BackgroundMesh.cpp
rename to src/mesh/BackgroundMesh.cpp
diff --git a/Mesh/BackgroundMesh.h b/src/mesh/BackgroundMesh.h
similarity index 100%
rename from Mesh/BackgroundMesh.h
rename to src/mesh/BackgroundMesh.h
diff --git a/Mesh/BackgroundMeshTools.cpp b/src/mesh/BackgroundMeshTools.cpp
similarity index 100%
rename from Mesh/BackgroundMeshTools.cpp
rename to src/mesh/BackgroundMeshTools.cpp
diff --git a/Mesh/BackgroundMeshTools.h b/src/mesh/BackgroundMeshTools.h
similarity index 100%
rename from Mesh/BackgroundMeshTools.h
rename to src/mesh/BackgroundMeshTools.h
diff --git a/Mesh/BoundaryLayers.cpp b/src/mesh/BoundaryLayers.cpp
similarity index 100%
rename from Mesh/BoundaryLayers.cpp
rename to src/mesh/BoundaryLayers.cpp
diff --git a/Mesh/BoundaryLayers.h b/src/mesh/BoundaryLayers.h
similarity index 100%
rename from Mesh/BoundaryLayers.h
rename to src/mesh/BoundaryLayers.h
diff --git a/Mesh/CMakeLists.txt b/src/mesh/CMakeLists.txt
similarity index 96%
rename from Mesh/CMakeLists.txt
rename to src/mesh/CMakeLists.txt
index 482c42b5c4..784b3adc1e 100644
--- a/Mesh/CMakeLists.txt
+++ b/src/mesh/CMakeLists.txt
@@ -42,4 +42,4 @@ set(SRC
 )
 
 file(GLOB HDR RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *.h)
-append_gmsh_src(Mesh "${SRC};${HDR}")
+append_gmsh_src(src/mesh "${SRC};${HDR}")
diff --git a/Mesh/DivideAndConquer.cpp b/src/mesh/DivideAndConquer.cpp
similarity index 100%
rename from Mesh/DivideAndConquer.cpp
rename to src/mesh/DivideAndConquer.cpp
diff --git a/Mesh/DivideAndConquer.h b/src/mesh/DivideAndConquer.h
similarity index 100%
rename from Mesh/DivideAndConquer.h
rename to src/mesh/DivideAndConquer.h
diff --git a/Mesh/Field.cpp b/src/mesh/Field.cpp
similarity index 100%
rename from Mesh/Field.cpp
rename to src/mesh/Field.cpp
diff --git a/Mesh/Field.h b/src/mesh/Field.h
similarity index 100%
rename from Mesh/Field.h
rename to src/mesh/Field.h
diff --git a/Mesh/FieldPython.h b/src/mesh/FieldPython.h
similarity index 100%
rename from Mesh/FieldPython.h
rename to src/mesh/FieldPython.h
diff --git a/Mesh/Generator.cpp b/src/mesh/Generator.cpp
similarity index 100%
rename from Mesh/Generator.cpp
rename to src/mesh/Generator.cpp
diff --git a/Mesh/Generator.h b/src/mesh/Generator.h
similarity index 100%
rename from Mesh/Generator.h
rename to src/mesh/Generator.h
diff --git a/Mesh/HighOrder.cpp b/src/mesh/HighOrder.cpp
similarity index 100%
rename from Mesh/HighOrder.cpp
rename to src/mesh/HighOrder.cpp
diff --git a/Mesh/HighOrder.h b/src/mesh/HighOrder.h
similarity index 100%
rename from Mesh/HighOrder.h
rename to src/mesh/HighOrder.h
diff --git a/Mesh/alphaShapes.cpp b/src/mesh/alphaShapes.cpp
similarity index 100%
rename from Mesh/alphaShapes.cpp
rename to src/mesh/alphaShapes.cpp
diff --git a/Mesh/automaticMeshSizeField.cpp b/src/mesh/automaticMeshSizeField.cpp
similarity index 100%
rename from Mesh/automaticMeshSizeField.cpp
rename to src/mesh/automaticMeshSizeField.cpp
diff --git a/Mesh/automaticMeshSizeField.h b/src/mesh/automaticMeshSizeField.h
similarity index 100%
rename from Mesh/automaticMeshSizeField.h
rename to src/mesh/automaticMeshSizeField.h
diff --git a/Mesh/delaunay3d.cpp b/src/mesh/delaunay3d.cpp
similarity index 100%
rename from Mesh/delaunay3d.cpp
rename to src/mesh/delaunay3d.cpp
diff --git a/Mesh/delaunay3d.h b/src/mesh/delaunay3d.h
similarity index 100%
rename from Mesh/delaunay3d.h
rename to src/mesh/delaunay3d.h
diff --git a/Mesh/filterElements.cpp b/src/mesh/filterElements.cpp
similarity index 100%
rename from Mesh/filterElements.cpp
rename to src/mesh/filterElements.cpp
diff --git a/Mesh/filterElements.h b/src/mesh/filterElements.h
similarity index 100%
rename from Mesh/filterElements.h
rename to src/mesh/filterElements.h
diff --git a/Mesh/gmshCrossFields.cpp b/src/mesh/gmshCrossFields.cpp
similarity index 100%
rename from Mesh/gmshCrossFields.cpp
rename to src/mesh/gmshCrossFields.cpp
diff --git a/Mesh/gmshCrossFields.h b/src/mesh/gmshCrossFields.h
similarity index 100%
rename from Mesh/gmshCrossFields.h
rename to src/mesh/gmshCrossFields.h
diff --git a/Mesh/meshGEdge.cpp b/src/mesh/meshGEdge.cpp
similarity index 100%
rename from Mesh/meshGEdge.cpp
rename to src/mesh/meshGEdge.cpp
diff --git a/Mesh/meshGEdge.h b/src/mesh/meshGEdge.h
similarity index 100%
rename from Mesh/meshGEdge.h
rename to src/mesh/meshGEdge.h
diff --git a/Mesh/meshGEdgeExtruded.cpp b/src/mesh/meshGEdgeExtruded.cpp
similarity index 100%
rename from Mesh/meshGEdgeExtruded.cpp
rename to src/mesh/meshGEdgeExtruded.cpp
diff --git a/Mesh/meshGFace.cpp b/src/mesh/meshGFace.cpp
similarity index 100%
rename from Mesh/meshGFace.cpp
rename to src/mesh/meshGFace.cpp
diff --git a/Mesh/meshGFace.h b/src/mesh/meshGFace.h
similarity index 100%
rename from Mesh/meshGFace.h
rename to src/mesh/meshGFace.h
diff --git a/Mesh/meshGFaceBDS.cpp b/src/mesh/meshGFaceBDS.cpp
similarity index 100%
rename from Mesh/meshGFaceBDS.cpp
rename to src/mesh/meshGFaceBDS.cpp
diff --git a/Mesh/meshGFaceBDS.h b/src/mesh/meshGFaceBDS.h
similarity index 100%
rename from Mesh/meshGFaceBDS.h
rename to src/mesh/meshGFaceBDS.h
diff --git a/Mesh/meshGFaceBamg.cpp b/src/mesh/meshGFaceBamg.cpp
similarity index 100%
rename from Mesh/meshGFaceBamg.cpp
rename to src/mesh/meshGFaceBamg.cpp
diff --git a/Mesh/meshGFaceBamg.h b/src/mesh/meshGFaceBamg.h
similarity index 100%
rename from Mesh/meshGFaceBamg.h
rename to src/mesh/meshGFaceBamg.h
diff --git a/Mesh/meshGFaceBipartiteLabelling.cpp b/src/mesh/meshGFaceBipartiteLabelling.cpp
similarity index 100%
rename from Mesh/meshGFaceBipartiteLabelling.cpp
rename to src/mesh/meshGFaceBipartiteLabelling.cpp
diff --git a/Mesh/meshGFaceBipartiteLabelling.h b/src/mesh/meshGFaceBipartiteLabelling.h
similarity index 100%
rename from Mesh/meshGFaceBipartiteLabelling.h
rename to src/mesh/meshGFaceBipartiteLabelling.h
diff --git a/Mesh/meshGFaceDelaunayInsertion.cpp b/src/mesh/meshGFaceDelaunayInsertion.cpp
similarity index 100%
rename from Mesh/meshGFaceDelaunayInsertion.cpp
rename to src/mesh/meshGFaceDelaunayInsertion.cpp
diff --git a/Mesh/meshGFaceDelaunayInsertion.h b/src/mesh/meshGFaceDelaunayInsertion.h
similarity index 100%
rename from Mesh/meshGFaceDelaunayInsertion.h
rename to src/mesh/meshGFaceDelaunayInsertion.h
diff --git a/Mesh/meshGFaceExtruded.cpp b/src/mesh/meshGFaceExtruded.cpp
similarity index 100%
rename from Mesh/meshGFaceExtruded.cpp
rename to src/mesh/meshGFaceExtruded.cpp
diff --git a/Mesh/meshGFaceOptimize.cpp b/src/mesh/meshGFaceOptimize.cpp
similarity index 100%
rename from Mesh/meshGFaceOptimize.cpp
rename to src/mesh/meshGFaceOptimize.cpp
diff --git a/Mesh/meshGFaceOptimize.h b/src/mesh/meshGFaceOptimize.h
similarity index 100%
rename from Mesh/meshGFaceOptimize.h
rename to src/mesh/meshGFaceOptimize.h
diff --git a/Mesh/meshGFacePack.cpp b/src/mesh/meshGFacePack.cpp
similarity index 100%
rename from Mesh/meshGFacePack.cpp
rename to src/mesh/meshGFacePack.cpp
diff --git a/Mesh/meshGFaceTransfinite.cpp b/src/mesh/meshGFaceTransfinite.cpp
similarity index 100%
rename from Mesh/meshGFaceTransfinite.cpp
rename to src/mesh/meshGFaceTransfinite.cpp
diff --git a/Mesh/meshGRegion.cpp b/src/mesh/meshGRegion.cpp
similarity index 100%
rename from Mesh/meshGRegion.cpp
rename to src/mesh/meshGRegion.cpp
diff --git a/Mesh/meshGRegion.h b/src/mesh/meshGRegion.h
similarity index 100%
rename from Mesh/meshGRegion.h
rename to src/mesh/meshGRegion.h
diff --git a/Mesh/meshGRegionBoundaryLayer.cpp b/src/mesh/meshGRegionBoundaryLayer.cpp
similarity index 100%
rename from Mesh/meshGRegionBoundaryLayer.cpp
rename to src/mesh/meshGRegionBoundaryLayer.cpp
diff --git a/Mesh/meshGRegionBoundaryRecovery.cpp b/src/mesh/meshGRegionBoundaryRecovery.cpp
similarity index 100%
rename from Mesh/meshGRegionBoundaryRecovery.cpp
rename to src/mesh/meshGRegionBoundaryRecovery.cpp
diff --git a/Mesh/meshGRegionBoundaryRecovery.h b/src/mesh/meshGRegionBoundaryRecovery.h
similarity index 100%
rename from Mesh/meshGRegionBoundaryRecovery.h
rename to src/mesh/meshGRegionBoundaryRecovery.h
diff --git a/Mesh/meshGRegionCarveHole.cpp b/src/mesh/meshGRegionCarveHole.cpp
similarity index 100%
rename from Mesh/meshGRegionCarveHole.cpp
rename to src/mesh/meshGRegionCarveHole.cpp
diff --git a/Mesh/meshGRegionDelaunayInsertion.cpp b/src/mesh/meshGRegionDelaunayInsertion.cpp
similarity index 100%
rename from Mesh/meshGRegionDelaunayInsertion.cpp
rename to src/mesh/meshGRegionDelaunayInsertion.cpp
diff --git a/Mesh/meshGRegionDelaunayInsertion.h b/src/mesh/meshGRegionDelaunayInsertion.h
similarity index 100%
rename from Mesh/meshGRegionDelaunayInsertion.h
rename to src/mesh/meshGRegionDelaunayInsertion.h
diff --git a/Mesh/meshGRegionExtruded.cpp b/src/mesh/meshGRegionExtruded.cpp
similarity index 100%
rename from Mesh/meshGRegionExtruded.cpp
rename to src/mesh/meshGRegionExtruded.cpp
diff --git a/Mesh/meshGRegionHxt.cpp b/src/mesh/meshGRegionHxt.cpp
similarity index 100%
rename from Mesh/meshGRegionHxt.cpp
rename to src/mesh/meshGRegionHxt.cpp
diff --git a/Mesh/meshGRegionHxt.h b/src/mesh/meshGRegionHxt.h
similarity index 100%
rename from Mesh/meshGRegionHxt.h
rename to src/mesh/meshGRegionHxt.h
diff --git a/Mesh/meshGRegionLocalMeshMod.cpp b/src/mesh/meshGRegionLocalMeshMod.cpp
similarity index 100%
rename from Mesh/meshGRegionLocalMeshMod.cpp
rename to src/mesh/meshGRegionLocalMeshMod.cpp
diff --git a/Mesh/meshGRegionLocalMeshMod.h b/src/mesh/meshGRegionLocalMeshMod.h
similarity index 100%
rename from Mesh/meshGRegionLocalMeshMod.h
rename to src/mesh/meshGRegionLocalMeshMod.h
diff --git a/Mesh/meshGRegionMMG.cpp b/src/mesh/meshGRegionMMG.cpp
similarity index 100%
rename from Mesh/meshGRegionMMG.cpp
rename to src/mesh/meshGRegionMMG.cpp
diff --git a/Mesh/meshGRegionMMG.h b/src/mesh/meshGRegionMMG.h
similarity index 100%
rename from Mesh/meshGRegionMMG.h
rename to src/mesh/meshGRegionMMG.h
diff --git a/Mesh/meshGRegionNetgen.cpp b/src/mesh/meshGRegionNetgen.cpp
similarity index 100%
rename from Mesh/meshGRegionNetgen.cpp
rename to src/mesh/meshGRegionNetgen.cpp
diff --git a/Mesh/meshGRegionNetgen.h b/src/mesh/meshGRegionNetgen.h
similarity index 100%
rename from Mesh/meshGRegionNetgen.h
rename to src/mesh/meshGRegionNetgen.h
diff --git a/Mesh/meshGRegionTransfinite.cpp b/src/mesh/meshGRegionTransfinite.cpp
similarity index 100%
rename from Mesh/meshGRegionTransfinite.cpp
rename to src/mesh/meshGRegionTransfinite.cpp
diff --git a/Mesh/meshMetric.cpp b/src/mesh/meshMetric.cpp
similarity index 100%
rename from Mesh/meshMetric.cpp
rename to src/mesh/meshMetric.cpp
diff --git a/Mesh/meshMetric.h b/src/mesh/meshMetric.h
similarity index 100%
rename from Mesh/meshMetric.h
rename to src/mesh/meshMetric.h
diff --git a/Mesh/meshOctreeLibOL.cpp b/src/mesh/meshOctreeLibOL.cpp
similarity index 100%
rename from Mesh/meshOctreeLibOL.cpp
rename to src/mesh/meshOctreeLibOL.cpp
diff --git a/Mesh/meshOctreeLibOL.h b/src/mesh/meshOctreeLibOL.h
similarity index 100%
rename from Mesh/meshOctreeLibOL.h
rename to src/mesh/meshOctreeLibOL.h
diff --git a/Mesh/meshPartition.cpp b/src/mesh/meshPartition.cpp
similarity index 100%
rename from Mesh/meshPartition.cpp
rename to src/mesh/meshPartition.cpp
diff --git a/Mesh/meshPartition.h b/src/mesh/meshPartition.h
similarity index 100%
rename from Mesh/meshPartition.h
rename to src/mesh/meshPartition.h
diff --git a/Mesh/meshPolyMesh.h b/src/mesh/meshPolyMesh.h
similarity index 99%
rename from Mesh/meshPolyMesh.h
rename to src/mesh/meshPolyMesh.h
index 2d30a0c6f3..fa41725597 100644
--- a/Mesh/meshPolyMesh.h
+++ b/src/mesh/meshPolyMesh.h
@@ -10,7 +10,7 @@
 #include <algorithm>
 #include <stack>
 #include <stdio.h>
-#include "../Geo/SVector3.h"
+#include "SVector3.h"
 
 class PolyMesh {
 public:
diff --git a/Mesh/meshQuadQuasiStructured.cpp b/src/mesh/meshQuadQuasiStructured.cpp
similarity index 100%
rename from Mesh/meshQuadQuasiStructured.cpp
rename to src/mesh/meshQuadQuasiStructured.cpp
diff --git a/Mesh/meshQuadQuasiStructured.h b/src/mesh/meshQuadQuasiStructured.h
similarity index 100%
rename from Mesh/meshQuadQuasiStructured.h
rename to src/mesh/meshQuadQuasiStructured.h
diff --git a/Mesh/meshRefine.cpp b/src/mesh/meshRefine.cpp
similarity index 100%
rename from Mesh/meshRefine.cpp
rename to src/mesh/meshRefine.cpp
diff --git a/Mesh/meshRefine.h b/src/mesh/meshRefine.h
similarity index 100%
rename from Mesh/meshRefine.h
rename to src/mesh/meshRefine.h
diff --git a/Mesh/meshRelocateVertex.cpp b/src/mesh/meshRelocateVertex.cpp
similarity index 100%
rename from Mesh/meshRelocateVertex.cpp
rename to src/mesh/meshRelocateVertex.cpp
diff --git a/Mesh/meshRelocateVertex.h b/src/mesh/meshRelocateVertex.h
similarity index 100%
rename from Mesh/meshRelocateVertex.h
rename to src/mesh/meshRelocateVertex.h
diff --git a/Mesh/meshTriangulation.cpp b/src/mesh/meshTriangulation.cpp
similarity index 100%
rename from Mesh/meshTriangulation.cpp
rename to src/mesh/meshTriangulation.cpp
diff --git a/Mesh/meshTriangulation.h b/src/mesh/meshTriangulation.h
similarity index 100%
rename from Mesh/meshTriangulation.h
rename to src/mesh/meshTriangulation.h
diff --git a/Mesh/qualityMeasures.cpp b/src/mesh/qualityMeasures.cpp
similarity index 100%
rename from Mesh/qualityMeasures.cpp
rename to src/mesh/qualityMeasures.cpp
diff --git a/Mesh/qualityMeasures.h b/src/mesh/qualityMeasures.h
similarity index 100%
rename from Mesh/qualityMeasures.h
rename to src/mesh/qualityMeasures.h
diff --git a/Mesh/qualityMeasuresJacobian.cpp b/src/mesh/qualityMeasuresJacobian.cpp
similarity index 100%
rename from Mesh/qualityMeasuresJacobian.cpp
rename to src/mesh/qualityMeasuresJacobian.cpp
diff --git a/Mesh/qualityMeasuresJacobian.h b/src/mesh/qualityMeasuresJacobian.h
similarity index 100%
rename from Mesh/qualityMeasuresJacobian.h
rename to src/mesh/qualityMeasuresJacobian.h
diff --git a/Mesh/sizeField.cpp b/src/mesh/sizeField.cpp
similarity index 100%
rename from Mesh/sizeField.cpp
rename to src/mesh/sizeField.cpp
diff --git a/Mesh/sizeField.h b/src/mesh/sizeField.h
similarity index 100%
rename from Mesh/sizeField.h
rename to src/mesh/sizeField.h
diff --git a/Mesh/tetgenBR.cxx b/src/mesh/tetgenBR.cxx
similarity index 100%
rename from Mesh/tetgenBR.cxx
rename to src/mesh/tetgenBR.cxx
diff --git a/Mesh/tetgenBR.h b/src/mesh/tetgenBR.h
similarity index 99%
rename from Mesh/tetgenBR.h
rename to src/mesh/tetgenBR.h
index f634eb62a2..8df8eebeb1 100644
--- a/Mesh/tetgenBR.h
+++ b/src/mesh/tetgenBR.h
@@ -1322,7 +1322,7 @@ public:
   void carveholes();
 
   // Comment: These three functions are implemented directly in:
-  //   gmsh_wrk/Mesh/meshGRegionBoundaryRecovery.cpp
+  // src/mesh/meshGRegionBoundaryRecovery.cpp
   bool reconstructmesh(void *);
   void outsurfacemesh(const char *mfilename);
   void outmesh2medit(const char *mfilename);
diff --git a/Numeric/BasisFactory.cpp b/src/numeric/BasisFactory.cpp
similarity index 100%
rename from Numeric/BasisFactory.cpp
rename to src/numeric/BasisFactory.cpp
diff --git a/Numeric/BasisFactory.h b/src/numeric/BasisFactory.h
similarity index 100%
rename from Numeric/BasisFactory.h
rename to src/numeric/BasisFactory.h
diff --git a/Numeric/BergotBasis.cpp b/src/numeric/BergotBasis.cpp
similarity index 100%
rename from Numeric/BergotBasis.cpp
rename to src/numeric/BergotBasis.cpp
diff --git a/Numeric/BergotBasis.h b/src/numeric/BergotBasis.h
similarity index 100%
rename from Numeric/BergotBasis.h
rename to src/numeric/BergotBasis.h
diff --git a/Numeric/CMakeLists.txt b/src/numeric/CMakeLists.txt
similarity index 97%
rename from Numeric/CMakeLists.txt
rename to src/numeric/CMakeLists.txt
index 593eebca17..debe4900db 100644
--- a/Numeric/CMakeLists.txt
+++ b/src/numeric/CMakeLists.txt
@@ -60,4 +60,4 @@ set(SRC
 )
 
 file(GLOB HDR RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *.h)
-append_gmsh_src(Numeric "${SRC};${HDR}")
+append_gmsh_src(src/numeric "${SRC};${HDR}")
diff --git a/Numeric/CondNumBasis.cpp b/src/numeric/CondNumBasis.cpp
similarity index 100%
rename from Numeric/CondNumBasis.cpp
rename to src/numeric/CondNumBasis.cpp
diff --git a/Numeric/CondNumBasis.h b/src/numeric/CondNumBasis.h
similarity index 100%
rename from Numeric/CondNumBasis.h
rename to src/numeric/CondNumBasis.h
diff --git a/Numeric/ConjugateGradients.cpp b/src/numeric/ConjugateGradients.cpp
similarity index 100%
rename from Numeric/ConjugateGradients.cpp
rename to src/numeric/ConjugateGradients.cpp
diff --git a/Numeric/ConjugateGradients.h b/src/numeric/ConjugateGradients.h
similarity index 100%
rename from Numeric/ConjugateGradients.h
rename to src/numeric/ConjugateGradients.h
diff --git a/Numeric/ElementType.cpp b/src/numeric/ElementType.cpp
similarity index 100%
rename from Numeric/ElementType.cpp
rename to src/numeric/ElementType.cpp
diff --git a/Numeric/ElementType.h b/src/numeric/ElementType.h
similarity index 100%
rename from Numeric/ElementType.h
rename to src/numeric/ElementType.h
diff --git a/Numeric/FuncSpaceData.cpp b/src/numeric/FuncSpaceData.cpp
similarity index 100%
rename from Numeric/FuncSpaceData.cpp
rename to src/numeric/FuncSpaceData.cpp
diff --git a/Numeric/FuncSpaceData.h b/src/numeric/FuncSpaceData.h
similarity index 100%
rename from Numeric/FuncSpaceData.h
rename to src/numeric/FuncSpaceData.h
diff --git a/Numeric/GaussIntegration.cpp b/src/numeric/GaussIntegration.cpp
similarity index 100%
rename from Numeric/GaussIntegration.cpp
rename to src/numeric/GaussIntegration.cpp
diff --git a/Numeric/GaussIntegration.h b/src/numeric/GaussIntegration.h
similarity index 100%
rename from Numeric/GaussIntegration.h
rename to src/numeric/GaussIntegration.h
diff --git a/Numeric/GaussJacobi1D.cpp b/src/numeric/GaussJacobi1D.cpp
similarity index 100%
rename from Numeric/GaussJacobi1D.cpp
rename to src/numeric/GaussJacobi1D.cpp
diff --git a/Numeric/GaussJacobi1D.h b/src/numeric/GaussJacobi1D.h
similarity index 100%
rename from Numeric/GaussJacobi1D.h
rename to src/numeric/GaussJacobi1D.h
diff --git a/Numeric/GaussLegendre1D.h b/src/numeric/GaussLegendre1D.h
similarity index 100%
rename from Numeric/GaussLegendre1D.h
rename to src/numeric/GaussLegendre1D.h
diff --git a/Numeric/GaussLegendreSimplex.cpp b/src/numeric/GaussLegendreSimplex.cpp
similarity index 100%
rename from Numeric/GaussLegendreSimplex.cpp
rename to src/numeric/GaussLegendreSimplex.cpp
diff --git a/Numeric/GaussQuadratureHex.cpp b/src/numeric/GaussQuadratureHex.cpp
similarity index 100%
rename from Numeric/GaussQuadratureHex.cpp
rename to src/numeric/GaussQuadratureHex.cpp
diff --git a/Numeric/GaussQuadratureLin.cpp b/src/numeric/GaussQuadratureLin.cpp
similarity index 100%
rename from Numeric/GaussQuadratureLin.cpp
rename to src/numeric/GaussQuadratureLin.cpp
diff --git a/Numeric/GaussQuadraturePri.cpp b/src/numeric/GaussQuadraturePri.cpp
similarity index 100%
rename from Numeric/GaussQuadraturePri.cpp
rename to src/numeric/GaussQuadraturePri.cpp
diff --git a/Numeric/GaussQuadraturePyr.cpp b/src/numeric/GaussQuadraturePyr.cpp
similarity index 100%
rename from Numeric/GaussQuadraturePyr.cpp
rename to src/numeric/GaussQuadraturePyr.cpp
diff --git a/Numeric/GaussQuadratureQuad.cpp b/src/numeric/GaussQuadratureQuad.cpp
similarity index 100%
rename from Numeric/GaussQuadratureQuad.cpp
rename to src/numeric/GaussQuadratureQuad.cpp
diff --git a/Numeric/GaussQuadratureTet.cpp b/src/numeric/GaussQuadratureTet.cpp
similarity index 100%
rename from Numeric/GaussQuadratureTet.cpp
rename to src/numeric/GaussQuadratureTet.cpp
diff --git a/Numeric/GaussQuadratureTri.cpp b/src/numeric/GaussQuadratureTri.cpp
similarity index 100%
rename from Numeric/GaussQuadratureTri.cpp
rename to src/numeric/GaussQuadratureTri.cpp
diff --git a/Numeric/HierarchicalBasis.cpp b/src/numeric/HierarchicalBasis.cpp
similarity index 100%
rename from Numeric/HierarchicalBasis.cpp
rename to src/numeric/HierarchicalBasis.cpp
diff --git a/Numeric/HierarchicalBasis.h b/src/numeric/HierarchicalBasis.h
similarity index 100%
rename from Numeric/HierarchicalBasis.h
rename to src/numeric/HierarchicalBasis.h
diff --git a/Numeric/HierarchicalBasisH1.cpp b/src/numeric/HierarchicalBasisH1.cpp
similarity index 100%
rename from Numeric/HierarchicalBasisH1.cpp
rename to src/numeric/HierarchicalBasisH1.cpp
diff --git a/Numeric/HierarchicalBasisH1.h b/src/numeric/HierarchicalBasisH1.h
similarity index 100%
rename from Numeric/HierarchicalBasisH1.h
rename to src/numeric/HierarchicalBasisH1.h
diff --git a/Numeric/HierarchicalBasisH1Brick.cpp b/src/numeric/HierarchicalBasisH1Brick.cpp
similarity index 100%
rename from Numeric/HierarchicalBasisH1Brick.cpp
rename to src/numeric/HierarchicalBasisH1Brick.cpp
diff --git a/Numeric/HierarchicalBasisH1Brick.h b/src/numeric/HierarchicalBasisH1Brick.h
similarity index 100%
rename from Numeric/HierarchicalBasisH1Brick.h
rename to src/numeric/HierarchicalBasisH1Brick.h
diff --git a/Numeric/HierarchicalBasisH1Line.cpp b/src/numeric/HierarchicalBasisH1Line.cpp
similarity index 100%
rename from Numeric/HierarchicalBasisH1Line.cpp
rename to src/numeric/HierarchicalBasisH1Line.cpp
diff --git a/Numeric/HierarchicalBasisH1Line.h b/src/numeric/HierarchicalBasisH1Line.h
similarity index 100%
rename from Numeric/HierarchicalBasisH1Line.h
rename to src/numeric/HierarchicalBasisH1Line.h
diff --git a/Numeric/HierarchicalBasisH1Point.cpp b/src/numeric/HierarchicalBasisH1Point.cpp
similarity index 100%
rename from Numeric/HierarchicalBasisH1Point.cpp
rename to src/numeric/HierarchicalBasisH1Point.cpp
diff --git a/Numeric/HierarchicalBasisH1Point.h b/src/numeric/HierarchicalBasisH1Point.h
similarity index 100%
rename from Numeric/HierarchicalBasisH1Point.h
rename to src/numeric/HierarchicalBasisH1Point.h
diff --git a/Numeric/HierarchicalBasisH1Pri.cpp b/src/numeric/HierarchicalBasisH1Pri.cpp
similarity index 100%
rename from Numeric/HierarchicalBasisH1Pri.cpp
rename to src/numeric/HierarchicalBasisH1Pri.cpp
diff --git a/Numeric/HierarchicalBasisH1Pri.h b/src/numeric/HierarchicalBasisH1Pri.h
similarity index 100%
rename from Numeric/HierarchicalBasisH1Pri.h
rename to src/numeric/HierarchicalBasisH1Pri.h
diff --git a/Numeric/HierarchicalBasisH1Quad.cpp b/src/numeric/HierarchicalBasisH1Quad.cpp
similarity index 100%
rename from Numeric/HierarchicalBasisH1Quad.cpp
rename to src/numeric/HierarchicalBasisH1Quad.cpp
diff --git a/Numeric/HierarchicalBasisH1Quad.h b/src/numeric/HierarchicalBasisH1Quad.h
similarity index 100%
rename from Numeric/HierarchicalBasisH1Quad.h
rename to src/numeric/HierarchicalBasisH1Quad.h
diff --git a/Numeric/HierarchicalBasisH1Tetra.cpp b/src/numeric/HierarchicalBasisH1Tetra.cpp
similarity index 100%
rename from Numeric/HierarchicalBasisH1Tetra.cpp
rename to src/numeric/HierarchicalBasisH1Tetra.cpp
diff --git a/Numeric/HierarchicalBasisH1Tetra.h b/src/numeric/HierarchicalBasisH1Tetra.h
similarity index 100%
rename from Numeric/HierarchicalBasisH1Tetra.h
rename to src/numeric/HierarchicalBasisH1Tetra.h
diff --git a/Numeric/HierarchicalBasisH1Tria.cpp b/src/numeric/HierarchicalBasisH1Tria.cpp
similarity index 100%
rename from Numeric/HierarchicalBasisH1Tria.cpp
rename to src/numeric/HierarchicalBasisH1Tria.cpp
diff --git a/Numeric/HierarchicalBasisH1Tria.h b/src/numeric/HierarchicalBasisH1Tria.h
similarity index 100%
rename from Numeric/HierarchicalBasisH1Tria.h
rename to src/numeric/HierarchicalBasisH1Tria.h
diff --git a/Numeric/HierarchicalBasisHcurl.cpp b/src/numeric/HierarchicalBasisHcurl.cpp
similarity index 100%
rename from Numeric/HierarchicalBasisHcurl.cpp
rename to src/numeric/HierarchicalBasisHcurl.cpp
diff --git a/Numeric/HierarchicalBasisHcurl.h b/src/numeric/HierarchicalBasisHcurl.h
similarity index 100%
rename from Numeric/HierarchicalBasisHcurl.h
rename to src/numeric/HierarchicalBasisHcurl.h
diff --git a/Numeric/HierarchicalBasisHcurlBrick.cpp b/src/numeric/HierarchicalBasisHcurlBrick.cpp
similarity index 100%
rename from Numeric/HierarchicalBasisHcurlBrick.cpp
rename to src/numeric/HierarchicalBasisHcurlBrick.cpp
diff --git a/Numeric/HierarchicalBasisHcurlBrick.h b/src/numeric/HierarchicalBasisHcurlBrick.h
similarity index 100%
rename from Numeric/HierarchicalBasisHcurlBrick.h
rename to src/numeric/HierarchicalBasisHcurlBrick.h
diff --git a/Numeric/HierarchicalBasisHcurlLine.cpp b/src/numeric/HierarchicalBasisHcurlLine.cpp
similarity index 100%
rename from Numeric/HierarchicalBasisHcurlLine.cpp
rename to src/numeric/HierarchicalBasisHcurlLine.cpp
diff --git a/Numeric/HierarchicalBasisHcurlLine.h b/src/numeric/HierarchicalBasisHcurlLine.h
similarity index 100%
rename from Numeric/HierarchicalBasisHcurlLine.h
rename to src/numeric/HierarchicalBasisHcurlLine.h
diff --git a/Numeric/HierarchicalBasisHcurlPri.cpp b/src/numeric/HierarchicalBasisHcurlPri.cpp
similarity index 100%
rename from Numeric/HierarchicalBasisHcurlPri.cpp
rename to src/numeric/HierarchicalBasisHcurlPri.cpp
diff --git a/Numeric/HierarchicalBasisHcurlPri.h b/src/numeric/HierarchicalBasisHcurlPri.h
similarity index 100%
rename from Numeric/HierarchicalBasisHcurlPri.h
rename to src/numeric/HierarchicalBasisHcurlPri.h
diff --git a/Numeric/HierarchicalBasisHcurlQuad.cpp b/src/numeric/HierarchicalBasisHcurlQuad.cpp
similarity index 100%
rename from Numeric/HierarchicalBasisHcurlQuad.cpp
rename to src/numeric/HierarchicalBasisHcurlQuad.cpp
diff --git a/Numeric/HierarchicalBasisHcurlQuad.h b/src/numeric/HierarchicalBasisHcurlQuad.h
similarity index 100%
rename from Numeric/HierarchicalBasisHcurlQuad.h
rename to src/numeric/HierarchicalBasisHcurlQuad.h
diff --git a/Numeric/HierarchicalBasisHcurlTetra.cpp b/src/numeric/HierarchicalBasisHcurlTetra.cpp
similarity index 100%
rename from Numeric/HierarchicalBasisHcurlTetra.cpp
rename to src/numeric/HierarchicalBasisHcurlTetra.cpp
diff --git a/Numeric/HierarchicalBasisHcurlTetra.h b/src/numeric/HierarchicalBasisHcurlTetra.h
similarity index 100%
rename from Numeric/HierarchicalBasisHcurlTetra.h
rename to src/numeric/HierarchicalBasisHcurlTetra.h
diff --git a/Numeric/HierarchicalBasisHcurlTria.cpp b/src/numeric/HierarchicalBasisHcurlTria.cpp
similarity index 100%
rename from Numeric/HierarchicalBasisHcurlTria.cpp
rename to src/numeric/HierarchicalBasisHcurlTria.cpp
diff --git a/Numeric/HierarchicalBasisHcurlTria.h b/src/numeric/HierarchicalBasisHcurlTria.h
similarity index 100%
rename from Numeric/HierarchicalBasisHcurlTria.h
rename to src/numeric/HierarchicalBasisHcurlTria.h
diff --git a/Numeric/HilbertCurve.cpp b/src/numeric/HilbertCurve.cpp
similarity index 100%
rename from Numeric/HilbertCurve.cpp
rename to src/numeric/HilbertCurve.cpp
diff --git a/Numeric/HilbertCurve.h b/src/numeric/HilbertCurve.h
similarity index 100%
rename from Numeric/HilbertCurve.h
rename to src/numeric/HilbertCurve.h
diff --git a/Numeric/InnerVertexPlacement.cpp b/src/numeric/InnerVertexPlacement.cpp
similarity index 100%
rename from Numeric/InnerVertexPlacement.cpp
rename to src/numeric/InnerVertexPlacement.cpp
diff --git a/Numeric/InnerVertexPlacement.h b/src/numeric/InnerVertexPlacement.h
similarity index 100%
rename from Numeric/InnerVertexPlacement.h
rename to src/numeric/InnerVertexPlacement.h
diff --git a/Numeric/Iso.cpp b/src/numeric/Iso.cpp
similarity index 100%
rename from Numeric/Iso.cpp
rename to src/numeric/Iso.cpp
diff --git a/Numeric/Iso.h b/src/numeric/Iso.h
similarity index 100%
rename from Numeric/Iso.h
rename to src/numeric/Iso.h
diff --git a/Numeric/JacobianBasis.cpp b/src/numeric/JacobianBasis.cpp
similarity index 100%
rename from Numeric/JacobianBasis.cpp
rename to src/numeric/JacobianBasis.cpp
diff --git a/Numeric/JacobianBasis.h b/src/numeric/JacobianBasis.h
similarity index 100%
rename from Numeric/JacobianBasis.h
rename to src/numeric/JacobianBasis.h
diff --git a/Numeric/Numeric.cpp b/src/numeric/Numeric.cpp
similarity index 100%
rename from Numeric/Numeric.cpp
rename to src/numeric/Numeric.cpp
diff --git a/Numeric/Numeric.h b/src/numeric/Numeric.h
similarity index 100%
rename from Numeric/Numeric.h
rename to src/numeric/Numeric.h
diff --git a/Numeric/OrthogonalPoly.cpp b/src/numeric/OrthogonalPoly.cpp
similarity index 100%
rename from Numeric/OrthogonalPoly.cpp
rename to src/numeric/OrthogonalPoly.cpp
diff --git a/Numeric/OrthogonalPoly.h b/src/numeric/OrthogonalPoly.h
similarity index 100%
rename from Numeric/OrthogonalPoly.h
rename to src/numeric/OrthogonalPoly.h
diff --git a/Numeric/approximationError.cpp b/src/numeric/approximationError.cpp
similarity index 100%
rename from Numeric/approximationError.cpp
rename to src/numeric/approximationError.cpp
diff --git a/Numeric/approximationError.h b/src/numeric/approximationError.h
similarity index 100%
rename from Numeric/approximationError.h
rename to src/numeric/approximationError.h
diff --git a/Numeric/bezierBasis.cpp b/src/numeric/bezierBasis.cpp
similarity index 100%
rename from Numeric/bezierBasis.cpp
rename to src/numeric/bezierBasis.cpp
diff --git a/Numeric/bezierBasis.h b/src/numeric/bezierBasis.h
similarity index 100%
rename from Numeric/bezierBasis.h
rename to src/numeric/bezierBasis.h
diff --git a/Numeric/cartesian.h b/src/numeric/cartesian.h
similarity index 100%
rename from Numeric/cartesian.h
rename to src/numeric/cartesian.h
diff --git a/Numeric/curvature.cpp b/src/numeric/curvature.cpp
similarity index 100%
rename from Numeric/curvature.cpp
rename to src/numeric/curvature.cpp
diff --git a/Numeric/curvature.h b/src/numeric/curvature.h
similarity index 100%
rename from Numeric/curvature.h
rename to src/numeric/curvature.h
diff --git a/Numeric/decasteljau.cpp b/src/numeric/decasteljau.cpp
similarity index 100%
rename from Numeric/decasteljau.cpp
rename to src/numeric/decasteljau.cpp
diff --git a/Numeric/decasteljau.h b/src/numeric/decasteljau.h
similarity index 100%
rename from Numeric/decasteljau.h
rename to src/numeric/decasteljau.h
diff --git a/Numeric/discreteFrechetDistance.cpp b/src/numeric/discreteFrechetDistance.cpp
similarity index 100%
rename from Numeric/discreteFrechetDistance.cpp
rename to src/numeric/discreteFrechetDistance.cpp
diff --git a/Numeric/discreteFrechetDistance.h b/src/numeric/discreteFrechetDistance.h
similarity index 100%
rename from Numeric/discreteFrechetDistance.h
rename to src/numeric/discreteFrechetDistance.h
diff --git a/Numeric/fullMatrix.cpp b/src/numeric/fullMatrix.cpp
similarity index 100%
rename from Numeric/fullMatrix.cpp
rename to src/numeric/fullMatrix.cpp
diff --git a/Numeric/fullMatrix.h b/src/numeric/fullMatrix.h
similarity index 100%
rename from Numeric/fullMatrix.h
rename to src/numeric/fullMatrix.h
diff --git a/Numeric/hausdorffDistance.cpp b/src/numeric/hausdorffDistance.cpp
similarity index 100%
rename from Numeric/hausdorffDistance.cpp
rename to src/numeric/hausdorffDistance.cpp
diff --git a/Numeric/hausdorffDistance.h b/src/numeric/hausdorffDistance.h
similarity index 100%
rename from Numeric/hausdorffDistance.h
rename to src/numeric/hausdorffDistance.h
diff --git a/Numeric/incompleteBasis.cpp b/src/numeric/incompleteBasis.cpp
similarity index 100%
rename from Numeric/incompleteBasis.cpp
rename to src/numeric/incompleteBasis.cpp
diff --git a/Numeric/incompleteBasis.h b/src/numeric/incompleteBasis.h
similarity index 100%
rename from Numeric/incompleteBasis.h
rename to src/numeric/incompleteBasis.h
diff --git a/Numeric/mathEvaluator.cpp b/src/numeric/mathEvaluator.cpp
similarity index 100%
rename from Numeric/mathEvaluator.cpp
rename to src/numeric/mathEvaluator.cpp
diff --git a/Numeric/mathEvaluator.h b/src/numeric/mathEvaluator.h
similarity index 100%
rename from Numeric/mathEvaluator.h
rename to src/numeric/mathEvaluator.h
diff --git a/Numeric/miniBasis.cpp b/src/numeric/miniBasis.cpp
similarity index 100%
rename from Numeric/miniBasis.cpp
rename to src/numeric/miniBasis.cpp
diff --git a/Numeric/miniBasis.h b/src/numeric/miniBasis.h
similarity index 100%
rename from Numeric/miniBasis.h
rename to src/numeric/miniBasis.h
diff --git a/Numeric/nanoflann.hpp b/src/numeric/nanoflann.hpp
similarity index 100%
rename from Numeric/nanoflann.hpp
rename to src/numeric/nanoflann.hpp
diff --git a/Numeric/nodalBasis.cpp b/src/numeric/nodalBasis.cpp
similarity index 100%
rename from Numeric/nodalBasis.cpp
rename to src/numeric/nodalBasis.cpp
diff --git a/Numeric/nodalBasis.h b/src/numeric/nodalBasis.h
similarity index 100%
rename from Numeric/nodalBasis.h
rename to src/numeric/nodalBasis.h
diff --git a/Numeric/orthogonalBasis.cpp b/src/numeric/orthogonalBasis.cpp
similarity index 100%
rename from Numeric/orthogonalBasis.cpp
rename to src/numeric/orthogonalBasis.cpp
diff --git a/Numeric/orthogonalBasis.h b/src/numeric/orthogonalBasis.h
similarity index 100%
rename from Numeric/orthogonalBasis.h
rename to src/numeric/orthogonalBasis.h
diff --git a/Numeric/pointsGenerators.cpp b/src/numeric/pointsGenerators.cpp
similarity index 100%
rename from Numeric/pointsGenerators.cpp
rename to src/numeric/pointsGenerators.cpp
diff --git a/Numeric/pointsGenerators.h b/src/numeric/pointsGenerators.h
similarity index 100%
rename from Numeric/pointsGenerators.h
rename to src/numeric/pointsGenerators.h
diff --git a/Numeric/polynomialBasis.cpp b/src/numeric/polynomialBasis.cpp
similarity index 100%
rename from Numeric/polynomialBasis.cpp
rename to src/numeric/polynomialBasis.cpp
diff --git a/Numeric/polynomialBasis.h b/src/numeric/polynomialBasis.h
similarity index 100%
rename from Numeric/polynomialBasis.h
rename to src/numeric/polynomialBasis.h
diff --git a/Numeric/pyramidalBasis.cpp b/src/numeric/pyramidalBasis.cpp
similarity index 100%
rename from Numeric/pyramidalBasis.cpp
rename to src/numeric/pyramidalBasis.cpp
diff --git a/Numeric/pyramidalBasis.h b/src/numeric/pyramidalBasis.h
similarity index 100%
rename from Numeric/pyramidalBasis.h
rename to src/numeric/pyramidalBasis.h
diff --git a/Numeric/robustPredicates.cpp b/src/numeric/robustPredicates.cpp
similarity index 100%
rename from Numeric/robustPredicates.cpp
rename to src/numeric/robustPredicates.cpp
diff --git a/Numeric/robustPredicates.h b/src/numeric/robustPredicates.h
similarity index 100%
rename from Numeric/robustPredicates.h
rename to src/numeric/robustPredicates.h
diff --git a/Numeric/simpleFunction.h b/src/numeric/simpleFunction.h
similarity index 97%
rename from Numeric/simpleFunction.h
rename to src/numeric/simpleFunction.h
index 4ae4d36c80..cf4172a8d8 100644
--- a/Numeric/simpleFunction.h
+++ b/src/numeric/simpleFunction.h
@@ -8,7 +8,7 @@
 
 #include <map>
 
-// FIXME: Numeric/ should not depend on Geo/
+// FIXME: src/numeric/ should not depend on src/geo/
 class MElement;
 
 template <class scalar> class simpleFunction {
diff --git a/Numeric/simpleFunctionPython.h b/src/numeric/simpleFunctionPython.h
similarity index 100%
rename from Numeric/simpleFunctionPython.h
rename to src/numeric/simpleFunctionPython.h
diff --git a/Parser/CMakeLists.txt b/src/parser/CMakeLists.txt
similarity index 73%
rename from Parser/CMakeLists.txt
rename to src/parser/CMakeLists.txt
index 7ea728f34b..2e30809895 100644
--- a/Parser/CMakeLists.txt
+++ b/src/parser/CMakeLists.txt
@@ -9,5 +9,5 @@ set(SRC
   FunctionManager.cpp
 )
 
-file(GLOB HDR RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *.h) 
-append_gmsh_src(Parser "${SRC};${HDR}")
+file(GLOB HDR RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *.h)
+append_gmsh_src(src/parser "${SRC};${HDR}")
diff --git a/Parser/FunctionManager.cpp b/src/parser/FunctionManager.cpp
similarity index 100%
rename from Parser/FunctionManager.cpp
rename to src/parser/FunctionManager.cpp
diff --git a/Parser/FunctionManager.h b/src/parser/FunctionManager.h
similarity index 100%
rename from Parser/FunctionManager.h
rename to src/parser/FunctionManager.h
diff --git a/Parser/Gmsh.l b/src/parser/Gmsh.l
similarity index 100%
rename from Parser/Gmsh.l
rename to src/parser/Gmsh.l
diff --git a/Parser/Gmsh.tab.cpp b/src/parser/Gmsh.tab.cpp
similarity index 100%
rename from Parser/Gmsh.tab.cpp
rename to src/parser/Gmsh.tab.cpp
diff --git a/Parser/Gmsh.tab.hpp b/src/parser/Gmsh.tab.hpp
similarity index 100%
rename from Parser/Gmsh.tab.hpp
rename to src/parser/Gmsh.tab.hpp
diff --git a/Parser/Gmsh.y b/src/parser/Gmsh.y
similarity index 100%
rename from Parser/Gmsh.y
rename to src/parser/Gmsh.y
diff --git a/Parser/Gmsh.yy.cpp b/src/parser/Gmsh.yy.cpp
similarity index 100%
rename from Parser/Gmsh.yy.cpp
rename to src/parser/Gmsh.yy.cpp
diff --git a/Parser/Parser.h b/src/parser/Parser.h
similarity index 100%
rename from Parser/Parser.h
rename to src/parser/Parser.h
diff --git a/Plugin/AnalyseMeshQuality.cpp b/src/plugin/AnalyseMeshQuality.cpp
similarity index 100%
rename from Plugin/AnalyseMeshQuality.cpp
rename to src/plugin/AnalyseMeshQuality.cpp
diff --git a/Plugin/AnalyseMeshQuality.h b/src/plugin/AnalyseMeshQuality.h
similarity index 100%
rename from Plugin/AnalyseMeshQuality.h
rename to src/plugin/AnalyseMeshQuality.h
diff --git a/Plugin/Annotate.cpp b/src/plugin/Annotate.cpp
similarity index 100%
rename from Plugin/Annotate.cpp
rename to src/plugin/Annotate.cpp
diff --git a/Plugin/Annotate.h b/src/plugin/Annotate.h
similarity index 100%
rename from Plugin/Annotate.h
rename to src/plugin/Annotate.h
diff --git a/Plugin/BoundaryAngles.cpp b/src/plugin/BoundaryAngles.cpp
similarity index 100%
rename from Plugin/BoundaryAngles.cpp
rename to src/plugin/BoundaryAngles.cpp
diff --git a/Plugin/BoundaryAngles.h b/src/plugin/BoundaryAngles.h
similarity index 100%
rename from Plugin/BoundaryAngles.h
rename to src/plugin/BoundaryAngles.h
diff --git a/Plugin/Bubbles.cpp b/src/plugin/Bubbles.cpp
similarity index 100%
rename from Plugin/Bubbles.cpp
rename to src/plugin/Bubbles.cpp
diff --git a/Plugin/Bubbles.h b/src/plugin/Bubbles.h
similarity index 100%
rename from Plugin/Bubbles.h
rename to src/plugin/Bubbles.h
diff --git a/Plugin/CMakeLists.txt b/src/plugin/CMakeLists.txt
similarity index 96%
rename from Plugin/CMakeLists.txt
rename to src/plugin/CMakeLists.txt
index 6f40ae240b..a647dc3fae 100644
--- a/Plugin/CMakeLists.txt
+++ b/src/plugin/CMakeLists.txt
@@ -47,4 +47,4 @@ set(SRC
 )
 
 file(GLOB HDR RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *.h)
-append_gmsh_src(Plugin "${SRC};${HDR}")
+append_gmsh_src(src/plugin "${SRC};${HDR}")
diff --git a/Plugin/CVTRemesh.cpp b/src/plugin/CVTRemesh.cpp
similarity index 100%
rename from Plugin/CVTRemesh.cpp
rename to src/plugin/CVTRemesh.cpp
diff --git a/Plugin/CVTRemesh.h b/src/plugin/CVTRemesh.h
similarity index 100%
rename from Plugin/CVTRemesh.h
rename to src/plugin/CVTRemesh.h
diff --git a/Plugin/Crack.cpp b/src/plugin/Crack.cpp
similarity index 100%
rename from Plugin/Crack.cpp
rename to src/plugin/Crack.cpp
diff --git a/Plugin/Crack.h b/src/plugin/Crack.h
similarity index 100%
rename from Plugin/Crack.h
rename to src/plugin/Crack.h
diff --git a/Plugin/Curl.cpp b/src/plugin/Curl.cpp
similarity index 100%
rename from Plugin/Curl.cpp
rename to src/plugin/Curl.cpp
diff --git a/Plugin/Curl.h b/src/plugin/Curl.h
similarity index 100%
rename from Plugin/Curl.h
rename to src/plugin/Curl.h
diff --git a/Plugin/CurvedBndDist.cpp b/src/plugin/CurvedBndDist.cpp
similarity index 100%
rename from Plugin/CurvedBndDist.cpp
rename to src/plugin/CurvedBndDist.cpp
diff --git a/Plugin/CurvedBndDist.h b/src/plugin/CurvedBndDist.h
similarity index 100%
rename from Plugin/CurvedBndDist.h
rename to src/plugin/CurvedBndDist.h
diff --git a/Plugin/CutBox.cpp b/src/plugin/CutBox.cpp
similarity index 100%
rename from Plugin/CutBox.cpp
rename to src/plugin/CutBox.cpp
diff --git a/Plugin/CutBox.h b/src/plugin/CutBox.h
similarity index 100%
rename from Plugin/CutBox.h
rename to src/plugin/CutBox.h
diff --git a/Plugin/CutGrid.cpp b/src/plugin/CutGrid.cpp
similarity index 100%
rename from Plugin/CutGrid.cpp
rename to src/plugin/CutGrid.cpp
diff --git a/Plugin/CutGrid.h b/src/plugin/CutGrid.h
similarity index 100%
rename from Plugin/CutGrid.h
rename to src/plugin/CutGrid.h
diff --git a/Plugin/CutMesh.cpp b/src/plugin/CutMesh.cpp
similarity index 100%
rename from Plugin/CutMesh.cpp
rename to src/plugin/CutMesh.cpp
diff --git a/Plugin/CutMesh.h b/src/plugin/CutMesh.h
similarity index 100%
rename from Plugin/CutMesh.h
rename to src/plugin/CutMesh.h
diff --git a/Plugin/CutParametric.cpp b/src/plugin/CutParametric.cpp
similarity index 100%
rename from Plugin/CutParametric.cpp
rename to src/plugin/CutParametric.cpp
diff --git a/Plugin/CutParametric.h b/src/plugin/CutParametric.h
similarity index 100%
rename from Plugin/CutParametric.h
rename to src/plugin/CutParametric.h
diff --git a/Plugin/CutPlane.cpp b/src/plugin/CutPlane.cpp
similarity index 100%
rename from Plugin/CutPlane.cpp
rename to src/plugin/CutPlane.cpp
diff --git a/Plugin/CutPlane.h b/src/plugin/CutPlane.h
similarity index 100%
rename from Plugin/CutPlane.h
rename to src/plugin/CutPlane.h
diff --git a/Plugin/CutSphere.cpp b/src/plugin/CutSphere.cpp
similarity index 100%
rename from Plugin/CutSphere.cpp
rename to src/plugin/CutSphere.cpp
diff --git a/Plugin/CutSphere.h b/src/plugin/CutSphere.h
similarity index 100%
rename from Plugin/CutSphere.h
rename to src/plugin/CutSphere.h
diff --git a/Plugin/DiscretizationError.cpp b/src/plugin/DiscretizationError.cpp
similarity index 100%
rename from Plugin/DiscretizationError.cpp
rename to src/plugin/DiscretizationError.cpp
diff --git a/Plugin/DiscretizationError.h b/src/plugin/DiscretizationError.h
similarity index 100%
rename from Plugin/DiscretizationError.h
rename to src/plugin/DiscretizationError.h
diff --git a/Plugin/Distance.cpp b/src/plugin/Distance.cpp
similarity index 100%
rename from Plugin/Distance.cpp
rename to src/plugin/Distance.cpp
diff --git a/Plugin/Distance.h b/src/plugin/Distance.h
similarity index 100%
rename from Plugin/Distance.h
rename to src/plugin/Distance.h
diff --git a/Plugin/Divergence.cpp b/src/plugin/Divergence.cpp
similarity index 100%
rename from Plugin/Divergence.cpp
rename to src/plugin/Divergence.cpp
diff --git a/Plugin/Divergence.h b/src/plugin/Divergence.h
similarity index 100%
rename from Plugin/Divergence.h
rename to src/plugin/Divergence.h
diff --git a/Plugin/Eigenvalues.cpp b/src/plugin/Eigenvalues.cpp
similarity index 100%
rename from Plugin/Eigenvalues.cpp
rename to src/plugin/Eigenvalues.cpp
diff --git a/Plugin/Eigenvalues.h b/src/plugin/Eigenvalues.h
similarity index 100%
rename from Plugin/Eigenvalues.h
rename to src/plugin/Eigenvalues.h
diff --git a/Plugin/Eigenvectors.cpp b/src/plugin/Eigenvectors.cpp
similarity index 100%
rename from Plugin/Eigenvectors.cpp
rename to src/plugin/Eigenvectors.cpp
diff --git a/Plugin/Eigenvectors.h b/src/plugin/Eigenvectors.h
similarity index 100%
rename from Plugin/Eigenvectors.h
rename to src/plugin/Eigenvectors.h
diff --git a/Plugin/ExtractEdges.cpp b/src/plugin/ExtractEdges.cpp
similarity index 100%
rename from Plugin/ExtractEdges.cpp
rename to src/plugin/ExtractEdges.cpp
diff --git a/Plugin/ExtractEdges.h b/src/plugin/ExtractEdges.h
similarity index 100%
rename from Plugin/ExtractEdges.h
rename to src/plugin/ExtractEdges.h
diff --git a/Plugin/ExtractElements.cpp b/src/plugin/ExtractElements.cpp
similarity index 100%
rename from Plugin/ExtractElements.cpp
rename to src/plugin/ExtractElements.cpp
diff --git a/Plugin/ExtractElements.h b/src/plugin/ExtractElements.h
similarity index 100%
rename from Plugin/ExtractElements.h
rename to src/plugin/ExtractElements.h
diff --git a/Plugin/FieldFromAmplitudePhase.cpp b/src/plugin/FieldFromAmplitudePhase.cpp
similarity index 100%
rename from Plugin/FieldFromAmplitudePhase.cpp
rename to src/plugin/FieldFromAmplitudePhase.cpp
diff --git a/Plugin/FieldFromAmplitudePhase.h b/src/plugin/FieldFromAmplitudePhase.h
similarity index 100%
rename from Plugin/FieldFromAmplitudePhase.h
rename to src/plugin/FieldFromAmplitudePhase.h
diff --git a/Plugin/GaussPoints.cpp b/src/plugin/GaussPoints.cpp
similarity index 100%
rename from Plugin/GaussPoints.cpp
rename to src/plugin/GaussPoints.cpp
diff --git a/Plugin/GaussPoints.h b/src/plugin/GaussPoints.h
similarity index 100%
rename from Plugin/GaussPoints.h
rename to src/plugin/GaussPoints.h
diff --git a/Plugin/Gradient.cpp b/src/plugin/Gradient.cpp
similarity index 100%
rename from Plugin/Gradient.cpp
rename to src/plugin/Gradient.cpp
diff --git a/Plugin/Gradient.h b/src/plugin/Gradient.h
similarity index 100%
rename from Plugin/Gradient.h
rename to src/plugin/Gradient.h
diff --git a/Plugin/HarmonicToTime.cpp b/src/plugin/HarmonicToTime.cpp
similarity index 100%
rename from Plugin/HarmonicToTime.cpp
rename to src/plugin/HarmonicToTime.cpp
diff --git a/Plugin/HarmonicToTime.h b/src/plugin/HarmonicToTime.h
similarity index 100%
rename from Plugin/HarmonicToTime.h
rename to src/plugin/HarmonicToTime.h
diff --git a/Plugin/HomologyComputation.cpp b/src/plugin/HomologyComputation.cpp
similarity index 100%
rename from Plugin/HomologyComputation.cpp
rename to src/plugin/HomologyComputation.cpp
diff --git a/Plugin/HomologyComputation.h b/src/plugin/HomologyComputation.h
similarity index 100%
rename from Plugin/HomologyComputation.h
rename to src/plugin/HomologyComputation.h
diff --git a/Plugin/HomologyPostProcessing.cpp b/src/plugin/HomologyPostProcessing.cpp
similarity index 100%
rename from Plugin/HomologyPostProcessing.cpp
rename to src/plugin/HomologyPostProcessing.cpp
diff --git a/Plugin/HomologyPostProcessing.h b/src/plugin/HomologyPostProcessing.h
similarity index 100%
rename from Plugin/HomologyPostProcessing.h
rename to src/plugin/HomologyPostProcessing.h
diff --git a/Plugin/Integrate.cpp b/src/plugin/Integrate.cpp
similarity index 100%
rename from Plugin/Integrate.cpp
rename to src/plugin/Integrate.cpp
diff --git a/Plugin/Integrate.h b/src/plugin/Integrate.h
similarity index 100%
rename from Plugin/Integrate.h
rename to src/plugin/Integrate.h
diff --git a/Plugin/Invisible.cpp b/src/plugin/Invisible.cpp
similarity index 100%
rename from Plugin/Invisible.cpp
rename to src/plugin/Invisible.cpp
diff --git a/Plugin/Invisible.h b/src/plugin/Invisible.h
similarity index 100%
rename from Plugin/Invisible.h
rename to src/plugin/Invisible.h
diff --git a/Plugin/Isosurface.cpp b/src/plugin/Isosurface.cpp
similarity index 100%
rename from Plugin/Isosurface.cpp
rename to src/plugin/Isosurface.cpp
diff --git a/Plugin/Isosurface.h b/src/plugin/Isosurface.h
similarity index 100%
rename from Plugin/Isosurface.h
rename to src/plugin/Isosurface.h
diff --git a/Plugin/Lambda2.cpp b/src/plugin/Lambda2.cpp
similarity index 100%
rename from Plugin/Lambda2.cpp
rename to src/plugin/Lambda2.cpp
diff --git a/Plugin/Lambda2.h b/src/plugin/Lambda2.h
similarity index 100%
rename from Plugin/Lambda2.h
rename to src/plugin/Lambda2.h
diff --git a/Plugin/Levelset.cpp b/src/plugin/Levelset.cpp
similarity index 100%
rename from Plugin/Levelset.cpp
rename to src/plugin/Levelset.cpp
diff --git a/Plugin/Levelset.h b/src/plugin/Levelset.h
similarity index 100%
rename from Plugin/Levelset.h
rename to src/plugin/Levelset.h
diff --git a/Plugin/LongitudeLatitude.cpp b/src/plugin/LongitudeLatitude.cpp
similarity index 100%
rename from Plugin/LongitudeLatitude.cpp
rename to src/plugin/LongitudeLatitude.cpp
diff --git a/Plugin/LongitudeLatitude.h b/src/plugin/LongitudeLatitude.h
similarity index 100%
rename from Plugin/LongitudeLatitude.h
rename to src/plugin/LongitudeLatitude.h
diff --git a/Plugin/MakeSimplex.cpp b/src/plugin/MakeSimplex.cpp
similarity index 100%
rename from Plugin/MakeSimplex.cpp
rename to src/plugin/MakeSimplex.cpp
diff --git a/Plugin/MakeSimplex.h b/src/plugin/MakeSimplex.h
similarity index 100%
rename from Plugin/MakeSimplex.h
rename to src/plugin/MakeSimplex.h
diff --git a/Plugin/MathEval.cpp b/src/plugin/MathEval.cpp
similarity index 100%
rename from Plugin/MathEval.cpp
rename to src/plugin/MathEval.cpp
diff --git a/Plugin/MathEval.h b/src/plugin/MathEval.h
similarity index 100%
rename from Plugin/MathEval.h
rename to src/plugin/MathEval.h
diff --git a/Plugin/MeshSizeFieldView.cpp b/src/plugin/MeshSizeFieldView.cpp
similarity index 100%
rename from Plugin/MeshSizeFieldView.cpp
rename to src/plugin/MeshSizeFieldView.cpp
diff --git a/Plugin/MeshSizeFieldView.h b/src/plugin/MeshSizeFieldView.h
similarity index 100%
rename from Plugin/MeshSizeFieldView.h
rename to src/plugin/MeshSizeFieldView.h
diff --git a/Plugin/MeshSubEntities.cpp b/src/plugin/MeshSubEntities.cpp
similarity index 100%
rename from Plugin/MeshSubEntities.cpp
rename to src/plugin/MeshSubEntities.cpp
diff --git a/Plugin/MeshSubEntities.h b/src/plugin/MeshSubEntities.h
similarity index 100%
rename from Plugin/MeshSubEntities.h
rename to src/plugin/MeshSubEntities.h
diff --git a/Plugin/MeshVolume.cpp b/src/plugin/MeshVolume.cpp
similarity index 100%
rename from Plugin/MeshVolume.cpp
rename to src/plugin/MeshVolume.cpp
diff --git a/Plugin/MeshVolume.h b/src/plugin/MeshVolume.h
similarity index 100%
rename from Plugin/MeshVolume.h
rename to src/plugin/MeshVolume.h
diff --git a/Plugin/MinMax.cpp b/src/plugin/MinMax.cpp
similarity index 100%
rename from Plugin/MinMax.cpp
rename to src/plugin/MinMax.cpp
diff --git a/Plugin/MinMax.h b/src/plugin/MinMax.h
similarity index 100%
rename from Plugin/MinMax.h
rename to src/plugin/MinMax.h
diff --git a/Plugin/ModifyComponents.cpp b/src/plugin/ModifyComponents.cpp
similarity index 100%
rename from Plugin/ModifyComponents.cpp
rename to src/plugin/ModifyComponents.cpp
diff --git a/Plugin/ModifyComponents.h b/src/plugin/ModifyComponents.h
similarity index 100%
rename from Plugin/ModifyComponents.h
rename to src/plugin/ModifyComponents.h
diff --git a/Plugin/ModulusPhase.cpp b/src/plugin/ModulusPhase.cpp
similarity index 100%
rename from Plugin/ModulusPhase.cpp
rename to src/plugin/ModulusPhase.cpp
diff --git a/Plugin/ModulusPhase.h b/src/plugin/ModulusPhase.h
similarity index 100%
rename from Plugin/ModulusPhase.h
rename to src/plugin/ModulusPhase.h
diff --git a/Plugin/NearToFarField.cpp b/src/plugin/NearToFarField.cpp
similarity index 100%
rename from Plugin/NearToFarField.cpp
rename to src/plugin/NearToFarField.cpp
diff --git a/Plugin/NearToFarField.h b/src/plugin/NearToFarField.h
similarity index 100%
rename from Plugin/NearToFarField.h
rename to src/plugin/NearToFarField.h
diff --git a/Plugin/NearestNeighbor.cpp b/src/plugin/NearestNeighbor.cpp
similarity index 100%
rename from Plugin/NearestNeighbor.cpp
rename to src/plugin/NearestNeighbor.cpp
diff --git a/Plugin/NearestNeighbor.h b/src/plugin/NearestNeighbor.h
similarity index 100%
rename from Plugin/NearestNeighbor.h
rename to src/plugin/NearestNeighbor.h
diff --git a/Plugin/NewView.cpp b/src/plugin/NewView.cpp
similarity index 100%
rename from Plugin/NewView.cpp
rename to src/plugin/NewView.cpp
diff --git a/Plugin/NewView.h b/src/plugin/NewView.h
similarity index 100%
rename from Plugin/NewView.h
rename to src/plugin/NewView.h
diff --git a/Plugin/Particles.cpp b/src/plugin/Particles.cpp
similarity index 100%
rename from Plugin/Particles.cpp
rename to src/plugin/Particles.cpp
diff --git a/Plugin/Particles.h b/src/plugin/Particles.h
similarity index 100%
rename from Plugin/Particles.h
rename to src/plugin/Particles.h
diff --git a/Plugin/Plugin.cpp b/src/plugin/Plugin.cpp
similarity index 100%
rename from Plugin/Plugin.cpp
rename to src/plugin/Plugin.cpp
diff --git a/Plugin/Plugin.h b/src/plugin/Plugin.h
similarity index 100%
rename from Plugin/Plugin.h
rename to src/plugin/Plugin.h
diff --git a/Plugin/PluginManager.cpp b/src/plugin/PluginManager.cpp
similarity index 100%
rename from Plugin/PluginManager.cpp
rename to src/plugin/PluginManager.cpp
diff --git a/Plugin/PluginManager.h b/src/plugin/PluginManager.h
similarity index 100%
rename from Plugin/PluginManager.h
rename to src/plugin/PluginManager.h
diff --git a/Plugin/Probe.cpp b/src/plugin/Probe.cpp
similarity index 100%
rename from Plugin/Probe.cpp
rename to src/plugin/Probe.cpp
diff --git a/Plugin/Probe.h b/src/plugin/Probe.h
similarity index 100%
rename from Plugin/Probe.h
rename to src/plugin/Probe.h
diff --git a/Plugin/Remove.cpp b/src/plugin/Remove.cpp
similarity index 100%
rename from Plugin/Remove.cpp
rename to src/plugin/Remove.cpp
diff --git a/Plugin/Remove.h b/src/plugin/Remove.h
similarity index 100%
rename from Plugin/Remove.h
rename to src/plugin/Remove.h
diff --git a/Plugin/Scal2Tens.cpp b/src/plugin/Scal2Tens.cpp
similarity index 100%
rename from Plugin/Scal2Tens.cpp
rename to src/plugin/Scal2Tens.cpp
diff --git a/Plugin/Scal2Tens.h b/src/plugin/Scal2Tens.h
similarity index 100%
rename from Plugin/Scal2Tens.h
rename to src/plugin/Scal2Tens.h
diff --git a/Plugin/Scal2Vec.cpp b/src/plugin/Scal2Vec.cpp
similarity index 100%
rename from Plugin/Scal2Vec.cpp
rename to src/plugin/Scal2Vec.cpp
diff --git a/Plugin/Scal2Vec.h b/src/plugin/Scal2Vec.h
similarity index 100%
rename from Plugin/Scal2Vec.h
rename to src/plugin/Scal2Vec.h
diff --git a/Plugin/ShowNeighborElements.cpp b/src/plugin/ShowNeighborElements.cpp
similarity index 100%
rename from Plugin/ShowNeighborElements.cpp
rename to src/plugin/ShowNeighborElements.cpp
diff --git a/Plugin/ShowNeighborElements.h b/src/plugin/ShowNeighborElements.h
similarity index 100%
rename from Plugin/ShowNeighborElements.h
rename to src/plugin/ShowNeighborElements.h
diff --git a/Plugin/SimplePartition.cpp b/src/plugin/SimplePartition.cpp
similarity index 100%
rename from Plugin/SimplePartition.cpp
rename to src/plugin/SimplePartition.cpp
diff --git a/Plugin/SimplePartition.h b/src/plugin/SimplePartition.h
similarity index 100%
rename from Plugin/SimplePartition.h
rename to src/plugin/SimplePartition.h
diff --git a/Plugin/Skin.cpp b/src/plugin/Skin.cpp
similarity index 100%
rename from Plugin/Skin.cpp
rename to src/plugin/Skin.cpp
diff --git a/Plugin/Skin.h b/src/plugin/Skin.h
similarity index 100%
rename from Plugin/Skin.h
rename to src/plugin/Skin.h
diff --git a/Plugin/Smooth.cpp b/src/plugin/Smooth.cpp
similarity index 100%
rename from Plugin/Smooth.cpp
rename to src/plugin/Smooth.cpp
diff --git a/Plugin/Smooth.h b/src/plugin/Smooth.h
similarity index 100%
rename from Plugin/Smooth.h
rename to src/plugin/Smooth.h
diff --git a/Plugin/SpanningTree.cpp b/src/plugin/SpanningTree.cpp
similarity index 99%
rename from Plugin/SpanningTree.cpp
rename to src/plugin/SpanningTree.cpp
index de7c13e061..e6a1a6fef0 100644
--- a/Plugin/SpanningTree.cpp
+++ b/src/plugin/SpanningTree.cpp
@@ -225,7 +225,7 @@ void GMSH_SpanningTreePlugin::addToModel(GModel &model, Tree &tree, int tag)
     line[i] = new MLine(model.getMeshVertexByTag(it->first + 1),
                         model.getMeshVertexByTag(it->second + 1));
 
-  // Add Elements as a Chain in GModel (see Chain::addToModel in Geo/Chain.h)
+  // Add Elements as a Chain in GModel (see Chain::addToModel in src/geo/Chain.h)
 
   std::string name = "";
   int entityNum;
diff --git a/Plugin/SpanningTree.h b/src/plugin/SpanningTree.h
similarity index 100%
rename from Plugin/SpanningTree.h
rename to src/plugin/SpanningTree.h
diff --git a/Plugin/SphericalRaise.cpp b/src/plugin/SphericalRaise.cpp
similarity index 100%
rename from Plugin/SphericalRaise.cpp
rename to src/plugin/SphericalRaise.cpp
diff --git a/Plugin/SphericalRaise.h b/src/plugin/SphericalRaise.h
similarity index 100%
rename from Plugin/SphericalRaise.h
rename to src/plugin/SphericalRaise.h
diff --git a/Plugin/StreamLines.cpp b/src/plugin/StreamLines.cpp
similarity index 100%
rename from Plugin/StreamLines.cpp
rename to src/plugin/StreamLines.cpp
diff --git a/Plugin/StreamLines.h b/src/plugin/StreamLines.h
similarity index 100%
rename from Plugin/StreamLines.h
rename to src/plugin/StreamLines.h
diff --git a/Plugin/Summation.cpp b/src/plugin/Summation.cpp
similarity index 100%
rename from Plugin/Summation.cpp
rename to src/plugin/Summation.cpp
diff --git a/Plugin/Summation.h b/src/plugin/Summation.h
similarity index 100%
rename from Plugin/Summation.h
rename to src/plugin/Summation.h
diff --git a/Plugin/Tetrahedralize.cpp b/src/plugin/Tetrahedralize.cpp
similarity index 100%
rename from Plugin/Tetrahedralize.cpp
rename to src/plugin/Tetrahedralize.cpp
diff --git a/Plugin/Tetrahedralize.h b/src/plugin/Tetrahedralize.h
similarity index 100%
rename from Plugin/Tetrahedralize.h
rename to src/plugin/Tetrahedralize.h
diff --git a/Plugin/Transform.cpp b/src/plugin/Transform.cpp
similarity index 100%
rename from Plugin/Transform.cpp
rename to src/plugin/Transform.cpp
diff --git a/Plugin/Transform.h b/src/plugin/Transform.h
similarity index 100%
rename from Plugin/Transform.h
rename to src/plugin/Transform.h
diff --git a/Plugin/Triangulate.cpp b/src/plugin/Triangulate.cpp
similarity index 100%
rename from Plugin/Triangulate.cpp
rename to src/plugin/Triangulate.cpp
diff --git a/Plugin/Triangulate.h b/src/plugin/Triangulate.h
similarity index 100%
rename from Plugin/Triangulate.h
rename to src/plugin/Triangulate.h
diff --git a/Plugin/VoroMetal.cpp b/src/plugin/VoroMetal.cpp
similarity index 100%
rename from Plugin/VoroMetal.cpp
rename to src/plugin/VoroMetal.cpp
diff --git a/Plugin/VoroMetal.h b/src/plugin/VoroMetal.h
similarity index 100%
rename from Plugin/VoroMetal.h
rename to src/plugin/VoroMetal.h
diff --git a/Plugin/Warp.cpp b/src/plugin/Warp.cpp
similarity index 100%
rename from Plugin/Warp.cpp
rename to src/plugin/Warp.cpp
diff --git a/Plugin/Warp.h b/src/plugin/Warp.h
similarity index 100%
rename from Plugin/Warp.h
rename to src/plugin/Warp.h
diff --git a/Post/CMakeLists.txt b/src/post/CMakeLists.txt
similarity index 85%
rename from Post/CMakeLists.txt
rename to src/post/CMakeLists.txt
index 12189a6ba1..2ba85207db 100644
--- a/Post/CMakeLists.txt
+++ b/src/post/CMakeLists.txt
@@ -16,5 +16,5 @@ set(SRC
   ColorTable.cpp
 )
 
-file(GLOB HDR RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *.h) 
-append_gmsh_src(Post "${SRC};${HDR}")
+file(GLOB HDR RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *.h)
+append_gmsh_src(src/post "${SRC};${HDR}")
diff --git a/Post/ColorTable.cpp b/src/post/ColorTable.cpp
similarity index 100%
rename from Post/ColorTable.cpp
rename to src/post/ColorTable.cpp
diff --git a/Post/ColorTable.h b/src/post/ColorTable.h
similarity index 100%
rename from Post/ColorTable.h
rename to src/post/ColorTable.h
diff --git a/Post/OctreePost.cpp b/src/post/OctreePost.cpp
similarity index 100%
rename from Post/OctreePost.cpp
rename to src/post/OctreePost.cpp
diff --git a/Post/OctreePost.h b/src/post/OctreePost.h
similarity index 100%
rename from Post/OctreePost.h
rename to src/post/OctreePost.h
diff --git a/Post/PView.cpp b/src/post/PView.cpp
similarity index 100%
rename from Post/PView.cpp
rename to src/post/PView.cpp
diff --git a/Post/PView.h b/src/post/PView.h
similarity index 100%
rename from Post/PView.h
rename to src/post/PView.h
diff --git a/Post/PViewAsSimpleFunction.cpp b/src/post/PViewAsSimpleFunction.cpp
similarity index 100%
rename from Post/PViewAsSimpleFunction.cpp
rename to src/post/PViewAsSimpleFunction.cpp
diff --git a/Post/PViewAsSimpleFunction.h b/src/post/PViewAsSimpleFunction.h
similarity index 100%
rename from Post/PViewAsSimpleFunction.h
rename to src/post/PViewAsSimpleFunction.h
diff --git a/Post/PViewData.cpp b/src/post/PViewData.cpp
similarity index 100%
rename from Post/PViewData.cpp
rename to src/post/PViewData.cpp
diff --git a/Post/PViewData.h b/src/post/PViewData.h
similarity index 100%
rename from Post/PViewData.h
rename to src/post/PViewData.h
diff --git a/Post/PViewDataGModel.cpp b/src/post/PViewDataGModel.cpp
similarity index 100%
rename from Post/PViewDataGModel.cpp
rename to src/post/PViewDataGModel.cpp
diff --git a/Post/PViewDataGModel.h b/src/post/PViewDataGModel.h
similarity index 100%
rename from Post/PViewDataGModel.h
rename to src/post/PViewDataGModel.h
diff --git a/Post/PViewDataGModelIO.cpp b/src/post/PViewDataGModelIO.cpp
similarity index 100%
rename from Post/PViewDataGModelIO.cpp
rename to src/post/PViewDataGModelIO.cpp
diff --git a/Post/PViewDataGModelIO_CGNS.cpp b/src/post/PViewDataGModelIO_CGNS.cpp
similarity index 100%
rename from Post/PViewDataGModelIO_CGNS.cpp
rename to src/post/PViewDataGModelIO_CGNS.cpp
diff --git a/Post/PViewDataIO.cpp b/src/post/PViewDataIO.cpp
similarity index 100%
rename from Post/PViewDataIO.cpp
rename to src/post/PViewDataIO.cpp
diff --git a/Post/PViewDataList.cpp b/src/post/PViewDataList.cpp
similarity index 100%
rename from Post/PViewDataList.cpp
rename to src/post/PViewDataList.cpp
diff --git a/Post/PViewDataList.h b/src/post/PViewDataList.h
similarity index 100%
rename from Post/PViewDataList.h
rename to src/post/PViewDataList.h
diff --git a/Post/PViewDataListIO.cpp b/src/post/PViewDataListIO.cpp
similarity index 100%
rename from Post/PViewDataListIO.cpp
rename to src/post/PViewDataListIO.cpp
diff --git a/Post/PViewDataRemote.h b/src/post/PViewDataRemote.h
similarity index 100%
rename from Post/PViewDataRemote.h
rename to src/post/PViewDataRemote.h
diff --git a/Post/PViewFactory.cpp b/src/post/PViewFactory.cpp
similarity index 100%
rename from Post/PViewFactory.cpp
rename to src/post/PViewFactory.cpp
diff --git a/Post/PViewFactory.h b/src/post/PViewFactory.h
similarity index 100%
rename from Post/PViewFactory.h
rename to src/post/PViewFactory.h
diff --git a/Post/PViewIO.cpp b/src/post/PViewIO.cpp
similarity index 100%
rename from Post/PViewIO.cpp
rename to src/post/PViewIO.cpp
diff --git a/Post/PViewIO_CGNS.cpp b/src/post/PViewIO_CGNS.cpp
similarity index 100%
rename from Post/PViewIO_CGNS.cpp
rename to src/post/PViewIO_CGNS.cpp
diff --git a/Post/PViewOptions.cpp b/src/post/PViewOptions.cpp
similarity index 100%
rename from Post/PViewOptions.cpp
rename to src/post/PViewOptions.cpp
diff --git a/Post/PViewOptions.h b/src/post/PViewOptions.h
similarity index 100%
rename from Post/PViewOptions.h
rename to src/post/PViewOptions.h
diff --git a/Post/PViewVertexArrays.cpp b/src/post/PViewVertexArrays.cpp
similarity index 100%
rename from Post/PViewVertexArrays.cpp
rename to src/post/PViewVertexArrays.cpp
diff --git a/Post/PViewX3D.cpp b/src/post/PViewX3D.cpp
similarity index 100%
rename from Post/PViewX3D.cpp
rename to src/post/PViewX3D.cpp
diff --git a/Post/PViewX3D.h b/src/post/PViewX3D.h
similarity index 100%
rename from Post/PViewX3D.h
rename to src/post/PViewX3D.h
diff --git a/Post/adaptiveData.cpp b/src/post/adaptiveData.cpp
similarity index 100%
rename from Post/adaptiveData.cpp
rename to src/post/adaptiveData.cpp
diff --git a/Post/adaptiveData.h b/src/post/adaptiveData.h
similarity index 100%
rename from Post/adaptiveData.h
rename to src/post/adaptiveData.h
diff --git a/Post/shapeFunctions.cpp b/src/post/shapeFunctions.cpp
similarity index 100%
rename from Post/shapeFunctions.cpp
rename to src/post/shapeFunctions.cpp
diff --git a/Post/shapeFunctions.h b/src/post/shapeFunctions.h
similarity index 100%
rename from Post/shapeFunctions.h
rename to src/post/shapeFunctions.h
diff --git a/Solver/CMakeLists.txt b/src/solver/CMakeLists.txt
similarity index 86%
rename from Solver/CMakeLists.txt
rename to src/solver/CMakeLists.txt
index 9ae149527f..4f9fd6b64f 100644
--- a/Solver/CMakeLists.txt
+++ b/src/solver/CMakeLists.txt
@@ -27,5 +27,5 @@ functionSpace.cpp
 terms.cpp
 )
 
-file(GLOB HDR RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *.h) 
-append_gmsh_src(Solver "${SRC};${HDR}")
+file(GLOB HDR RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *.h)
+append_gmsh_src(src/solver "${SRC};${HDR}")
diff --git a/Solver/FuncGradDisc.h b/src/solver/FuncGradDisc.h
similarity index 100%
rename from Solver/FuncGradDisc.h
rename to src/solver/FuncGradDisc.h
diff --git a/Solver/FuncHeaviside.h b/src/solver/FuncHeaviside.h
similarity index 100%
rename from Solver/FuncHeaviside.h
rename to src/solver/FuncHeaviside.h
diff --git a/Solver/SElement.cpp b/src/solver/SElement.cpp
similarity index 100%
rename from Solver/SElement.cpp
rename to src/solver/SElement.cpp
diff --git a/Solver/SElement.h b/src/solver/SElement.h
similarity index 100%
rename from Solver/SElement.h
rename to src/solver/SElement.h
diff --git a/Solver/STensor33.cpp b/src/solver/STensor33.cpp
similarity index 100%
rename from Solver/STensor33.cpp
rename to src/solver/STensor33.cpp
diff --git a/Solver/STensor33.h b/src/solver/STensor33.h
similarity index 100%
rename from Solver/STensor33.h
rename to src/solver/STensor33.h
diff --git a/Solver/STensor43.cpp b/src/solver/STensor43.cpp
similarity index 100%
rename from Solver/STensor43.cpp
rename to src/solver/STensor43.cpp
diff --git a/Solver/STensor43.h b/src/solver/STensor43.h
similarity index 100%
rename from Solver/STensor43.h
rename to src/solver/STensor43.h
diff --git a/Solver/STensor53.cpp b/src/solver/STensor53.cpp
similarity index 100%
rename from Solver/STensor53.cpp
rename to src/solver/STensor53.cpp
diff --git a/Solver/STensor53.h b/src/solver/STensor53.h
similarity index 100%
rename from Solver/STensor53.h
rename to src/solver/STensor53.h
diff --git a/Solver/STensor63.cpp b/src/solver/STensor63.cpp
similarity index 100%
rename from Solver/STensor63.cpp
rename to src/solver/STensor63.cpp
diff --git a/Solver/STensor63.h b/src/solver/STensor63.h
similarity index 100%
rename from Solver/STensor63.h
rename to src/solver/STensor63.h
diff --git a/Solver/distanceTerm.h b/src/solver/distanceTerm.h
similarity index 100%
rename from Solver/distanceTerm.h
rename to src/solver/distanceTerm.h
diff --git a/Solver/dofManager.cpp b/src/solver/dofManager.cpp
similarity index 100%
rename from Solver/dofManager.cpp
rename to src/solver/dofManager.cpp
diff --git a/Solver/dofManager.h b/src/solver/dofManager.h
similarity index 100%
rename from Solver/dofManager.h
rename to src/solver/dofManager.h
diff --git a/Solver/eigenSolver.cpp b/src/solver/eigenSolver.cpp
similarity index 100%
rename from Solver/eigenSolver.cpp
rename to src/solver/eigenSolver.cpp
diff --git a/Solver/eigenSolver.h b/src/solver/eigenSolver.h
similarity index 100%
rename from Solver/eigenSolver.h
rename to src/solver/eigenSolver.h
diff --git a/Solver/elasticitySolver.cpp b/src/solver/elasticitySolver.cpp
similarity index 100%
rename from Solver/elasticitySolver.cpp
rename to src/solver/elasticitySolver.cpp
diff --git a/Solver/elasticitySolver.h b/src/solver/elasticitySolver.h
similarity index 100%
rename from Solver/elasticitySolver.h
rename to src/solver/elasticitySolver.h
diff --git a/Solver/elasticityTerm.cpp b/src/solver/elasticityTerm.cpp
similarity index 100%
rename from Solver/elasticityTerm.cpp
rename to src/solver/elasticityTerm.cpp
diff --git a/Solver/elasticityTerm.h b/src/solver/elasticityTerm.h
similarity index 100%
rename from Solver/elasticityTerm.h
rename to src/solver/elasticityTerm.h
diff --git a/Solver/femTerm.h b/src/solver/femTerm.h
similarity index 100%
rename from Solver/femTerm.h
rename to src/solver/femTerm.h
diff --git a/Solver/filters.cpp b/src/solver/filters.cpp
similarity index 100%
rename from Solver/filters.cpp
rename to src/solver/filters.cpp
diff --git a/Solver/filters.h b/src/solver/filters.h
similarity index 100%
rename from Solver/filters.h
rename to src/solver/filters.h
diff --git a/Solver/frameSolver.cpp b/src/solver/frameSolver.cpp
similarity index 100%
rename from Solver/frameSolver.cpp
rename to src/solver/frameSolver.cpp
diff --git a/Solver/frameSolver.h b/src/solver/frameSolver.h
similarity index 100%
rename from Solver/frameSolver.h
rename to src/solver/frameSolver.h
diff --git a/Solver/functionSpace.cpp b/src/solver/functionSpace.cpp
similarity index 100%
rename from Solver/functionSpace.cpp
rename to src/solver/functionSpace.cpp
diff --git a/Solver/functionSpace.h b/src/solver/functionSpace.h
similarity index 100%
rename from Solver/functionSpace.h
rename to src/solver/functionSpace.h
diff --git a/Solver/groupOfElements.cpp b/src/solver/groupOfElements.cpp
similarity index 100%
rename from Solver/groupOfElements.cpp
rename to src/solver/groupOfElements.cpp
diff --git a/Solver/groupOfElements.h b/src/solver/groupOfElements.h
similarity index 100%
rename from Solver/groupOfElements.h
rename to src/solver/groupOfElements.h
diff --git a/Solver/helmholtzTerm.h b/src/solver/helmholtzTerm.h
similarity index 100%
rename from Solver/helmholtzTerm.h
rename to src/solver/helmholtzTerm.h
diff --git a/Solver/laplaceTerm.h b/src/solver/laplaceTerm.h
similarity index 100%
rename from Solver/laplaceTerm.h
rename to src/solver/laplaceTerm.h
diff --git a/Solver/linearSystem.cpp b/src/solver/linearSystem.cpp
similarity index 100%
rename from Solver/linearSystem.cpp
rename to src/solver/linearSystem.cpp
diff --git a/Solver/linearSystem.h b/src/solver/linearSystem.h
similarity index 100%
rename from Solver/linearSystem.h
rename to src/solver/linearSystem.h
diff --git a/Solver/linearSystemCSR.cpp b/src/solver/linearSystemCSR.cpp
similarity index 100%
rename from Solver/linearSystemCSR.cpp
rename to src/solver/linearSystemCSR.cpp
diff --git a/Solver/linearSystemCSR.h b/src/solver/linearSystemCSR.h
similarity index 100%
rename from Solver/linearSystemCSR.h
rename to src/solver/linearSystemCSR.h
diff --git a/Solver/linearSystemEigen.cpp b/src/solver/linearSystemEigen.cpp
similarity index 100%
rename from Solver/linearSystemEigen.cpp
rename to src/solver/linearSystemEigen.cpp
diff --git a/Solver/linearSystemEigen.h b/src/solver/linearSystemEigen.h
similarity index 100%
rename from Solver/linearSystemEigen.h
rename to src/solver/linearSystemEigen.h
diff --git a/Solver/linearSystemFull.h b/src/solver/linearSystemFull.h
similarity index 100%
rename from Solver/linearSystemFull.h
rename to src/solver/linearSystemFull.h
diff --git a/Solver/linearSystemGmm.h b/src/solver/linearSystemGmm.h
similarity index 100%
rename from Solver/linearSystemGmm.h
rename to src/solver/linearSystemGmm.h
diff --git a/Solver/linearSystemMUMPS.cpp b/src/solver/linearSystemMUMPS.cpp
similarity index 100%
rename from Solver/linearSystemMUMPS.cpp
rename to src/solver/linearSystemMUMPS.cpp
diff --git a/Solver/linearSystemMUMPS.h b/src/solver/linearSystemMUMPS.h
similarity index 100%
rename from Solver/linearSystemMUMPS.h
rename to src/solver/linearSystemMUMPS.h
diff --git a/Solver/linearSystemPETSc.cpp b/src/solver/linearSystemPETSc.cpp
similarity index 100%
rename from Solver/linearSystemPETSc.cpp
rename to src/solver/linearSystemPETSc.cpp
diff --git a/Solver/linearSystemPETSc.h b/src/solver/linearSystemPETSc.h
similarity index 100%
rename from Solver/linearSystemPETSc.h
rename to src/solver/linearSystemPETSc.h
diff --git a/Solver/linearSystemPETSc.hpp b/src/solver/linearSystemPETSc.hpp
similarity index 100%
rename from Solver/linearSystemPETSc.hpp
rename to src/solver/linearSystemPETSc.hpp
diff --git a/Solver/materialLaw.h b/src/solver/materialLaw.h
similarity index 100%
rename from Solver/materialLaw.h
rename to src/solver/materialLaw.h
diff --git a/Solver/quadratureRules.h b/src/solver/quadratureRules.h
similarity index 100%
rename from Solver/quadratureRules.h
rename to src/solver/quadratureRules.h
diff --git a/Solver/solverAlgorithms.h b/src/solver/solverAlgorithms.h
similarity index 100%
rename from Solver/solverAlgorithms.h
rename to src/solver/solverAlgorithms.h
diff --git a/Solver/solverField.h b/src/solver/solverField.h
similarity index 100%
rename from Solver/solverField.h
rename to src/solver/solverField.h
diff --git a/Solver/sparsityPattern.cpp b/src/solver/sparsityPattern.cpp
similarity index 100%
rename from Solver/sparsityPattern.cpp
rename to src/solver/sparsityPattern.cpp
diff --git a/Solver/sparsityPattern.h b/src/solver/sparsityPattern.h
similarity index 100%
rename from Solver/sparsityPattern.h
rename to src/solver/sparsityPattern.h
diff --git a/Solver/terms.cpp b/src/solver/terms.cpp
similarity index 100%
rename from Solver/terms.cpp
rename to src/solver/terms.cpp
diff --git a/Solver/terms.h b/src/solver/terms.h
similarity index 100%
rename from Solver/terms.h
rename to src/solver/terms.h
diff --git a/Solver/terms.hpp b/src/solver/terms.hpp
similarity index 100%
rename from Solver/terms.hpp
rename to src/solver/terms.hpp
diff --git a/Solver/thermicSolver.cpp b/src/solver/thermicSolver.cpp
similarity index 100%
rename from Solver/thermicSolver.cpp
rename to src/solver/thermicSolver.cpp
diff --git a/Solver/thermicSolver.h b/src/solver/thermicSolver.h
similarity index 100%
rename from Solver/thermicSolver.h
rename to src/solver/thermicSolver.h
diff --git a/utils/misc/update_copyright.sh b/utils/misc/update_copyright.sh
index 849e3642fe..944de7d464 100755
--- a/utils/misc/update_copyright.sh
+++ b/utils/misc/update_copyright.sh
@@ -10,8 +10,8 @@ done
 # Need to manually change:
 #   CREDITS.txt
 #   doc/texinfo/gmsh.texi
-#   Fltk/helpWindow.cpp
-#   Common/onelab.h
+#   src/fltk/helpWindow.cpp
+#   src/common/onelab.h
 #   doc/gmsh.html
 #   contrib/mobile/README.txt
 #   contrib/mobile/androidUtils.cpp
-- 
GitLab