Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Verification of the bibtex2html version before make doc.
authornavarrop <navarrop@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Wed, 24 Mar 2010 14:57:32 +0000 (14:57 +0000)
committernavarrop <navarrop@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Wed, 24 Mar 2010 14:57:32 +0000 (14:57 +0000)
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@7349 48e7efb5-ca39-0410-a469-dd3cf9ba447f

buildtools/Cmake/src/doc/CMakeLists.txt
doc/FAQ.doc

index 9c76e58..f08d081 100644 (file)
@@ -5,6 +5,7 @@ find_program(PWD_EXE NAMES pwd)
 find_path(FIG2DEV_PATH NAMES fig2dev   PATHS NO_DEFAULT_PATHS)
 find_path(DOXYGEN_PATH NAMES doxygen   PATHS NO_DEFAULT_PATHS)
 find_path(BIBTOOL_PATH NAMES bibtool   PATHS NO_DEFAULT_PATHS)
 find_path(FIG2DEV_PATH NAMES fig2dev   PATHS NO_DEFAULT_PATHS)
 find_path(DOXYGEN_PATH NAMES doxygen   PATHS NO_DEFAULT_PATHS)
 find_path(BIBTOOL_PATH NAMES bibtool   PATHS NO_DEFAULT_PATHS)
+find_path(BIBTEX2HTML_PATH     NAMES bibtex2html       PATHS NO_DEFAULT_PATHS)
 
 ### AUTO DETECT THE PROJECT_DIRECTORY
 exec_program("${PWD_EXE}" OUTPUT_VARIABLE PROJECT_DIRECTORY)
 
 ### AUTO DETECT THE PROJECT_DIRECTORY
 exec_program("${PWD_EXE}" OUTPUT_VARIABLE PROJECT_DIRECTORY)
@@ -12,202 +13,199 @@ exec_program("${PWD_EXE}" OUTPUT_VARIABLE PROJECT_DIRECTORY)
 string(REPLACE "/buildtools/Cmake/src/doc" "" PROJECT_DIRECTORY "${PROJECT_DIRECTORY}")
 #message("PROJECT_DIRECTORY = ${PROJECT_DIRECTORY}")
 
 string(REPLACE "/buildtools/Cmake/src/doc" "" PROJECT_DIRECTORY "${PROJECT_DIRECTORY}")
 #message("PROJECT_DIRECTORY = ${PROJECT_DIRECTORY}")
 
-if(NOT EXISTS "${PROJECT_DIRECTORY}/bibtex2html-1.02/src/bibtex2html")
-       write_file("${PROJECT_DIRECTORY}/buildtools/Cmake/bibtex2html_install.sh"
-       "#! /bin/sh
-       cd ${PROJECT_DIRECTORY}
-       wget ftp://ftp-sop.inria.fr/epidaure/Softs/bibtex2html/bibtex2html-1.02.tar.gz
-       rm -rf bibtex2html-1.02
-       tar -xvf bibtex2html-1.02.tar.gz
-       rm bibtex2html-1.02.tar.gz
-       cd bibtex2html-1.02/src
-       make"
+SET(MAKE_DOC false)
+
+if(BIBTEX2HTML_PATH)
+       exec_program("${BIBTEX2HTML_PATH}/bibtex2html -version" OUTPUT_VARIABLE SORTIE_BIBTEX2HTML_VERSION)
+       STRING(REPLACE "[-bibtex]" "" SORTIE_BIBTEX2HTML_VERSION_2 ${SORTIE_BIBTEX2HTML_VERSION})
+       if(${SORTIE_BIBTEX2HTML_VERSION_2} STREQUAL ${SORTIE_BIBTEX2HTML_VERSION}) # mauvaise version
+               message("need to set bibtex2html path")
+       else(${SORTIE_BIBTEX2HTML_VERSION_2} STREQUAL ${SORTIE_BIBTEX2HTML_VERSION})# bonne version
+               message("bibtex2html path : ${BIBTEX2HTML_PATH}")
+               SET(MAKE_DOC true)
+       endif(${SORTIE_BIBTEX2HTML_VERSION_2} STREQUAL ${SORTIE_BIBTEX2HTML_VERSION})
+else(BIBTEX2HTML_PATH)
+       message("PAS TROUVER BIBTEX2HTML")
+endif(BIBTEX2HTML_PATH)
+
+if(MAKE_DOC)
+
+       find_path(ICONV_PATH    NAMES iconv     PATHS NO_DEFAULT_PATHS)
+       find_path(MAKE_PATH     NAMES make      PATHS NO_DEFAULT_PATHS)
+
+       exec_program("rm -rf ${PROJECT_DIRECTORY}/doc/html"  "${PROJECT_DIRECTORY}/doc/")
+       exec_program("mkdir -p ${PROJECT_DIRECTORY}/doc/html"  "${PROJECT_DIRECTORY}/doc/")
+       exec_program("find ${PROJECT_DIRECTORY}/tools/gras  ${PROJECT_DIRECTORY}/src ${PROJECT_DIRECTORY}/include -name \"*.[chl]\"" OUTPUT_VARIABLE LISTE_UNE)
+       exec_program("find ${PROJECT_DIRECTORY} -name \"*.doc\" |grep -v logcategories.doc"  "${PROJECT_DIRECTORY}/doc/" OUTPUT_VARIABLE LISTE_DEUX)
+
+
+       set(DOCSSOURCES "${LISTE_UNE}\n${LISTE_DEUX}")
+       string(REPLACE "\n" ";" DOCSSOURCES ${DOCSSOURCES})
+
+       set(FIGS
+       ${PROJECT_DIRECTORY}/doc/fig/simgrid_modules.fig
+       ${PROJECT_DIRECTORY}/doc/fig/simgrid_modules2.fig
+       ${PROJECT_DIRECTORY}/doc/fig/amok_bw_test.fig
+       ${PROJECT_DIRECTORY}/doc/fig/amok_bw_sat.fig
+       ${PROJECT_DIRECTORY}/doc/fig/gras_comm.fig
        )
        )
-       exec_program("chmod a=rwx ${PROJECT_DIRECTORY}/buildtools/Cmake/bibtex2html_install.sh")
-       exec_program("${PROJECT_DIRECTORY}/buildtools/Cmake/bibtex2html_install.sh" OUTPUT_VARIABLE OKITOKI)
-       exec_program("rm ${PROJECT_DIRECTORY}/buildtools/Cmake/bibtex2html_install.sh" OUTPUT_VARIABLE OKITOKI)
-
-       if(EXISTS "${PROJECT_DIRECTORY}/bibtex2html-1.02/src/bibtex2html")
-       set(BIBTEX2HTML_PATH ${PROJECT_DIRECTORY}/bibtex2html-1.02/src)
-       else(EXISTS "${PROJECT_DIRECTORY}/bibtex2html-1.02/src/bibtex2html")
-       set(BIBTEX2HTML_PATH NOT_FOUND)
-       endif(EXISTS "${PROJECT_DIRECTORY}/bibtex2html-1.02/src/bibtex2html")
-
-else(NOT EXISTS "${PROJECT_DIRECTORY}/bibtex2html-1.02/src/bibtex2html")
-       set(BIBTEX2HTML_PATH ${PROJECT_DIRECTORY}/bibtex2html-1.02/src)
-endif(NOT EXISTS "${PROJECT_DIRECTORY}/bibtex2html-1.02/src/bibtex2html")
-
-find_path(ICONV_PATH   NAMES iconv     PATHS NO_DEFAULT_PATHS)
-find_path(MAKE_PATH    NAMES make      PATHS NO_DEFAULT_PATHS)
-
-exec_program("rm -rf ${PROJECT_DIRECTORY}/doc/html"  "${PROJECT_DIRECTORY}/doc/")
-exec_program("mkdir -p ${PROJECT_DIRECTORY}/doc/html"  "${PROJECT_DIRECTORY}/doc/")
-exec_program("find ${PROJECT_DIRECTORY}/tools/gras  ${PROJECT_DIRECTORY}/src ${PROJECT_DIRECTORY}/include -name \"*.[chl]\"" OUTPUT_VARIABLE LISTE_UNE)
-exec_program("find ${PROJECT_DIRECTORY} -name \"*.doc\" |grep -v logcategories.doc"  "${PROJECT_DIRECTORY}/doc/" OUTPUT_VARIABLE LISTE_DEUX)
-
-
-set(DOCSSOURCES "${LISTE_UNE}\n${LISTE_DEUX}")
-string(REPLACE "\n" ";" DOCSSOURCES ${DOCSSOURCES})
-
-set(FIGS
-${PROJECT_DIRECTORY}/doc/fig/simgrid_modules.fig
-${PROJECT_DIRECTORY}/doc/fig/simgrid_modules2.fig
-${PROJECT_DIRECTORY}/doc/fig/amok_bw_test.fig
-${PROJECT_DIRECTORY}/doc/fig/amok_bw_sat.fig
-${PROJECT_DIRECTORY}/doc/fig/gras_comm.fig
-)
-
-string(REPLACE ".fig" ".png\n" LISTE_TROIS ${FIGS})
-
-set(PNGS 
-${PROJECT_DIRECTORY}/doc/webcruft/simgrid_logo.png
-${PROJECT_DIRECTORY}/doc/webcruft/simgrid_logo_small.png
-${PROJECT_DIRECTORY}/doc/webcruft/poster_thumbnail.png
-)
-
-SET(PRINT false)
-
-if(PRINT)
-
-message("${DOXYGEN_PATH}/doxygen")
-message("${FIG2DEV_PATH}/fig2dev")
-message("${BIBTOOL_PATH}/bibtool")
-message("${BIBTEX2HTML_PATH}/bibtex2html")
-message("${ICONV_PATH}/iconv")
-message("\n")
-
-endif(PRINT)
-
-if(DOXYGEN_PATH AND FIG2DEV_PATH)
-
-       exec_program("${FIG2DEV_PATH}/fig2dev -Lmap ${PROJECT_DIRECTORY}/doc/fig/simgrid_modules.fig | grep -e IMG -e MAP -e AREA | sed 's/imagemap/simgrid_modules/g' | sed 's/\\.gif/.png/' | sed 's/<IMG /<IMG style=\"border:0px \"/g' | sed 's/\\.gif/.png/' > ${PROJECT_DIRECTORY}/doc/simgrid_modules.map"  "${PROJECT_DIRECTORY}/doc/")
-
-       foreach(file ${FIGS})
-               string(REPLACE ".fig" ".png" tmp_file ${file})
-               string(REPLACE "${PROJECT_DIRECTORY}/doc/fig/" "${PROJECT_DIRECTORY}/doc/html/" tmp_file ${tmp_file})
-               exec_program("${FIG2DEV_PATH}/fig2dev -Lpng ${file} > ${tmp_file}"  "${PROJECT_DIRECTORY}/doc/")
-       endforeach(file ${FIGS})
-
-
-       exec_program("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"  "${PROJECT_DIRECTORY}/doc/")
-       exec_program("test -e ${PROJECT_DIRECTORY}/doc/html || mkdir ${PROJECT_DIRECTORY}/doc/html"  "${PROJECT_DIRECTORY}/doc/")
-
-       foreach(file ${PNGS})
-               exec_program("cp ${file} ${PROJECT_DIRECTORY}/doc/html/"  "${PROJECT_DIRECTORY}/doc/")
-       endforeach(file ${PNGS})
-
-       exec_program("cp ${PROJECT_DIRECTORY}/doc/webcruft/Paje_MSG_screenshot_thn.jpg ${PROJECT_DIRECTORY}/doc/webcruft/Paje_MSG_screenshot.jpg ${PROJECT_DIRECTORY}/doc/html/"  "${PROJECT_DIRECTORY}/doc/")
-       exec_program("cp ${PROJECT_DIRECTORY}/doc/simgrid.css ${PROJECT_DIRECTORY}/doc/html/"  "${PROJECT_DIRECTORY}/doc/") 
-
-       set(top_srcdir "..")
-       set(WARNING "This file is generated, do not edit")
-       set(srcdir ".")
-       configure_file(${PROJECT_DIRECTORY}/doc/Doxyfile.in ${PROJECT_DIRECTORY}/doc/Doxyfile @ONLY)
-# First pass
-       exec_program("${DOXYGEN_PATH}/doxygen ${PROJECT_DIRECTORY}/doc/Doxyfile" "${PROJECT_DIRECTORY}/doc/")
-
-       exec_program("${PROJECT_DIRECTORY}/tools/doxygen/index_create.pl" "${PROJECT_DIRECTORY}/doc/"
-       ARGS simgrid.tag index-API.doc)
-       exec_program("${PROJECT_DIRECTORY}/tools/doxygen/toc_create.pl" "${PROJECT_DIRECTORY}/doc/"
-       ARGS FAQ.doc index.doc contrib.doc gtut-introduction.doc history.doc)
-# Second pass
-       exec_program("${DOXYGEN_PATH}/doxygen ${PROJECT_DIRECTORY}/doc/Doxyfile" "${PROJECT_DIRECTORY}/doc/")
-# Post-processing
-       exec_program("rm -f ${PROJECT_DIRECTORY}/doc/html/dir*"  "${PROJECT_DIRECTORY}/doc/")
-       exec_program("${PROJECT_DIRECTORY}/tools/doxygen/index_php.pl""${PROJECT_DIRECTORY}/doc/"
-       ARGS index.php.in html/index.html index.php)
-       exec_program("${PROJECT_DIRECTORY}/tools/doxygen/doxygen_postprocesser.pl"  "${PROJECT_DIRECTORY}/doc/")
-
-#html/gras.html:
-       exec_program("echo \"<html><META HTTP-EQUIV='Refresh' content='0;URL=http://simgrid.gforge.inria.fr/doc/group__GRAS__API.html'>\" > ${PROJECT_DIRECTORY}/doc/html/gras.html"  "${PROJECT_DIRECTORY}/doc/")
-       exec_program("echo \"<center><h2><br><a href='http://simgrid.gforge.inria.fr/doc/group__GRAS__API.html'>Grid Reality And Simulation.</a></h2></center></html>\" >> ${PROJECT_DIRECTORY}/doc/html/gras.html"  "${PROJECT_DIRECTORY}/doc/")
-#html/amok.html:
-       exec_program("echo \"<html><META HTTP-EQUIV='Refresh' content='0;URL=http://simgrid.gforge.inria.fr/doc/group__AMOK__API.html'>\" > ${PROJECT_DIRECTORY}/doc/html/amok.html"  "${PROJECT_DIRECTORY}/doc/")
-       exec_program("echo \"<center><h2><br><a href='http://simgrid.gforge.inria.fr/doc/group__AMOK__API.html'>Advanced Metacomputing Overlay Kit.</a></h2></center></html>\" >> ${PROJECT_DIRECTORY}/doc/html/amok.html"  "${PROJECT_DIRECTORY}/doc/")
-#html/msg.html:
-       exec_program("echo \"<html><META HTTP-EQUIV='Refresh' content='0;URL=http://simgrid.gforge.inria.fr/doc/group__MSG__API.html'>\" > ${PROJECT_DIRECTORY}/doc/html/msg.html"  "${PROJECT_DIRECTORY}/doc/")
-       exec_program("echo \"<center><h2><br><a href='http://simgrid.gforge.inria.fr/doc/group__MSG__API.html'>Meta SimGrid.</a></h2></center></html>\" >> ${PROJECT_DIRECTORY}/doc/html/msg.html"  "${PROJECT_DIRECTORY}/doc/")
-#html/simdag.html:
-       exec_program("echo \"<html><META HTTP-EQUIV='Refresh' content='0;URL=http://simgrid.gforge.inria.fr/doc/group__SD__API.html'>\" > ${PROJECT_DIRECTORY}/doc/html/simdag.html"  "${PROJECT_DIRECTORY}/doc/")
-       exec_program("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"  "${PROJECT_DIRECTORY}/doc/")
-
-if(BIBTOOL_PATH AND BIBTEX2HTML_PATH AND ICONV_PATH)
-
-#publis_count.html: all.bib
-       exec_program("${PROJECT_DIRECTORY}/tools/doxygen/bibtex2html_table_count.pl < ${PROJECT_DIRECTORY}/doc/all.bib > ${PROJECT_DIRECTORY}/doc/publis_count.html"  "${PROJECT_DIRECTORY}/doc/")
-
-#publis_core.bib: all.bib 
-       exec_program("${BIBTOOL_PATH}/bibtool -- 'select.by.string={category \"core\"}' -- 'preserve.key.case={on}' -- 'preserve.keys={on}' ${PROJECT_DIRECTORY}/doc/all.bib -o ${PROJECT_DIRECTORY}/doc/publis_core.bib"  "${PROJECT_DIRECTORY}/doc/")
-
-#publis_extern.bib: all.bib 
-       exec_program("${BIBTOOL_PATH}/bibtool -- 'select.by.string={category \"extern\"}' -- 'preserve.key.case={on}' -- 'preserve.keys={on}' ${PROJECT_DIRECTORY}/doc/all.bib -o ${PROJECT_DIRECTORY}/doc/publis_extern.bib"  "${PROJECT_DIRECTORY}/doc/")
-
-#publis_intra.bib: all.bib 
-       exec_program("${BIBTOOL_PATH}/bibtool -- 'select.by.string={category \"intra\"}' -- 'preserve.key.case={on}' -- 'preserve.keys={on}' ${PROJECT_DIRECTORY}/doc/all.bib -o ${PROJECT_DIRECTORY}/doc/publis_intra.bib"  "${PROJECT_DIRECTORY}/doc/")
-
-#%_bib.latin1.html: %.bib
-       exec_program("find ${PROJECT_DIRECTORY}/doc/ -name \"*.bib\""  "${PROJECT_DIRECTORY}/doc/" OUTPUT_VARIABLE LISTE_QUATRE)
-       string(REPLACE "\n" ";" LISTE_QUATRE ${LISTE_QUATRE})
-       foreach(file ${LISTE_QUATRE})
-               string(REPLACE ".bib" "_bib.latin1.html" file_tmp "${file}")
-               string(REPLACE ".html" ".html.tmp" file_tmp2 "${file_tmp}")
-               exec_program("${BIBTEX2HTML_PATH}/bibtex2html -single-output -nv -force -sort year -copy-icons ${file} -output ${file_tmp2} 2>&1 | grep -v 'WARNING: unknown field type'"  "${PROJECT_DIRECTORY}/doc/")
-               exec_program("${PROJECT_DIRECTORY}/tools/doxygen/bibtex2html_postprocessor.pl < ${file_tmp2} > ${file_tmp}"  "${PROJECT_DIRECTORY}/doc/")
-               #message("file ${file}\nfile_tmp ${file_tmp}")
-       endforeach(file ${LISTE_QUATRE})
-
-
-#%_bib.html: %_bib.latin1.html
-       exec_program("find ${PROJECT_DIRECTORY}/doc/ -name \"*_bib.latin1.html\""  "${PROJECT_DIRECTORY}/doc/" OUTPUT_VARIABLE LISTE_CINQ)
-       string(REPLACE "\n" ";" LISTE_CINQ ${LISTE_CINQ})
-       foreach(file ${LISTE_CINQ})
-               string(REPLACE "_bib.latin1.html" "_bib.html" file_tmp "${file}")
-               exec_program("${ICONV_PATH}/iconv --from-code latin1 --to-code utf8 ${file} --output ${file_tmp}"  "${PROJECT_DIRECTORY}/doc/")
-               #message("file ${file}\nfile_tmp ${file_tmp}")
-       endforeach(file ${LISTE_CINQ})
-endif(BIBTOOL_PATH AND BIBTEX2HTML_PATH AND ICONV_PATH)
-
-endif(DOXYGEN_PATH AND FIG2DEV_PATH)
-
-file(WRITE ${PROJECT_DIRECTORY}/doc/logcategories.sh   "\#! /bin/sh")  
-file(APPEND ${PROJECT_DIRECTORY}/doc/logcategories.sh  "\npwd=`pwd`")
-file(APPEND ${PROJECT_DIRECTORY}/doc/logcategories.sh  "\nrm -f $pwd/logcategories.doc")
-file(APPEND ${PROJECT_DIRECTORY}/doc/logcategories.sh  "\nset -e")
-file(APPEND ${PROJECT_DIRECTORY}/doc/logcategories.sh  "\necho \"/* Generated file, do not edit */\"     > $pwd/logcategories.doc")
-file(APPEND ${PROJECT_DIRECTORY}/doc/logcategories.sh  "\necho \"/** \\addtogroup XBT_log_cats\"          >> $pwd/logcategories.doc")
-file(APPEND ${PROJECT_DIRECTORY}/doc/logcategories.sh  "\necho \"    @{\"                                >> $pwd/logcategories.doc")
-file(APPEND ${PROJECT_DIRECTORY}/doc/logcategories.sh  "\ncd ${PROJECT_DIRECTORY}/src")
-file(APPEND ${PROJECT_DIRECTORY}/doc/logcategories.sh  "\n${PROJECT_DIRECTORY}/tools/doxygen/xbt_log_extract_hierarchy.pl      >> $pwd/logcategories.doc")
-file(APPEND ${PROJECT_DIRECTORY}/doc/logcategories.sh  "\necho \"@}*/\"                                 >> $pwd/logcategories.doc")
-
-exec_program("chmod a=rwx ${PROJECT_DIRECTORY}/doc/logcategories.sh"  "${PROJECT_DIRECTORY}/doc/")
-exec_program("${PROJECT_DIRECTORY}/doc/logcategories.sh" "${PROJECT_DIRECTORY}/doc/"
-ARGS ${DOCSSOURCES})
-
-
-file(WRITE ${PROJECT_DIRECTORY}/doc/realtoc.sh         "\#! /bin/sh")  
-file(APPEND ${PROJECT_DIRECTORY}/doc/realtoc.sh "\n\necho \"Check individual TOCs\"")
-file(APPEND ${PROJECT_DIRECTORY}/doc/realtoc.sh "\nfor n in gtut-tour-*.doc ; do")
-file(APPEND ${PROJECT_DIRECTORY}/doc/realtoc.sh "\n  sed -n '/Table of Contents/,/hr/p' $n|grep ref > tmp.curtoc;")
-file(APPEND ${PROJECT_DIRECTORY}/doc/realtoc.sh "\n  grep -E '\\\\s?u?b?section' $n | grep -v _toc | sed -e 's/\\\\section //' -e 's/\\\\subsection /subsection/' -e 's/ .*//' | sed -e 's/^/ - \\\\ref /' -e 's/- \\\\ref subsection/   - \\\\ref /' > tmp.realtoc;")
-file(APPEND ${PROJECT_DIRECTORY}/doc/realtoc.sh "\n  if ! diff -q tmp.curtoc tmp.realtoc >/dev/null; then")
-file(APPEND ${PROJECT_DIRECTORY}/doc/realtoc.sh "\n    echo \"Wrong toc for $n. Should be ;\"")
-file(APPEND ${PROJECT_DIRECTORY}/doc/realtoc.sh "\n    cat tmp.realtoc;")
-file(APPEND ${PROJECT_DIRECTORY}/doc/realtoc.sh "\n  fi ;")
-file(APPEND ${PROJECT_DIRECTORY}/doc/realtoc.sh "\ndone")
-file(APPEND ${PROJECT_DIRECTORY}/doc/realtoc.sh "\n\nrm tmp.realtoc tmp.curtoc")
-file(APPEND ${PROJECT_DIRECTORY}/doc/realtoc.sh "\necho \"Check main TOC\"")
-file(APPEND ${PROJECT_DIRECTORY}/doc/realtoc.sh "\nfor n in gtut-tour-*doc; do")
-file(APPEND ${PROJECT_DIRECTORY}/doc/realtoc.sh "\n  grep @page $n | sed -e 's/@page //' -e 's/ .*//' -e 's/^/ - \\\\ref /' >>tmp.realtoc;")
-file(APPEND ${PROJECT_DIRECTORY}/doc/realtoc.sh "\n  sed -n -e '/Table of Contents/,/hr/p' $n|sed -e 's/^/   /'| grep -v toc|grep -v '<hr>'|grep [^[:blank:]] >>tmp.realtoc;")
-file(APPEND ${PROJECT_DIRECTORY}/doc/realtoc.sh "\ndone")
-file(APPEND ${PROJECT_DIRECTORY}/doc/realtoc.sh "\ngrep ' *- \\\\ref' gtut-tour.doc > tmp.curtoc")
-file(APPEND ${PROJECT_DIRECTORY}/doc/realtoc.sh "\nif ! diff -b -u tmp.curtoc tmp.realtoc ; then")
-file(APPEND ${PROJECT_DIRECTORY}/doc/realtoc.sh "\n  echo \"Wrong toc for gtut-tour.doc Right one is in tmp.realtoc\";")
-file(APPEND ${PROJECT_DIRECTORY}/doc/realtoc.sh "\nelse")
-file(APPEND ${PROJECT_DIRECTORY}/doc/realtoc.sh "\n  rm tmp.realtoc;")
-file(APPEND ${PROJECT_DIRECTORY}/doc/realtoc.sh "\nfi ;")
-file(APPEND ${PROJECT_DIRECTORY}/doc/realtoc.sh "\nrm tmp.curtoc")
-
-exec_program("chmod a=rwx ${PROJECT_DIRECTORY}/doc/realtoc.sh"  "${PROJECT_DIRECTORY}/doc/")
-exec_program("${PROJECT_DIRECTORY}/doc/realtoc.sh" "${PROJECT_DIRECTORY}/doc/")
+
+       string(REPLACE ".fig" ".png\n" LISTE_TROIS ${FIGS})
+
+       set(PNGS 
+       ${PROJECT_DIRECTORY}/doc/webcruft/simgrid_logo.png
+       ${PROJECT_DIRECTORY}/doc/webcruft/simgrid_logo_small.png
+       ${PROJECT_DIRECTORY}/doc/webcruft/poster_thumbnail.png
+       )
+
+       SET(PRINT false)
+
+       if(PRINT)
+
+       message("${DOXYGEN_PATH}/doxygen")
+       message("${FIG2DEV_PATH}/fig2dev")
+       message("${BIBTOOL_PATH}/bibtool")
+       message("${BIBTEX2HTML_PATH}/bibtex2html")
+       message("${ICONV_PATH}/iconv")
+       message("\n")
+
+       endif(PRINT)
+
+       if(DOXYGEN_PATH AND FIG2DEV_PATH)
+
+               exec_program("${FIG2DEV_PATH}/fig2dev -Lmap ${PROJECT_DIRECTORY}/doc/fig/simgrid_modules.fig | grep -e IMG -e MAP -e AREA | sed 's/imagemap/simgrid_modules/g' | sed 's/\\.gif/.png/' | sed 's/<IMG /<IMG style=\"border:0px \"/g' | sed 's/\\.gif/.png/' > ${PROJECT_DIRECTORY}/doc/simgrid_modules.map"  "${PROJECT_DIRECTORY}/doc/")
+
+               foreach(file ${FIGS})
+                       string(REPLACE ".fig" ".png" tmp_file ${file})
+                       string(REPLACE "${PROJECT_DIRECTORY}/doc/fig/" "${PROJECT_DIRECTORY}/doc/html/" tmp_file ${tmp_file})
+                       exec_program("${FIG2DEV_PATH}/fig2dev -Lpng ${file} > ${tmp_file}"  "${PROJECT_DIRECTORY}/doc/")
+               endforeach(file ${FIGS})
+
+
+               exec_program("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"  "${PROJECT_DIRECTORY}/doc/")
+               exec_program("test -e ${PROJECT_DIRECTORY}/doc/html || mkdir ${PROJECT_DIRECTORY}/doc/html"  "${PROJECT_DIRECTORY}/doc/")
+
+               foreach(file ${PNGS})
+                       exec_program("cp ${file} ${PROJECT_DIRECTORY}/doc/html/"  "${PROJECT_DIRECTORY}/doc/")
+               endforeach(file ${PNGS})
+
+               exec_program("cp ${PROJECT_DIRECTORY}/doc/webcruft/Paje_MSG_screenshot_thn.jpg ${PROJECT_DIRECTORY}/doc/webcruft/Paje_MSG_screenshot.jpg ${PROJECT_DIRECTORY}/doc/html/"  "${PROJECT_DIRECTORY}/doc/")
+               exec_program("cp ${PROJECT_DIRECTORY}/doc/simgrid.css ${PROJECT_DIRECTORY}/doc/html/"  "${PROJECT_DIRECTORY}/doc/") 
+
+               set(top_srcdir "..")
+               set(WARNING "This file is generated, do not edit")
+               set(srcdir ".")
+               configure_file(${PROJECT_DIRECTORY}/doc/Doxyfile.in ${PROJECT_DIRECTORY}/doc/Doxyfile @ONLY)
+       # First pass
+               exec_program("${DOXYGEN_PATH}/doxygen ${PROJECT_DIRECTORY}/doc/Doxyfile" "${PROJECT_DIRECTORY}/doc/")
+
+               exec_program("${PROJECT_DIRECTORY}/tools/doxygen/index_create.pl" "${PROJECT_DIRECTORY}/doc/"
+               ARGS simgrid.tag index-API.doc)
+               exec_program("${PROJECT_DIRECTORY}/tools/doxygen/toc_create.pl" "${PROJECT_DIRECTORY}/doc/"
+               ARGS FAQ.doc index.doc contrib.doc gtut-introduction.doc history.doc)
+       # Second pass
+               exec_program("${DOXYGEN_PATH}/doxygen ${PROJECT_DIRECTORY}/doc/Doxyfile" "${PROJECT_DIRECTORY}/doc/")
+       # Post-processing
+               exec_program("rm -f ${PROJECT_DIRECTORY}/doc/html/dir*"  "${PROJECT_DIRECTORY}/doc/")
+               exec_program("${PROJECT_DIRECTORY}/tools/doxygen/index_php.pl""${PROJECT_DIRECTORY}/doc/"
+               ARGS index.php.in html/index.html index.php)
+               exec_program("${PROJECT_DIRECTORY}/tools/doxygen/doxygen_postprocesser.pl"  "${PROJECT_DIRECTORY}/doc/")
+
+       #html/gras.html:
+               exec_program("echo \"<html><META HTTP-EQUIV='Refresh' content='0;URL=http://simgrid.gforge.inria.fr/doc/group__GRAS__API.html'>\" > ${PROJECT_DIRECTORY}/doc/html/gras.html"  "${PROJECT_DIRECTORY}/doc/")
+               exec_program("echo \"<center><h2><br><a href='http://simgrid.gforge.inria.fr/doc/group__GRAS__API.html'>Grid Reality And Simulation.</a></h2></center></html>\" >> ${PROJECT_DIRECTORY}/doc/html/gras.html"  "${PROJECT_DIRECTORY}/doc/")
+       #html/amok.html:
+               exec_program("echo \"<html><META HTTP-EQUIV='Refresh' content='0;URL=http://simgrid.gforge.inria.fr/doc/group__AMOK__API.html'>\" > ${PROJECT_DIRECTORY}/doc/html/amok.html"  "${PROJECT_DIRECTORY}/doc/")
+               exec_program("echo \"<center><h2><br><a href='http://simgrid.gforge.inria.fr/doc/group__AMOK__API.html'>Advanced Metacomputing Overlay Kit.</a></h2></center></html>\" >> ${PROJECT_DIRECTORY}/doc/html/amok.html"  "${PROJECT_DIRECTORY}/doc/")
+       #html/msg.html:
+               exec_program("echo \"<html><META HTTP-EQUIV='Refresh' content='0;URL=http://simgrid.gforge.inria.fr/doc/group__MSG__API.html'>\" > ${PROJECT_DIRECTORY}/doc/html/msg.html"  "${PROJECT_DIRECTORY}/doc/")
+               exec_program("echo \"<center><h2><br><a href='http://simgrid.gforge.inria.fr/doc/group__MSG__API.html'>Meta SimGrid.</a></h2></center></html>\" >> ${PROJECT_DIRECTORY}/doc/html/msg.html"  "${PROJECT_DIRECTORY}/doc/")
+       #html/simdag.html:
+               exec_program("echo \"<html><META HTTP-EQUIV='Refresh' content='0;URL=http://simgrid.gforge.inria.fr/doc/group__SD__API.html'>\" > ${PROJECT_DIRECTORY}/doc/html/simdag.html"  "${PROJECT_DIRECTORY}/doc/")
+               exec_program("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"  "${PROJECT_DIRECTORY}/doc/")
+
+       if(BIBTOOL_PATH AND BIBTEX2HTML_PATH AND ICONV_PATH)
+
+       #publis_count.html: all.bib
+               exec_program("${PROJECT_DIRECTORY}/tools/doxygen/bibtex2html_table_count.pl < ${PROJECT_DIRECTORY}/doc/all.bib > ${PROJECT_DIRECTORY}/doc/publis_count.html"  "${PROJECT_DIRECTORY}/doc/")
+
+       #publis_core.bib: all.bib 
+               exec_program("${BIBTOOL_PATH}/bibtool -- 'select.by.string={category \"core\"}' -- 'preserve.key.case={on}' -- 'preserve.keys={on}' ${PROJECT_DIRECTORY}/doc/all.bib -o ${PROJECT_DIRECTORY}/doc/publis_core.bib"  "${PROJECT_DIRECTORY}/doc/")
+
+       #publis_extern.bib: all.bib 
+               exec_program("${BIBTOOL_PATH}/bibtool -- 'select.by.string={category \"extern\"}' -- 'preserve.key.case={on}' -- 'preserve.keys={on}' ${PROJECT_DIRECTORY}/doc/all.bib -o ${PROJECT_DIRECTORY}/doc/publis_extern.bib"  "${PROJECT_DIRECTORY}/doc/")
+
+       #publis_intra.bib: all.bib 
+               exec_program("${BIBTOOL_PATH}/bibtool -- 'select.by.string={category \"intra\"}' -- 'preserve.key.case={on}' -- 'preserve.keys={on}' ${PROJECT_DIRECTORY}/doc/all.bib -o ${PROJECT_DIRECTORY}/doc/publis_intra.bib"  "${PROJECT_DIRECTORY}/doc/")
+
+       #%_bib.latin1.html: %.bib
+               exec_program("find ${PROJECT_DIRECTORY}/doc/ -name \"*.bib\""  "${PROJECT_DIRECTORY}/doc/" OUTPUT_VARIABLE LISTE_QUATRE)
+               string(REPLACE "\n" ";" LISTE_QUATRE ${LISTE_QUATRE})
+               foreach(file ${LISTE_QUATRE})
+                       string(REPLACE ".bib" "_bib.latin1.html" file_tmp "${file}")
+                       string(REPLACE ".html" ".html.tmp" file_tmp2 "${file_tmp}")
+                       exec_program("${BIBTEX2HTML_PATH}/bibtex2html -single-output -nv -force -sort year -copy-icons ${file} -output ${file_tmp2} 2>&1 | grep -v 'WARNING: unknown field type'"  "${PROJECT_DIRECTORY}/doc/")
+                       exec_program("${PROJECT_DIRECTORY}/tools/doxygen/bibtex2html_postprocessor.pl < ${file_tmp2} > ${file_tmp}"  "${PROJECT_DIRECTORY}/doc/")
+                       #message("file ${file}\nfile_tmp ${file_tmp}")
+               endforeach(file ${LISTE_QUATRE})
+
+
+       #%_bib.html: %_bib.latin1.html
+               exec_program("find ${PROJECT_DIRECTORY}/doc/ -name \"*_bib.latin1.html\""  "${PROJECT_DIRECTORY}/doc/" OUTPUT_VARIABLE LISTE_CINQ)
+               string(REPLACE "\n" ";" LISTE_CINQ ${LISTE_CINQ})
+               foreach(file ${LISTE_CINQ})
+                       string(REPLACE "_bib.latin1.html" "_bib.html" file_tmp "${file}")
+                       exec_program("${ICONV_PATH}/iconv --from-code latin1 --to-code utf8 ${file} --output ${file_tmp}"  "${PROJECT_DIRECTORY}/doc/")
+                       #message("file ${file}\nfile_tmp ${file_tmp}")
+               endforeach(file ${LISTE_CINQ})
+       endif(BIBTOOL_PATH AND BIBTEX2HTML_PATH AND ICONV_PATH)
+
+       endif(DOXYGEN_PATH AND FIG2DEV_PATH)
+
+       file(WRITE ${PROJECT_DIRECTORY}/doc/logcategories.sh    "\#! /bin/sh")  
+       file(APPEND ${PROJECT_DIRECTORY}/doc/logcategories.sh   "\npwd=`pwd`")
+       file(APPEND ${PROJECT_DIRECTORY}/doc/logcategories.sh   "\nrm -f $pwd/logcategories.doc")
+       file(APPEND ${PROJECT_DIRECTORY}/doc/logcategories.sh   "\nset -e")
+       file(APPEND ${PROJECT_DIRECTORY}/doc/logcategories.sh   "\necho \"/* Generated file, do not edit */\"     > $pwd/logcategories.doc")
+       file(APPEND ${PROJECT_DIRECTORY}/doc/logcategories.sh   "\necho \"/** \\addtogroup XBT_log_cats\"          >> $pwd/logcategories.doc")
+       file(APPEND ${PROJECT_DIRECTORY}/doc/logcategories.sh   "\necho \"    @{\"                                >> $pwd/logcategories.doc")
+       file(APPEND ${PROJECT_DIRECTORY}/doc/logcategories.sh   "\ncd ${PROJECT_DIRECTORY}/src")
+       file(APPEND ${PROJECT_DIRECTORY}/doc/logcategories.sh   "\n${PROJECT_DIRECTORY}/tools/doxygen/xbt_log_extract_hierarchy.pl      >> $pwd/logcategories.doc")
+       file(APPEND ${PROJECT_DIRECTORY}/doc/logcategories.sh   "\necho \"@}*/\"                                 >> $pwd/logcategories.doc")
+
+       exec_program("chmod a=rwx ${PROJECT_DIRECTORY}/doc/logcategories.sh"  "${PROJECT_DIRECTORY}/doc/")
+       exec_program("${PROJECT_DIRECTORY}/doc/logcategories.sh" "${PROJECT_DIRECTORY}/doc/"
+       ARGS ${DOCSSOURCES})
+
+
+       file(WRITE ${PROJECT_DIRECTORY}/doc/realtoc.sh  "\#! /bin/sh")  
+       file(APPEND ${PROJECT_DIRECTORY}/doc/realtoc.sh "\n\necho \"Check individual TOCs\"")
+       file(APPEND ${PROJECT_DIRECTORY}/doc/realtoc.sh "\nfor n in gtut-tour-*.doc ; do")
+       file(APPEND ${PROJECT_DIRECTORY}/doc/realtoc.sh "\n  sed -n '/Table of Contents/,/hr/p' $n|grep ref > tmp.curtoc;")
+       file(APPEND ${PROJECT_DIRECTORY}/doc/realtoc.sh "\n  grep -E '\\\\s?u?b?section' $n | grep -v _toc | sed -e 's/\\\\section //' -e 's/\\\\subsection /subsection/' -e 's/ .*//' | sed -e 's/^/ - \\\\ref /' -e 's/- \\\\ref subsection/   - \\\\ref /' > tmp.realtoc;")
+       file(APPEND ${PROJECT_DIRECTORY}/doc/realtoc.sh "\n  if ! diff -q tmp.curtoc tmp.realtoc >/dev/null; then")
+       file(APPEND ${PROJECT_DIRECTORY}/doc/realtoc.sh "\n    echo \"Wrong toc for $n. Should be ;\"")
+       file(APPEND ${PROJECT_DIRECTORY}/doc/realtoc.sh "\n    cat tmp.realtoc;")
+       file(APPEND ${PROJECT_DIRECTORY}/doc/realtoc.sh "\n  fi ;")
+       file(APPEND ${PROJECT_DIRECTORY}/doc/realtoc.sh "\ndone")
+       file(APPEND ${PROJECT_DIRECTORY}/doc/realtoc.sh "\n\nrm tmp.realtoc tmp.curtoc")
+       file(APPEND ${PROJECT_DIRECTORY}/doc/realtoc.sh "\necho \"Check main TOC\"")
+       file(APPEND ${PROJECT_DIRECTORY}/doc/realtoc.sh "\nfor n in gtut-tour-*doc; do")
+       file(APPEND ${PROJECT_DIRECTORY}/doc/realtoc.sh "\n  grep @page $n | sed -e 's/@page //' -e 's/ .*//' -e 's/^/ - \\\\ref /' >>tmp.realtoc;")
+       file(APPEND ${PROJECT_DIRECTORY}/doc/realtoc.sh "\n  sed -n -e '/Table of Contents/,/hr/p' $n|sed -e 's/^/   /'| grep -v toc|grep -v '<hr>'|grep [^[:blank:]] >>tmp.realtoc;")
+       file(APPEND ${PROJECT_DIRECTORY}/doc/realtoc.sh "\ndone")
+       file(APPEND ${PROJECT_DIRECTORY}/doc/realtoc.sh "\ngrep ' *- \\\\ref' gtut-tour.doc > tmp.curtoc")
+       file(APPEND ${PROJECT_DIRECTORY}/doc/realtoc.sh "\nif ! diff -b -u tmp.curtoc tmp.realtoc ; then")
+       file(APPEND ${PROJECT_DIRECTORY}/doc/realtoc.sh "\n  echo \"Wrong toc for gtut-tour.doc Right one is in tmp.realtoc\";")
+       file(APPEND ${PROJECT_DIRECTORY}/doc/realtoc.sh "\nelse")
+       file(APPEND ${PROJECT_DIRECTORY}/doc/realtoc.sh "\n  rm tmp.realtoc;")
+       file(APPEND ${PROJECT_DIRECTORY}/doc/realtoc.sh "\nfi ;")
+       file(APPEND ${PROJECT_DIRECTORY}/doc/realtoc.sh "\nrm tmp.curtoc")
+
+       exec_program("chmod a=rwx ${PROJECT_DIRECTORY}/doc/realtoc.sh"  "${PROJECT_DIRECTORY}/doc/")
+       exec_program("${PROJECT_DIRECTORY}/doc/realtoc.sh" "${PROJECT_DIRECTORY}/doc/")
+
+else(MAKE_DOC)
+       message("Need to install the good bibtex2html download at :")
+       message("ftp://ftp-sop.inria.fr/epidaure/Softs/bibtex2html/bibtex2html-1.02.tar.gz")
+endif(MAKE_DOC)
index fad7f4a..d399c9f 100644 (file)
@@ -497,7 +497,8 @@ make VERBOSE=1              build all targets and print build command lines
 make test              test all targets and summarize
 make package           make the distrib
 make install-simgrid   install the project (doc/ lib/ include/)
 make test              test all targets and summarize
 make package           make the distrib
 make install-simgrid   install the project (doc/ lib/ include/)
-make clean"            clean all targets
+make clean             clean all targets
+make html              Create simgrid documentation
 \endverbatim
 
 When the project have been succesfully compiling and build you can make tests.
 \endverbatim
 
 When the project have been succesfully compiling and build you can make tests.