1 #### Generate the html documentation
3 find_path(FIG2DEV_PATH NAMES fig2dev PATHS NO_DEFAULT_PATHS)
4 find_path(DOXYGEN_PATH NAMES doxygen PATHS NO_DEFAULT_PATHS)
7 file(GLOB_RECURSE source_doxygen
8 "${CMAKE_HOME_DIRECTORY}/tools/gras/*.[chl]"
9 "${CMAKE_HOME_DIRECTORY}/src/*.[chl]"
10 "${CMAKE_HOME_DIRECTORY}/include/*.[chl]"
14 if(DOXYGEN_PATH AND FIG2DEV_PATH)
16 set(REFDOCSSOURCES "${source_doxygen}\n${REF_GUIDE_SOURCES}")
17 string(REPLACE "\n" ";" REFDOCSSOURCES ${REFDOCSSOURCES})
21 ${CMAKE_HOME_DIRECTORY}/doc/webcruft/simgrid_logo_2011.png
22 ${CMAKE_HOME_DIRECTORY}/doc/webcruft/simgrid_logo_2011_small.png
25 configure_file(${CMAKE_HOME_DIRECTORY}/doc/ref_guide/doxygen/RefGuideDoxyfile.in ${CMAKE_HOME_DIRECTORY}/doc/ref_guide/doxygen/RefGuideDoxyfile @ONLY)
27 ADD_CUSTOM_TARGET(ref_guide
28 COMMENT "Generating the SimGrid ref guide..."
29 DEPENDS ${DOC_SOURCES} ${DOC_FIGS} ${source_doxygen}
30 COMMAND ${CMAKE_COMMAND} -E remove_directory ${CMAKE_HOME_DIRECTORY}/doc/ref_guide/html
31 COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_HOME_DIRECTORY}/doc/ref_guide/html
32 WORKING_DIRECTORY ${CMAKE_HOME_DIRECTORY}/doc/ref_guide/
35 ADD_CUSTOM_COMMAND(TARGET ref_guide
36 DEPENDS ${source_doxygen}
37 COMMAND ${CMAKE_COMMAND} -E remove_directory ${CMAKE_HOME_DIRECTORY}/doc/ref_guide/doxygen/logcategories.doc
38 COMMAND ${CMAKE_HOME_DIRECTORY}/tools/doxygen/xbt_log_extract_hierarchy.pl > ${CMAKE_HOME_DIRECTORY}/doc/ref_guide/doxygen/logcategories.doc
39 WORKING_DIRECTORY ${CMAKE_HOME_DIRECTORY}
42 foreach(file ${DOC_FIGS})
43 string(REPLACE ".fig" ".png" tmp_file ${file})
44 string(REPLACE "${CMAKE_HOME_DIRECTORY}/doc/shared/fig/" "${CMAKE_HOME_DIRECTORY}/doc/ref_guide/html/" tmp_file ${tmp_file})
45 ADD_CUSTOM_COMMAND(TARGET ref_guide
46 COMMAND ${FIG2DEV_PATH}/fig2dev -Lpng -S 4 ${file} ${tmp_file}
48 endforeach(file ${DOC_FIGS})
50 foreach(file ${DOC_PNGS})
51 ADD_CUSTOM_COMMAND(TARGET ref_guide
52 COMMAND ${CMAKE_COMMAND} -E copy ${file} ${CMAKE_HOME_DIRECTORY}/doc/ref_guide/html/
54 endforeach(file ${DOC_PNGS})
56 ADD_CUSTOM_COMMAND(TARGET ref_guide
57 COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_HOME_DIRECTORY}/doc/simgrid.css ${CMAKE_HOME_DIRECTORY}/doc/ref_guide/html/
60 ADD_CUSTOM_COMMAND(TARGET ref_guide
61 COMMAND ${FIG2DEV_PATH}/fig2dev -Lmap ${CMAKE_HOME_DIRECTORY}/doc/shared/fig/simgrid_modules.fig | perl -pe 's/imagemap/simgrid_modules/g'| perl -pe 's/<IMG/<IMG style=border:0px/g' | ${CMAKE_HOME_DIRECTORY}/tools/doxygen/fig2dev_postprocessor.pl > ${CMAKE_HOME_DIRECTORY}/doc/ref_guide/doxygen/simgrid_modules.map
62 COMMAND ${CMAKE_COMMAND} -E echo "XX First Doxygen pass"
63 COMMAND ${DOXYGEN_PATH}/doxygen RefGuideDoxyfile
64 COMMAND ${CMAKE_HOME_DIRECTORY}/tools/doxygen/index_create.pl simgridrefguide.tag index-API.doc
66 COMMAND ${CMAKE_COMMAND} -E echo "XX Second Doxygen pass"
67 COMMAND ${DOXYGEN_PATH}/doxygen RefGuideDoxyfile
69 COMMAND ${CMAKE_COMMAND} -E remove -f ${CMAKE_HOME_DIRECTORY}/doc/ref_guide/html/dir*
72 WORKING_DIRECTORY ${CMAKE_HOME_DIRECTORY}/doc/ref_guide/doxygen
75 else(DOXYGEN_PATH AND FIG2DEV_PATH)
77 ADD_CUSTOM_TARGET(ref_guide
78 COMMENT "Generating the SimGrid documentation..."
81 ADD_CUSTOM_COMMAND(TARGET ref_guide
82 COMMAND ${CMAKE_COMMAND} -E echo "DOXYGEN_PATH = ${DOXYGEN_PATH}"
83 COMMAND ${CMAKE_COMMAND} -E echo "FIG2DEV_PATH = ${FIG2DEV_PATH}"
84 COMMAND ${CMAKE_COMMAND} -E echo "IN ORDER TO GENERATE THE DOCUMENTATION YOU NEED ALL TOOLS !!!"
85 COMMAND ${CMAKE_COMMAND} -E echo "FAIL TO MAKE SIMGRID DOCUMENTATION see previous messages for details ..."
90 endif(DOXYGEN_PATH AND FIG2DEV_PATH)
92 ##############################################################################"
95 ADD_CUSTOM_TARGET(ref_guide_pdf
96 COMMAND ${CMAKE_COMMAND} -E echo "XX First pass simgrid_documentation.pdf"
98 COMMAND make pdf || true
99 COMMAND ${CMAKE_COMMAND} -E echo "XX Second pass simgrid_documentation.pdf"
100 COMMAND ${CMAKE_COMMAND} -E remove -f ${CMAKE_HOME_DIRECTORY}/doc/latex/refman.pdf
101 COMMAND make pdf || true
102 COMMAND ${CMAKE_COMMAND} -E echo "XX Write Simgrid_documentation.pdf"
103 COMMAND ${CMAKE_COMMAND} -E rename ${CMAKE_HOME_DIRECTORY}/doc/latex/refman.pdf ${CMAKE_HOME_DIRECTORY}/doc/latex/simgrid_documentation.pdf
105 WORKING_DIRECTORY ${CMAKE_HOME_DIRECTORY}/doc/latex/
107 add_dependencies(ref_guide_pdf ref_guide)