From: mquinson Date: Tue, 30 Nov 2010 21:15:26 +0000 (+0000) Subject: definitely fix doc generation, and inclusion of documentation in dist archives X-Git-Tag: v3_5~46 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/3ef766de9bcfde2fa7534b57ac68253b461f4988 definitely fix doc generation, and inclusion of documentation in dist archives git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@8785 48e7efb5-ca39-0410-a469-dd3cf9ba447f --- diff --git a/CMakeLists.txt b/CMakeLists.txt index 5abe010bf9..63df508e23 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -149,9 +149,6 @@ endif(WIN32) ### Build the doc if(enable_doc) include(${PROJECT_DIRECTORY}/buildtools/Cmake/GenerateDoc.cmake) - - ADD_CUSTOM_TARGET(simgrid_documentation ALL) - add_dependencies(simgrid_documentation APPEND_DOC) endif(enable_doc) ### Make Simgrid.jar and Java examples diff --git a/buildtools/Cmake/DefinePackages.cmake b/buildtools/Cmake/DefinePackages.cmake index 62331c9501..1c2cc46922 100644 --- a/buildtools/Cmake/DefinePackages.cmake +++ b/buildtools/Cmake/DefinePackages.cmake @@ -807,4 +807,4 @@ set(source_to_pack ${DOC_SOURCES} ${DOC_FIGS} ${README_files} -) \ No newline at end of file +) diff --git a/buildtools/Cmake/Distrib.cmake b/buildtools/Cmake/Distrib.cmake index c7e7b78adf..83af4c77bd 100644 --- a/buildtools/Cmake/Distrib.cmake +++ b/buildtools/Cmake/Distrib.cmake @@ -207,13 +207,22 @@ endif(HAVE_RUBY) ### Fill in the "make dist-dir" target ### ########################################## +if(enable_doc) add_custom_target(dist-dir + COMMENT "Generating the distribution directory" COMMAND test -e simgrid-${release_version}/ && chmod -R a+w simgrid-${release_version}/ || true COMMAND ${CMAKE_COMMAND} -E remove_directory simgrid-${release_version}/ COMMAND ${CMAKE_COMMAND} -E make_directory simgrid-${release_version} COMMAND ${CMAKE_COMMAND} -E make_directory simgrid-${release_version}/doc/html/ COMMAND ${CMAKE_COMMAND} -E copy_directory ${PROJECT_DIRECTORY}/doc/html/ simgrid-${release_version}/doc/html/ ) +add_dependencies(dist-dir simgrid_documentation) +else(enable_doc) +add_custom_target(dist-dir + COMMAND ${CMAKE_COMMAND} -E echo "Please enable the doc to generate the doc" + COMMAND I_said_PLEASE_ENABLE_THE_DOC_GENERATION_BEFORE_BUILDING_AN_ARCHIVE +) +endif(enable_doc) set(dirs_in_tarball "") foreach(file ${source_to_pack}) @@ -248,6 +257,7 @@ add_custom_target(dist ) add_custom_command( OUTPUT ${CMAKE_BINARY_DIR}/simgrid-${release_version}.tar.gz + COMMENT "Compressing the archive from the distribution directory" COMMAND ${CMAKE_COMMAND} -E tar cf simgrid-${release_version}.tar simgrid-${release_version}/ COMMAND gzip -9v simgrid-${release_version}.tar COMMAND ${CMAKE_COMMAND} -E remove_directory simgrid-${release_version}/ diff --git a/buildtools/Cmake/GenerateDoc.cmake b/buildtools/Cmake/GenerateDoc.cmake index fd0dbcf2ca..1b3f09e3b1 100644 --- a/buildtools/Cmake/GenerateDoc.cmake +++ b/buildtools/Cmake/GenerateDoc.cmake @@ -36,56 +36,62 @@ file(GLOB_RECURSE source_doxygen "${PROJECT_DIRECTORY}/include/*.[chl]" ) -ADD_CUSTOM_TARGET(APPEND_DOC - COMMENT "Generating the SimGrid documentation..." - DEPENDS ${DOC_SOURCES} ${DOC_FIGS} ${source_doxygen} - COMMAND ${CMAKE_COMMAND} -E remove_directory ${PROJECT_DIRECTORY}/doc/html - COMMAND ${CMAKE_COMMAND} -E make_directory ${PROJECT_DIRECTORY}/doc/html - COMMAND ${CMAKE_COMMAND} -E make_directory ${PROJECT_DIRECTORY}/doc/html/generated - COMMAND ${CMAKE_COMMAND} -E touch ${PROJECT_DIRECTORY}/doc/html/generated - WORKING_DIRECTORY ${PROJECT_DIRECTORY}/doc -) - -string(REGEX REPLACE ";.*logcategories.doc" "" LISTE_DEUX "${LISTE_DEUX}") -#DOC_SOURCE=doc/*.doc, defined in DefinePackage -set(DOCSSOURCES "${source_doxygen}\n${DOC_SOURCE}") -string(REPLACE "\n" ";" DOCSSOURCES ${DOCSSOURCES}) +if(DOXYGEN_PATH AND FIG2DEV_PATH AND BIBTOOL_PATH AND BIBTEX2HTML_PATH AND ICONV_PATH) + string(REGEX REPLACE ";.*logcategories.doc" "" LISTE_DEUX "${LISTE_DEUX}") -set(DOC_PNGS - ${PROJECT_DIRECTORY}/doc/webcruft/simgrid_logo.png - ${PROJECT_DIRECTORY}/doc/webcruft/simgrid_logo_small.png - ${PROJECT_DIRECTORY}/doc/webcruft/poster_thumbnail.png -) + #DOC_SOURCE=doc/*.doc, defined in DefinePackage + set(DOCSSOURCES "${source_doxygen}\n${DOC_SOURCE}") + string(REPLACE "\n" ";" DOCSSOURCES ${DOCSSOURCES}) -if(DOXYGEN_PATH AND FIG2DEV_PATH) - ADD_CUSTOM_COMMAND(TARGET APPEND_DOC - COMMAND ${FIG2DEV_PATH}/fig2dev -Lmap ${PROJECT_DIRECTORY}/doc/fig/simgrid_modules.fig |perl -pe 's/imagemap/simgrid_modules/g'| perl -pe 's/ ${PROJECT_DIRECTORY}/doc/simgrid_modules.map + set(DOC_PNGS + ${PROJECT_DIRECTORY}/doc/webcruft/simgrid_logo.png + ${PROJECT_DIRECTORY}/doc/webcruft/simgrid_logo_small.png + ${PROJECT_DIRECTORY}/doc/webcruft/poster_thumbnail.png ) + ADD_CUSTOM_TARGET(simgrid_documentation ALL + COMMENT "Generating the SimGrid documentation..." + DEPENDS ${DOC_SOURCES} ${DOC_FIGS} ${source_doxygen} + COMMAND ${CMAKE_COMMAND} -E remove_directory ${PROJECT_DIRECTORY}/doc/html + COMMAND ${CMAKE_COMMAND} -E make_directory ${PROJECT_DIRECTORY}/doc/html + + COMMAND ${FIG2DEV_PATH}/fig2dev -Lmap ${PROJECT_DIRECTORY}/doc/fig/simgrid_modules.fig |perl -pe 's/imagemap/simgrid_modules/g'| perl -pe 's/ ${PROJECT_DIRECTORY}/doc/simgrid_modules.map + + WORKING_DIRECTORY ${PROJECT_DIRECTORY}/doc + ) + + ADD_CUSTOM_COMMAND( + OUTPUT ${PROJECT_DIRECTORY}/doc/logcategories.doc + DEPENDS ${source_doxygen} + COMMAND ${CMAKE_COMMAND} -E remove_directory ${PROJECT_DIRECTORY}/doc/logcategories.doc + COMMAND ${PROJECT_DIRECTORY}/tools/doxygen/xbt_log_extract_hierarchy.pl > ${PROJECT_DIRECTORY}/doc/logcategories.doc + WORKING_DIRECTORY ${PROJECT_DIRECTORY} + ) + foreach(file ${FIGS}) string(REPLACE ".fig" ".png" tmp_file ${file}) string(REPLACE "${PROJECT_DIRECTORY}/doc/fig/" "${PROJECT_DIRECTORY}/doc/html/" tmp_file ${tmp_file}) - ADD_CUSTOM_COMMAND(TARGET APPEND_DOC + ADD_CUSTOM_COMMAND(TARGET simgrid_documentation COMMAND "${FIG2DEV_PATH}/fig2dev -Lpng ${file} ${tmp_file}" ) endforeach(file ${FIGS}) - ADD_CUSTOM_COMMAND(TARGET APPEND_DOC + ADD_CUSTOM_COMMAND(TARGET simgrid_documentation COMMAND ${CMAKE_COMMAND} -E touch ${PROJECT_DIRECTORY}/doc/index-API.doc ${PROJECT_DIRECTORY}/doc/.FAQ.doc.toc ${PROJECT_DIRECTORY}/doc/.index.doc.toc ${PROJECT_DIRECTORY}/doc/.contrib.doc.toc ${PROJECT_DIRECTORY}/doc/.history.doc.toc ) foreach(file ${DOC_PNGS}) - ADD_CUSTOM_COMMAND(TARGET APPEND_DOC + ADD_CUSTOM_COMMAND(TARGET simgrid_documentation COMMAND ${CMAKE_COMMAND} -E copy ${file} ${PROJECT_DIRECTORY}/doc/html/ ) endforeach(file ${DOC_PNGS}) - ADD_CUSTOM_COMMAND(TARGET APPEND_DOC + ADD_CUSTOM_COMMAND(TARGET simgrid_documentation COMMAND ${CMAKE_COMMAND} -E copy ${PROJECT_DIRECTORY}/doc/webcruft/Paje_MSG_screenshot_thn.jpg ${PROJECT_DIRECTORY}/doc/html/ COMMAND ${CMAKE_COMMAND} -E copy ${PROJECT_DIRECTORY}/doc/webcruft/Paje_MSG_screenshot.jpg ${PROJECT_DIRECTORY}/doc/html/ COMMAND ${CMAKE_COMMAND} -E copy ${PROJECT_DIRECTORY}/doc/triva-graph_configuration.png ${PROJECT_DIRECTORY}/doc/html/ @@ -95,7 +101,7 @@ if(DOXYGEN_PATH AND FIG2DEV_PATH) configure_file(${PROJECT_DIRECTORY}/doc/Doxyfile.in ${PROJECT_DIRECTORY}/doc/Doxyfile @ONLY) - ADD_CUSTOM_COMMAND(TARGET APPEND_DOC + ADD_CUSTOM_COMMAND(TARGET simgrid_documentation WORKING_DIRECTORY ${PROJECT_DIRECTORY}/doc/ COMMAND ${CMAKE_COMMAND} -E echo "XX First Doxygen pass" COMMAND ${DOXYGEN_PATH}/doxygen ${PROJECT_DIRECTORY}/doc/Doxyfile @@ -124,13 +130,12 @@ if(DOXYGEN_PATH AND FIG2DEV_PATH) COMMAND ${CMAKE_COMMAND} -E echo \"


DAG Simulator.

\" >> ${PROJECT_DIRECTORY}/doc/html/simdag.html ) -if(BIBTOOL_PATH AND BIBTEX2HTML_PATH AND ICONV_PATH) ADD_CUSTOM_COMMAND( OUTPUT ${PROJECT_DIRECTORY}/doc/publis_count.html DEPENDS all.bib COMMAND ${PROJECT_DIRECTORY}/tools/doxygen/bibtex2html_table_count.pl < ${PROJECT_DIRECTORY}/doc/all.bib > ${PROJECT_DIRECTORY}/doc/publis_count.html ) - add_dependencies(APPEND_DOC ${PROJECT_DIRECTORY}/doc/publis_count.html) + add_dependencies(simgrid_documentation ${PROJECT_DIRECTORY}/doc/publis_count.html) ADD_CUSTOM_COMMAND( OUTPUT publis_core.bib publis_extern.bib publis_intra.bib @@ -149,21 +154,13 @@ if(BIBTOOL_PATH AND BIBTEX2HTML_PATH AND ICONV_PATH) COMMAND ${PROJECT_DIRECTORY}/tools/doxygen/bibtex2html_wrapper.pl ${file} ) - add_dependencies(APPEND_DOC ${PROJECT_DIRECTORY}/doc/${file}.html) + add_dependencies(simgrid_documentation ${PROJECT_DIRECTORY}/doc/${file}.html) endforeach(file "publis_core publis_extern publis_intra") -endif(BIBTOOL_PATH AND BIBTEX2HTML_PATH AND ICONV_PATH) - -endif(DOXYGEN_PATH AND FIG2DEV_PATH) - -ADD_CUSTOM_COMMAND( - OUTPUT ${PROJECT_DIRECTORY}/doc/logcategories.doc - DEPENDS ${source_doxygen} - COMMAND ${CMAKE_COMMAND} -E remove_directory ${PROJECT_DIRECTORY}/doc/logcategories.doc - COMMAND ${PROJECT_DIRECTORY}/tools/doxygen/xbt_log_extract_hierarchy.pl > ${PROJECT_DIRECTORY}/doc/logcategories.doc - WORKING_DIRECTORY ${PROJECT_DIRECTORY} -) +else(DOXYGEN_PATH AND FIG2DEV_PATH AND BIBTOOL_PATH AND BIBTEX2HTML_PATH AND ICONV_PATH) + message(FATAL_ERROR "You asked to regenerate the documentation, but you are missing some build-dependencies. Please install them, or change enable_doc to OFF") +endif(DOXYGEN_PATH AND FIG2DEV_PATH AND BIBTOOL_PATH AND BIBTEX2HTML_PATH AND ICONV_PATH) message("Check individual TOCs") file(GLOB_RECURSE LISTE_GTUT