1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159
|
# Created by the script cgal_create_CMakeLists
# This is the CMake script for compiling a set of CGAL applications.
cmake_minimum_required(VERSION 3.12...3.31)
project(Polygon_mesh_processing_Examples)
# CGAL and its components
find_package(CGAL REQUIRED)
create_single_source_cgal_program("sample_example.cpp" )
create_single_source_cgal_program("extrude.cpp" )
create_single_source_cgal_program( "list_non_pure_triangle_meshes.cpp" )
create_single_source_cgal_program("polyhedral_envelope.cpp" )
create_single_source_cgal_program("polyhedral_envelope_of_triangle_soup.cpp" )
create_single_source_cgal_program("polyhedral_envelope_mesh_containment.cpp" )
create_single_source_cgal_program("self_intersections_example.cpp" )
create_single_source_cgal_program("stitch_borders_example.cpp" )
create_single_source_cgal_program("compute_normals_example_Polyhedron.cpp")
create_single_source_cgal_program("compute_normals_example.cpp")
create_single_source_cgal_program("point_inside_example.cpp")
create_single_source_cgal_program("triangulate_faces_example.cpp")
create_single_source_cgal_program("triangulate_faces_split_visitor_example.cpp")
create_single_source_cgal_program("connected_components_example.cpp")
create_single_source_cgal_program("remesh_planar_patches.cpp")
create_single_source_cgal_program( "face_filtered_graph_example.cpp")
create_single_source_cgal_program("orient_polygon_soup_example.cpp")
create_single_source_cgal_program("triangulate_polyline_example.cpp")
create_single_source_cgal_program("mesh_slicer_example.cpp")
#create_single_source_cgal_program( "remove_degeneracies_example.cpp")
create_single_source_cgal_program("isotropic_remeshing_example.cpp")
create_single_source_cgal_program("isotropic_remeshing_of_patch_example.cpp")
create_single_source_cgal_program("tangential_relaxation_example.cpp")
create_single_source_cgal_program("surface_mesh_intersection.cpp")
create_single_source_cgal_program("corefinement_SM.cpp")
create_single_source_cgal_program("corefinement_consecutive_bool_op.cpp")
create_single_source_cgal_program("corefinement_difference_remeshed.cpp")
create_single_source_cgal_program("corefinement_mesh_union.cpp")
create_single_source_cgal_program("corefinement_mesh_non_manifold_intersection.cpp")
create_single_source_cgal_program("corefinement_mesh_union_progress.cpp")
create_single_source_cgal_program("corefinement_mesh_union_and_intersection.cpp")
create_single_source_cgal_program("corefinement_mesh_union_with_attributes.cpp")
create_single_source_cgal_program("corefinement_polyhedron_union.cpp")
create_single_source_cgal_program("random_perturbation_SM_example.cpp")
create_single_source_cgal_program("corefinement_LCC.cpp")
create_single_source_cgal_program("detect_features_example.cpp")
create_single_source_cgal_program("volume_connected_components.cpp")
create_single_source_cgal_program("manifoldness_repair_example.cpp")
create_single_source_cgal_program("repair_polygon_soup_example.cpp")
create_single_source_cgal_program("locate_example.cpp")
create_single_source_cgal_program("orientation_pipeline_example.cpp")
#create_single_source_cgal_program("self_snapping_example.cpp")
#create_single_source_cgal_program("snapping_example.cpp")
create_single_source_cgal_program("match_faces.cpp")
create_single_source_cgal_program("cc_compatible_orientations.cpp")
create_single_source_cgal_program("hausdorff_distance_remeshing_example.cpp")
create_single_source_cgal_program("hausdorff_bounded_error_distance_example.cpp")
create_single_source_cgal_program("isotropic_remeshing_with_custom_sizing_example.cpp")
create_single_source_cgal_program("isotropic_remeshing_with_allow_move.cpp")
create_single_source_cgal_program("triangle_mesh_autorefinement.cpp")
create_single_source_cgal_program("soup_autorefinement.cpp")
create_single_source_cgal_program("snap_polygon_soup.cpp")
find_package(Eigen3 QUIET)
include(CGAL_Eigen3_support)
if(TARGET CGAL::Eigen3_support)
create_single_source_cgal_program("acvd_remeshing_example.cpp")
target_link_libraries(acvd_remeshing_example PUBLIC CGAL::Eigen3_support)
create_single_source_cgal_program("hole_filling_example.cpp")
target_link_libraries(hole_filling_example PRIVATE CGAL::Eigen3_support)
create_single_source_cgal_program("hole_filling_example_SM.cpp")
target_link_libraries(hole_filling_example_SM PRIVATE CGAL::Eigen3_support)
create_single_source_cgal_program("hole_filling_visitor_example.cpp")
target_link_libraries(hole_filling_visitor_example PRIVATE CGAL::Eigen3_support)
create_single_source_cgal_program("refine_fair_example.cpp")
target_link_libraries(refine_fair_example PRIVATE CGAL::Eigen3_support)
create_single_source_cgal_program("shape_smoothing_example.cpp")
target_link_libraries(shape_smoothing_example PRIVATE CGAL::Eigen3_support)
create_single_source_cgal_program("hole_filling_example_LCC.cpp")
target_link_libraries(hole_filling_example_LCC PRIVATE CGAL::Eigen3_support)
create_single_source_cgal_program("mesh_smoothing_example.cpp")
target_link_libraries(mesh_smoothing_example PRIVATE CGAL::Eigen3_support)
create_single_source_cgal_program("isotropic_remeshing_with_sizing_example.cpp")
target_link_libraries(isotropic_remeshing_with_sizing_example PRIVATE CGAL::Eigen3_support)
create_single_source_cgal_program("delaunay_remeshing_example.cpp")
target_link_libraries(delaunay_remeshing_example PRIVATE CGAL::Eigen3_support)
create_single_source_cgal_program("remesh_almost_planar_patches.cpp")
target_link_libraries(remesh_almost_planar_patches PRIVATE CGAL::Eigen3_support)
create_single_source_cgal_program("geodesic_isolevel_refinement.cpp")
target_link_libraries(geodesic_isolevel_refinement PRIVATE CGAL::Eigen3_support)
create_single_source_cgal_program("interpolated_corrected_curvatures_SM.cpp")
target_link_libraries(interpolated_corrected_curvatures_SM PRIVATE CGAL::Eigen3_support)
create_single_source_cgal_program("interpolated_corrected_curvatures_PH.cpp")
target_link_libraries(interpolated_corrected_curvatures_PH PRIVATE CGAL::Eigen3_support)
create_single_source_cgal_program("interpolated_corrected_curvatures_vertex.cpp")
target_link_libraries(interpolated_corrected_curvatures_vertex PRIVATE CGAL::Eigen3_support)
else()
message(STATUS "NOTICE: Examples that use Eigen will not be compiled.")
endif()
find_package(OpenMesh QUIET)
if(OpenMesh_FOUND)
include(CGAL_OpenMesh_support)
create_single_source_cgal_program("compute_normals_example_OM.cpp")
target_link_libraries(compute_normals_example_OM PRIVATE CGAL::OpenMesh_support)
create_single_source_cgal_program("corefinement_OM_union.cpp")
target_link_libraries(corefinement_OM_union PRIVATE CGAL::OpenMesh_support)
if(TARGET CGAL::Eigen3_support)
create_single_source_cgal_program("hole_filling_example_OM.cpp")
target_link_libraries(hole_filling_example_OM PRIVATE CGAL::Eigen3_support CGAL::OpenMesh_support)
endif()
create_single_source_cgal_program("point_inside_example_OM.cpp")
target_link_libraries(point_inside_example_OM PRIVATE CGAL::OpenMesh_support)
create_single_source_cgal_program("stitch_borders_example_OM.cpp")
target_link_libraries(stitch_borders_example_OM PRIVATE CGAL::OpenMesh_support)
#create_single_source_cgal_program("remove_degeneracies_example.cpp")
#target_link_libraries(remove_degeneracies_example PRIVATE CGAL::OpenMesh_support)
create_single_source_cgal_program("triangulate_faces_example_OM.cpp")
target_link_libraries(triangulate_faces_example_OM PRIVATE CGAL::OpenMesh_support)
else()
message(STATUS "NOTICE: Examples that use OpenMesh will not be compiled.")
endif()
find_package(METIS QUIET)
include(CGAL_METIS_support)
if(TARGET CGAL::METIS_support)
target_link_libraries(hausdorff_bounded_error_distance_example PRIVATE CGAL::METIS_support)
else()
message(STATUS "NOTICE: Examples that use the METIS library will not be compiled.")
endif()
find_package(TBB QUIET)
include(CGAL_TBB_support)
if(TARGET CGAL::TBB_support)
target_link_libraries(self_intersections_example PRIVATE CGAL::TBB_support)
target_link_libraries(hausdorff_distance_remeshing_example PRIVATE CGAL::TBB_support)
target_link_libraries(hausdorff_bounded_error_distance_example PRIVATE CGAL::TBB_support)
target_link_libraries(soup_autorefinement PRIVATE CGAL::TBB_support)
target_link_libraries(snap_polygon_soup PRIVATE CGAL::TBB_support)
create_single_source_cgal_program("corefinement_parallel_union_meshes.cpp")
target_link_libraries(corefinement_parallel_union_meshes PRIVATE CGAL::TBB_support)
else()
message(STATUS "NOTICE: Intel TBB was not found. Sequential code will be used.")
endif()
find_package(Ceres QUIET)
include(CGAL_Ceres_support)
if(TARGET CGAL::Ceres_support)
target_link_libraries(mesh_smoothing_example PRIVATE CGAL::Ceres_support)
else()
message(STATUS "NOTICE: The example 'mesh_smoothing_example' uses the Ceres library, and will not be compiled.")
endif()
|