Recently I came across Gmsh, a light and user-friendly tool that can be used to create meshes for OpenFOAM (and others). There's plenty of documentation outlining how to use Gmsh, so I'm only going to give you the two commands you need to populate the polyMesh directory using your Gmsh example.geo file. Begin with
gmsh example.geo -3 -o example.msh
followed by (in the directory where exampleCase is located)
gmshToFoam example.msh -case exampleCase
That is all! Everything in exampleCase/constant/polyMesh has been created. No need to run blockMesh, snappyHexMesh etc.