Quadrilateral meshes offer certain advantages compared to triangular ones, such as reduced number of elements and alignment with problem-specific directions. We present a pipeline for the generation of quadrilateral meshes on complex geometries. It is based on two key components: robust surface meshing and efficient indirect conversion of a triangular mesh to an all-quad one. The input is a valid geometric surface mesh, i.e., a triangulation that accurately represents the geometry of the model. A right-angled triangular surface mesh is initially created by continuously modifying the input mesh while always preserving its topological validity. The main advantages of our local mesh modification based approach are to (i) allow the generation of meshes that are globally aligned with a given direction field and (ii) to reliably handle non-manifold feature edges (in multi-volume models) and small features. The final quadrilateral mesh is obtained by merging pairs of triangles into quadrilaterals. We develop a novel bipartite labeling scheme in order to identify and correct inconsistent pairings. The procedure is based on local operations and is much more efficient than previous global strategies for tri-to-quad conversion. The whole pipeline is tested on a large number of models with diverse characteristics.