mshr build fails against external CGAL 4.14

Issue #92 resolved
Drew Parsons created an issue

The latest version of CGAL is 4.14. It has removed the Operations_on_polyhedra subdir, with the functionality now fully included in Polygon_mesh_processing, see https://github.com/CGAL/cgal/commit/fca4e686abd65cd5619309b422e58ea33ac80074#diff-a4ee74b76d57e7d35fc5c28579a4dd85

mshr uses undocumented headers from Operations_on_polyhedra. Polyhedron_utils.h #includes <CGAL/corefinement_operations.h> and calls CGAL::Polygon_mesh_processing::self_intersections, both of which are now unknown or moved in CGAL 4.14.

There is CGAL/Polygon_mesh_processing/corefinement.h and CGAL/Polygon_mesh_processing/self_intersections.h. Perhaps mshr needs to be updated to include these instead of corefinement_operations.h.

Comments (2)

  1. Drew Parsons reporter

    debian patch available at https://salsa.debian.org/science-team/fenics/mshr/blob/master/debian/patches/build_CGAL_4.14.patch

    --- a/src/Polyhedron_utils.h
    +++ b/src/Polyhedron_utils.h
    @@ -33,7 +33,12 @@
     #include <CGAL/Triangulation_vertex_base_with_info_2.h>
     #include <CGAL/Polyhedron_incremental_builder_3.h>
     #include <CGAL/convex_hull_3.h>
    +#include <CGAL/version.h>
    +#if CGAL_VERSION_NR >= 1041401000
    +#include <CGAL/Polygon_mesh_processing/corefinement.h>
    +#else
     #include <CGAL/corefinement_operations.h>
    +#endif
     #include <CGAL/Aff_transformation_3.h>
     #include <CGAL/Delaunay_mesher_no_edge_refinement_2.h>
     #include <CGAL/Delaunay_mesh_face_base_2.h>
    

  2. Log in to comment