generate IMAGE_PATH and dependencies for the Documentation package

the generation is done using the file packages.txt
This commit is contained in:
Sébastien Loriot 2015-09-12 15:36:38 +02:00
parent b7bc31146e
commit e91f342b31
3 changed files with 33 additions and 202 deletions

View File

@ -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}=<BR>\"\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)

View File

@ -30,99 +30,3 @@ SEARCHENGINE = true
ALIASES += "cgalPkgDescriptionBegin{2}=\subsection \2 \1"
ALIASES += "cgalPkgManuals{2}=<div class=\"PkgManuals\"> <span> \ref \1 \"User Manual\" </span> <span style=\"padding-left: 20px;\">\ref \2 \"Reference Manual\" </span> </div>"
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 \

View File

@ -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