File: CMakeLists.txt

package info (click to toggle)
cgal 6.1.1-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 144,952 kB
  • sloc: cpp: 811,597; ansic: 208,576; sh: 493; python: 411; makefile: 286; javascript: 174
file content (159 lines) | stat: -rw-r--r-- 8,962 bytes parent folder | download
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()