Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
definitely fix doc generation, and inclusion of documentation in dist archives
authormquinson <mquinson@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Tue, 30 Nov 2010 21:15:26 +0000 (21:15 +0000)
committermquinson <mquinson@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Tue, 30 Nov 2010 21:15:26 +0000 (21:15 +0000)
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@8785 48e7efb5-ca39-0410-a469-dd3cf9ba447f

CMakeLists.txt
buildtools/Cmake/DefinePackages.cmake
buildtools/Cmake/Distrib.cmake
buildtools/Cmake/GenerateDoc.cmake

index 5abe010..63df508 100644 (file)
@@ -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
index 62331c9..1c2cc46 100644 (file)
@@ -807,4 +807,4 @@ set(source_to_pack
        ${DOC_SOURCES}
        ${DOC_FIGS}
        ${README_files}
-)
\ No newline at end of file
+)
index c7e7b78..83af4c7 100644 (file)
@@ -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}/
index fd0dbcf..1b3f09e 100644 (file)
@@ -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/<IMG/<IMG style=border:0px/g' > ${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/<IMG/<IMG style=border:0px/g' > ${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 \"<center><h2><br><a href='http://simgrid.gforge.inria.fr/doc/group__SD__API.html'>DAG Simulator.</a></h2></center></html>\" >> ${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