diff --git a/Documentation/CMakeLists.txt b/Documentation/CMakeLists.txt index 6a7f67a9639..b4fa742805d 100644 --- a/Documentation/CMakeLists.txt +++ b/Documentation/CMakeLists.txt @@ -35,7 +35,6 @@ function(configure_doxygen_package CGAL_PACKAGE_NAME) file(APPEND ${CGAL_DOC_PACKAGE_DEFAULTS} "GENERATE_BUGLIST = NO\n") endif() - file(APPEND ${CGAL_DOC_PACKAGE_DEFAULTS} "IMAGE_PATH = ${CGAL_PACKAGE_DIR}/doc/${CGAL_PACKAGE_NAME}/fig\n") file(APPEND ${CGAL_DOC_PACKAGE_DEFAULTS} "EXAMPLE_PATH = ${CGAL_PACKAGE_DIR}/examples\n") file(APPEND ${CGAL_DOC_PACKAGE_DEFAULTS} "GENERATE_TAGFILE = ${CGAL_DOC_TAG_GEN_DIR}/${CGAL_PACKAGE_NAME}.tag\n") file(APPEND ${CGAL_DOC_PACKAGE_DEFAULTS} "STRIP_FROM_PATH = ${CGAL_PACKAGE_DIR}/doc/${CGAL_PACKAGE_NAME}/\n") @@ -44,19 +43,45 @@ function(configure_doxygen_package CGAL_PACKAGE_NAME) file(APPEND ${CGAL_DOC_PACKAGE_DEFAULTS} "STRIP_FROM_INC_PATH += ${CGAL_PACKAGE_DIR}/include/\n") file(APPEND ${CGAL_DOC_PACKAGE_DEFAULTS} "ALIASES += \"cgalPkgDescriptionBegin{2}=\\details \"\n") file(APPEND ${CGAL_DOC_PACKAGE_DEFAULTS} "ALIASES += \"cgalPkgManuals{2}=
\"\n") - - # figure out the dependencies - if(EXISTS ${CGAL_PACKAGE_DIR}/doc/${CGAL_PACKAGE_NAME}/dependencies) - file(STRINGS ${CGAL_PACKAGE_DIR}/doc/${CGAL_PACKAGE_NAME}/dependencies DEPENDENCIES) + + # IMAGE_PATH is set by default. For Documentation, we generate the extra path using packages.txt + set(IMAGE_PATH_VALUES "IMAGE_PATH = ${CGAL_PACKAGE_DIR}/doc/${CGAL_PACKAGE_NAME}/fig") + set(DEPENDENCIES "") + # figure out the dependencies, using the file `dependencies` or `packages.txt` for Documentation + if (${CGAL_PACKAGE_NAME} STREQUAL "Documentation") + set(PackageFile ${CGAL_PACKAGE_DIR}/doc/${CGAL_PACKAGE_NAME}/packages.txt) + file(READ ${PackageFile} Entries) + string(REPLACE "\n" ";" EntriesAsList ${Entries}) + foreach(Line ${EntriesAsList}) + if("${Line}" MATCHES "^\\\\package_listing{.+}$") + string(REGEX REPLACE "^\\\\package_listing{(.*/)?(.+)}$" "\\2" PKG "${Line}") + list(APPEND DEPENDENCIES ${PKG}) + # update IMAGE_PATH + SET(PKG_DIR "${PKG}") + if("${Line}" MATCHES "^\\\\package_listing{.+/.+}$") + string(REGEX REPLACE "^\\\\package_listing{(.+)/.+}$" "\\1" PKG_DIR "${Line}") + endif() + SET(IMG_DIR "${CMAKE_SOURCE_DIR}/${PKG_DIR}/doc/${PKG}/fig") + if(EXISTS ${IMG_DIR}) + string(CONCAT IMAGE_PATH_VALUES "${IMAGE_PATH_VALUES}" " \\\n ${IMG_DIR}" ) + endif() + endif() + endforeach() + set(DOCUMENTATION_DEPENDENCIES ${DEPENDENCIES} PARENT_SCOPE) else() - set(DEPENDENCIES "") + if(EXISTS ${CGAL_PACKAGE_DIR}/doc/${CGAL_PACKAGE_NAME}/dependencies) + file(STRINGS ${CGAL_PACKAGE_DIR}/doc/${CGAL_PACKAGE_NAME}/dependencies DEPENDENCIES) + endif() endif() - + foreach(depend ${DEPENDENCIES}) file(APPEND ${CGAL_DOC_PACKAGE_DEFAULTS} "TAGFILES += ${CGAL_DOC_TAG_DIR}/${depend}.tag=../${depend}\n") endforeach() + #now write IMAGE_PATH + file(APPEND ${CGAL_DOC_PACKAGE_DEFAULTS} "${IMAGE_PATH_VALUES}\n") + configure_file(${CGAL_PACKAGE_DIR}/doc/${CGAL_PACKAGE_NAME}/Doxyfile.in ${CGAL_DOC_DXY_DIR}/${CGAL_PACKAGE_NAME}.dxy) @@ -197,8 +222,7 @@ if(DOXYGEN_FOUND) set_target_properties(Documentation_doc PROPERTIES FOLDER Documentation) # hard-code that doc depends on all packages - file(STRINGS ${CMAKE_SOURCE_DIR}/Documentation/doc/Documentation/dependencies DEPENDENCIES) - foreach(depend ${DEPENDENCIES}) + foreach(depend ${DOCUMENTATION_DEPENDENCIES}) add_dependencies(doc_pre ${depend}_internal_doxygen_run) add_dependencies(doc_post ${depend}_copy_doc_tags) add_dependencies(${depend}_copy_doc_tags doc_pre) diff --git a/Documentation/doc/Documentation/Doxyfile.in b/Documentation/doc/Documentation/Doxyfile.in index d0fab13cedd..cd73cb2258a 100644 --- a/Documentation/doc/Documentation/Doxyfile.in +++ b/Documentation/doc/Documentation/Doxyfile.in @@ -30,99 +30,3 @@ SEARCHENGINE = true ALIASES += "cgalPkgDescriptionBegin{2}=\subsection \2 \1" ALIASES += "cgalPkgManuals{2}=
\ref \1 \"User Manual\" \ref \2 \"Reference Manual\"
" ALIASES += "cgalReleaseNumber=${CGAL_CREATED_VERSION_NUM}" - -# all image paths, maybe auto-generate this? -IMAGE_PATH = ${CMAKE_SOURCE_DIR}/Documentation/doc/Documentation/fig \ - ${CMAKE_SOURCE_DIR}/Advancing_front_surface_reconstruction/doc/Advancing_front_surface_reconstruction/fig \ - ${CMAKE_SOURCE_DIR}/Algebraic_foundations/doc/Algebraic_foundations/fig \ - ${CMAKE_SOURCE_DIR}/AABB_tree/doc/AABB_tree/fig \ - ${CMAKE_SOURCE_DIR}/Polygon/doc/Polygon/fig \ - ${CMAKE_SOURCE_DIR}/Polygon_mesh_processing/doc/Polygon_mesh_processing/fig \ - ${CMAKE_SOURCE_DIR}/Polyline_simplification_2/doc/Polyline_simplification_2/fig \ - ${CMAKE_SOURCE_DIR}/Number_types/doc/Number_types/fig \ - ${CMAKE_SOURCE_DIR}/Alpha_shapes_2/doc/Alpha_shapes_2/fig \ - ${CMAKE_SOURCE_DIR}/Alpha_shapes_3/doc/Alpha_shapes_3/fig \ - ${CMAKE_SOURCE_DIR}/Apollonius_graph_2/doc/Apollonius_graph_2/fig \ - ${CMAKE_SOURCE_DIR}/Bounding_volumes/doc/Bounding_volumes/fig \ - ${CMAKE_SOURCE_DIR}/Inscribed_areas/doc/Inscribed_areas/fig \ - ${CMAKE_SOURCE_DIR}/Matrix_search/doc/Matrix_search/fig \ - ${CMAKE_SOURCE_DIR}/Box_intersection_d/doc/Box_intersection_d/fig \ - ${CMAKE_SOURCE_DIR}/CGAL_ipelets/doc/CGAL_ipelets/fig \ - ${CMAKE_SOURCE_DIR}/Circulator/doc/Circulator/fig \ - ${CMAKE_SOURCE_DIR}/Convex_decomposition_3/doc/Convex_decomposition_3/fig \ - ${CMAKE_SOURCE_DIR}/Convex_hull_2/doc/Convex_hull_2/fig \ - ${CMAKE_SOURCE_DIR}/Convex_hull_3/doc/Convex_hull_3/fig \ - ${CMAKE_SOURCE_DIR}/Convex_hull_d/doc/Convex_hull_d/fig \ - ${CMAKE_SOURCE_DIR}/Envelope_2/doc/Envelope_2/fig \ - ${CMAKE_SOURCE_DIR}/Envelope_3/doc/Envelope_3/fig \ - ${CMAKE_SOURCE_DIR}/Generator/doc/Generator/fig \ - ${CMAKE_SOURCE_DIR}/Geomview/doc/Geomview/fig \ - ${CMAKE_SOURCE_DIR}/GraphicsView/doc/GraphicsView/fig \ - ${CMAKE_SOURCE_DIR}/HalfedgeDS/doc/HalfedgeDS/fig \ - ${CMAKE_SOURCE_DIR}/BGL/doc/BGL/fig \ - ${CMAKE_SOURCE_DIR}/Combinatorial_map/doc/Combinatorial_map/fig \ - ${CMAKE_SOURCE_DIR}/Linear_cell_complex/doc/Linear_cell_complex/fig \ - ${CMAKE_SOURCE_DIR}/Interval_skip_list/doc/Interval_skip_list/fig \ - ${CMAKE_SOURCE_DIR}/Nef_2/doc/Nef_2/fig \ - ${CMAKE_SOURCE_DIR}/Nef_S2/doc/Nef_S2/fig \ - ${CMAKE_SOURCE_DIR}/Nef_3/doc/Nef_3/fig \ - ${CMAKE_SOURCE_DIR}/QP_solver/doc/QP_solver/fig \ - ${CMAKE_SOURCE_DIR}/Mesh_2/doc/Mesh_2/fig \ - ${CMAKE_SOURCE_DIR}/Surface_mesher/doc/Surface_mesher/fig \ - ${CMAKE_SOURCE_DIR}/Mesh_3/doc/Mesh_3/fig \ - ${CMAKE_SOURCE_DIR}/Jet_fitting_3/doc/Jet_fitting_3/fig \ - ${CMAKE_SOURCE_DIR}/Minkowski_sum_2/doc/Minkowski_sum_2/fig \ - ${CMAKE_SOURCE_DIR}/Minkowski_sum_3/doc/Minkowski_sum_3/fig \ - ${CMAKE_SOURCE_DIR}/Miscellany/doc/Miscellany/fig \ - ${CMAKE_SOURCE_DIR}/Modular_arithmetic/doc/Modular_arithmetic/fig \ - ${CMAKE_SOURCE_DIR}/Partition_2/doc/Partition_2/fig \ - ${CMAKE_SOURCE_DIR}/Interpolation/doc/Interpolation/fig \ - ${CMAKE_SOURCE_DIR}/Kernel_23/doc/Kernel_23/fig \ - ${CMAKE_SOURCE_DIR}/Circular_kernel_2/doc/Circular_kernel_2/fig \ - ${CMAKE_SOURCE_DIR}/Circular_kernel_3/doc/Circular_kernel_3/fig \ - ${CMAKE_SOURCE_DIR}/Algebraic_kernel_d/doc/Algebraic_kernel_d/fig \ - ${CMAKE_SOURCE_DIR}/Kernel_d/doc/Kernel_d/fig \ - ${CMAKE_SOURCE_DIR}/Point_set_2/doc/Point_set_2/fig \ - ${CMAKE_SOURCE_DIR}/SearchStructures/doc/SearchStructures/fig \ - ${CMAKE_SOURCE_DIR}/Polytope_distance_d/doc/Polytope_distance_d/fig \ - ${CMAKE_SOURCE_DIR}/Polyhedron/doc/Polyhedron/fig \ - ${CMAKE_SOURCE_DIR}/Polynomial/doc/Polynomial/fig \ - ${CMAKE_SOURCE_DIR}/Principal_component_analysis/doc/Principal_component_analysis/fig \ - ${CMAKE_SOURCE_DIR}/STL_Extension/doc/STL_Extension/fig \ - ${CMAKE_SOURCE_DIR}/Skin_surface_3/doc/Skin_surface_3/fig \ - ${CMAKE_SOURCE_DIR}/Snap_rounding_2/doc/Snap_rounding_2/fig \ - ${CMAKE_SOURCE_DIR}/Arrangement_on_surface_2/doc/Sweep_line_2/fig \ - ${CMAKE_SOURCE_DIR}/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/fig \ - ${CMAKE_SOURCE_DIR}/Boolean_set_operations_2/doc/Boolean_set_operations_2/fig \ - ${CMAKE_SOURCE_DIR}/Triangulation_2/doc/TDS_2/fig \ - ${CMAKE_SOURCE_DIR}/Triangulation_2/doc/Triangulation_2/fig \ - ${CMAKE_SOURCE_DIR}/Triangulation_3/doc/TDS_3/fig \ - ${CMAKE_SOURCE_DIR}/Triangulation_3/doc/Triangulation_3/fig \ - ${CMAKE_SOURCE_DIR}/Triangulation/doc/Triangulation/fig \ - ${CMAKE_SOURCE_DIR}/Ridges_3/doc/Ridges_3/fig \ - ${CMAKE_SOURCE_DIR}/Point_set_processing_3/doc/Point_set_processing_3/fig \ - ${CMAKE_SOURCE_DIR}/Point_set_processing_3/doc/Property_map/fig \ - ${CMAKE_SOURCE_DIR}/Point_set_shape_detection_3/doc/Point_set_shape_detection_3/fig \ - ${CMAKE_SOURCE_DIR}/Kinetic_data_structures/doc/Kinetic_framework/fig \ - ${CMAKE_SOURCE_DIR}/Periodic_2_triangulation_2/doc/Periodic_2_triangulation_2/fig \ - ${CMAKE_SOURCE_DIR}/Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/fig \ - ${CMAKE_SOURCE_DIR}/Scale_space_reconstruction_3/doc/Scale_space_reconstruction_3/fig \ - ${CMAKE_SOURCE_DIR}/Spatial_searching/doc/Spatial_searching/fig \ - ${CMAKE_SOURCE_DIR}/Spatial_sorting/doc/Spatial_sorting/fig \ - ${CMAKE_SOURCE_DIR}/Segment_Delaunay_graph_2/doc/Segment_Delaunay_graph_2/fig \ - ${CMAKE_SOURCE_DIR}/Segment_Delaunay_graph_Linf_2/doc/Segment_Delaunay_graph_Linf_2/fig \ - ${CMAKE_SOURCE_DIR}/Straight_skeleton_2/doc/Straight_skeleton_2/fig \ - ${CMAKE_SOURCE_DIR}/Visibility_2/doc/Visibility_2/fig \ - ${CMAKE_SOURCE_DIR}/Voronoi_diagram_2/doc/Voronoi_diagram_2/fig \ - ${CMAKE_SOURCE_DIR}/Surface_mesh_simplification/doc/Surface_mesh_simplification/fig \ - ${CMAKE_SOURCE_DIR}/Surface_mesh_skeletonization/doc/Surface_mesh_skeletonization/fig \ - ${CMAKE_SOURCE_DIR}/Surface_mesh_segmentation/doc/Surface_mesh_segmentation/fig \ - ${CMAKE_SOURCE_DIR}/Subdivision_method_3/doc/Subdivision_method_3/fig \ - ${CMAKE_SOURCE_DIR}/Surface_mesh_parameterization/doc/Surface_mesh_parameterization/fig \ - ${CMAKE_SOURCE_DIR}/Surface_mesh/doc/Surface_mesh/fig \ - ${CMAKE_SOURCE_DIR}/Surface_reconstruction_points_3/doc/Surface_reconstruction_points_3/fig \ - ${CMAKE_SOURCE_DIR}/Stream_lines_2/doc/Stream_lines_2/fig \ - ${CMAKE_SOURCE_DIR}/Stream_support/doc/Stream_support/fig \ - ${CMAKE_SOURCE_DIR}/Surface_modeling/doc/Surface_modeling/fig \ - ${CMAKE_SOURCE_DIR}/Barycentric_coordinates_2/doc/Barycentric_coordinates_2/fig \ - ${CMAKE_SOURCE_DIR}/Surface_mesh_shortest_path/doc/Surface_mesh_shortest_path/fig \ diff --git a/Documentation/doc/Documentation/dependencies b/Documentation/doc/Documentation/dependencies deleted file mode 100644 index 279d79c3d12..00000000000 --- a/Documentation/doc/Documentation/dependencies +++ /dev/null @@ -1,97 +0,0 @@ -Algebraic_foundations -Advancing_front_surface_reconstruction -AABB_tree -Polygon -Number_types -Alpha_shapes_2 -Alpha_shapes_3 -Apollonius_graph_2 -Bounding_volumes -Inscribed_areas -Matrix_search -Box_intersection_d -CGAL_ipelets -Circulator -Convex_decomposition_3 -Convex_hull_2 -Convex_hull_3 -Convex_hull_d -Envelope_2 -Envelope_3 -Generator -Geomview -GraphicsView -HalfedgeDS -BGL -Combinatorial_map -Linear_cell_complex -Interval_skip_list -Nef_2 -Nef_S2 -Nef_3 -QP_solver -Mesh_2 -Surface_mesher -Mesh_3 -Jet_fitting_3 -Minkowski_sum_2 -Minkowski_sum_3 -Miscellany -Modular_arithmetic -Partition_2 -Interpolation -Kernel_23 -Circular_kernel_2 -Circular_kernel_3 -Algebraic_kernel_d -Kernel_d -Point_set_2 -SearchStructures -Surface_mesh_skeletonization -Polytope_distance_d -Polyhedron -Polynomial -Principal_component_analysis -STL_Extension -Skin_surface_3 -Snap_rounding_2 -Sweep_line_2 -Arrangement_on_surface_2 -Boolean_set_operations_2 -TDS_2 -Triangulation_2 -TDS_3 -Triangulation_3 -Triangulation -Ridges_3 -Point_set_processing_3 -Point_set_shape_detection_3 -Polyline_simplification_2 -Property_map -Kinetic_framework -Kinetic_data_structures -Periodic_2_triangulation_2 -Periodic_3_triangulation_3 -Scale_space_reconstruction_3 -Spatial_searching -Spatial_sorting -Segment_Delaunay_graph_2 -Segment_Delaunay_graph_Linf_2 -Straight_skeleton_2 -Visibility_2 -Voronoi_diagram_2 -Surface_mesh_simplification -Subdivision_method_3 -Surface_mesh_parameterization -Surface_reconstruction_points_3 -Surface_mesh_segmentation -Stream_lines_2 -Stream_support -Surface_modeling -Barycentric_coordinates_2 -Surface_mesh -Surface_mesh_shortest_path -Polygon_mesh_processing - - -