Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Be compatible with all plateforms.
authornavarrop <navarrop@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Wed, 19 May 2010 10:12:20 +0000 (10:12 +0000)
committernavarrop <navarrop@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Wed, 19 May 2010 10:12:20 +0000 (10:12 +0000)
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@7772 48e7efb5-ca39-0410-a469-dd3cf9ba447f

buildtools/Cmake/src/CMakeDefinePackages.txt
buildtools/Cmake/src/CMakeDocs.txt
buildtools/Cmake/src/CMakeMaintainerMode.txt

index 8e66ac8..3e6b61e 100755 (executable)
@@ -585,7 +585,7 @@ file(GLOB_RECURSE examples_to_install_in_doc
 "examples/*.java"
 "examples/*.xml"
 )
-string(REPLACE "" "" examples_to_install_in_doc "${examples_to_install_in_doc}")
+
 foreach(file ${examples_to_install_in_doc})
        string(REGEX REPLACE "/[^/]*$" "" file "${file}")
        set(new_examples_to_install_in_doc "${new_examples_to_install_in_doc}${file};")
index 384f2d2..a7a9db3 100644 (file)
@@ -28,10 +28,19 @@ if(BIBTEX2HTML_PATH)
        endif(${SORTIE_BIBTEX2HTML_VERSION_2} STREQUAL ${SORTIE_BIBTEX2HTML_VERSION})
 endif(BIBTEX2HTML_PATH)
 
-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)
+exec_program("${CMAKE_COMMAND} -E remove_directory ${PROJECT_DIRECTORY}/doc/html"  "${PROJECT_DIRECTORY}/doc/")
+exec_program("${CMAKE_COMMAND} -E make_directory ${PROJECT_DIRECTORY}/doc/html"  "${PROJECT_DIRECTORY}/doc/")
+
+file(GLOB_RECURSE LISTE_UNE
+"${PROJECT_DIRECTORY}/tools/gras/*.[chl]"
+"${PROJECT_DIRECTORY}/src/*.[chl]"
+"${PROJECT_DIRECTORY}/include/*.[chl]"
+)
+
+file(GLOB_RECURSE LISTE_DEUX
+"${PROJECT_DIRECTORY}/*.doc"
+)
+string(REGEX REPLACE ";.*logcategories.doc" "" LISTE_DEUX "${LISTE_DEUX}")
 
 set(DOCSSOURCES "${LISTE_UNE}\n${LISTE_DEUX}")
 string(REPLACE "\n" ";" DOCSSOURCES ${DOCSSOURCES})
@@ -53,8 +62,23 @@ ${PROJECT_DIRECTORY}/doc/webcruft/poster_thumbnail.png
 )
 
 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/")
+       
+    exec_program("${FIG2DEV_PATH}/fig2dev -Lmap ${PROJECT_DIRECTORY}/doc/fig/simgrid_modules.fig" OUTPUT_VARIABLE output_fig2dev)
+    string(REPLACE "\n" ";" output_fig2dev "${output_fig2dev}")
+    
+    file(REMOVE ${PROJECT_DIRECTORY}/doc/simgrid_modules.map)  
+
+    foreach(line ${output_fig2dev})
+               string(REGEX MATCH "IMG" test_oki1 "${line}")
+               string(REGEX MATCH "MAP" test_oki2 "${line}")
+               string(REGEX MATCH "AREA" test_oki3 "${line}")
+               if(test_oki1 OR test_oki2 OR test_oki3)
+                       string(REPLACE "imagemap"       "simgrid_modules" line "${line}")
+                       string(REPLACE ".gif"   ".png" line "${line}")
+                       string(REPLACE "<IMG"   "<IMG style=\"border:0px\""  line "${line}")
+               file(APPEND ${PROJECT_DIRECTORY}/doc/simgrid_modules.map "${line}\n")
+               endif(test_oki1 OR test_oki2 OR test_oki3)      
+       endforeach(line ${output_fig2dev})
 
        foreach(file ${FIGS})
                string(REPLACE ".fig" ".png" tmp_file ${file})
@@ -63,18 +87,21 @@ if(DOXYGEN_PATH AND FIG2DEV_PATH)
        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/")
+       exec_program("${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"  "${PROJECT_DIRECTORY}/doc/")
+       
+       if(NOT EXISTS ${PROJECT_DIRECTORY}/doc/html)
+               file(MAKE_DIRECTORY ${PROJECT_DIRECTORY}/doc/html)
+       endif(NOT EXISTS ${PROJECT_DIRECTORY}/doc/html)
 
        foreach(file ${PNGS})
-               exec_program("cp ${file} ${PROJECT_DIRECTORY}/doc/html/"  "${PROJECT_DIRECTORY}/doc/")
+               exec_program("${CMAKE_COMMAND} -E copy ${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/triva-time_interval.png ${PROJECT_DIRECTORY}/doc/html/"  "${PROJECT_DIRECTORY}/doc/")
-       exec_program("cp ${PROJECT_DIRECTORY}/doc/triva-graph_configuration.png ${PROJECT_DIRECTORY}/doc/html/"  "${PROJECT_DIRECTORY}/doc/")
-       exec_program("cp ${PROJECT_DIRECTORY}/doc/triva-graph_visualization.png ${PROJECT_DIRECTORY}/doc/html/"  "${PROJECT_DIRECTORY}/doc/")
-       exec_program("cp ${PROJECT_DIRECTORY}/doc/simgrid.css ${PROJECT_DIRECTORY}/doc/html/"  "${PROJECT_DIRECTORY}/doc/") 
+       exec_program("${CMAKE_COMMAND} -E copy ${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("${CMAKE_COMMAND} -E copy ${PROJECT_DIRECTORY}/doc/triva-time_interval.png ${PROJECT_DIRECTORY}/doc/html/"  "${PROJECT_DIRECTORY}/doc/")
+       exec_program("${CMAKE_COMMAND} -E copy ${PROJECT_DIRECTORY}/doc/triva-graph_configuration.png ${PROJECT_DIRECTORY}/doc/html/"  "${PROJECT_DIRECTORY}/doc/")
+       exec_program("${CMAKE_COMMAND} -E copy ${PROJECT_DIRECTORY}/doc/triva-graph_visualization.png ${PROJECT_DIRECTORY}/doc/html/"  "${PROJECT_DIRECTORY}/doc/")
+       exec_program("${CMAKE_COMMAND} -E copy ${PROJECT_DIRECTORY}/doc/simgrid.css ${PROJECT_DIRECTORY}/doc/html/"  "${PROJECT_DIRECTORY}/doc/") 
 
        set(top_srcdir "..")
        set(WARNING "This file is generated, do not edit")
@@ -90,23 +117,25 @@ if(DOXYGEN_PATH AND FIG2DEV_PATH)
 # 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("${CMAKE_COMMAND} -E remove -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/")
+       exec_program("${CMAKE_COMMAND} -E 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("${CMAKE_COMMAND} -E 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/")
+       exec_program("${CMAKE_COMMAND} -E 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("${CMAKE_COMMAND} -E 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/")
+       exec_program("${CMAKE_COMMAND} -E 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("${CMAKE_COMMAND} -E 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/")
+       exec_program("${CMAKE_COMMAND} -E 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("${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"  "${PROJECT_DIRECTORY}/doc/")
 
 if(BIBTOOL_PATH AND BIBTEX2HTML_PATH AND ICONV_PATH)
 
@@ -123,68 +152,140 @@ if(BIBTOOL_PATH AND BIBTEX2HTML_PATH AND ICONV_PATH)
        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})
+       file(GLOB_RECURSE LISTE_QUATRE
+       "${PROJECT_DIRECTORY}/doc/*.bib"
+       )
        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("${BIBTEX2HTML_PATH}/bibtex2html -single-output -nv -force -sort year -copy-icons ${file} -output ${file_tmp2} 2>&1" "${PROJECT_DIRECTORY}/doc/") 
+               file(READ ${file_tmp2} READ_TMP)
+               file(REMOVE ${file_tmp2})
+               string(REPLACE "\n" ";" READ_TMP ${READ_TMP})
+               
+               foreach(line ${READ_TMP})
+                   string(REGEX MATCH "WARNING: unknown field type" line1 ${line})
+                   if(NOT line1)
+                       file(APPEND   ${file_tmp2} "${line}\n")
+                   endif(NOT line1)
+               endforeach(line ${READ_TMP})
                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})
+       file(GLOB_RECURSE LISTE_CINQ
+       "${PROJECT_DIRECTORY}/doc/*_bib.latin1.html"
+       )
        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/")
+file(REMOVE ${PROJECT_DIRECTORY}/doc/logcategories.doc)
+file(APPEND ${PROJECT_DIRECTORY}/doc/logcategories.doc "/* Generated file, do not edit */\n")
+file(APPEND ${PROJECT_DIRECTORY}/doc/logcategories.doc "/** \\addtogroup XBT_log_cats\n")
+file(APPEND ${PROJECT_DIRECTORY}/doc/logcategories.doc "    @{\n")
+exec_program("${PROJECT_DIRECTORY}/tools/doxygen/xbt_log_extract_hierarchy.pl" "${PROJECT_DIRECTORY}/src" OUTPUT_VARIABLE output_log_extract_hierarchy)
+file(APPEND ${PROJECT_DIRECTORY}/doc/logcategories.doc "${output_log_extract_hierarchy}\n")
+file(APPEND ${PROJECT_DIRECTORY}/doc/logcategories.doc         "@}*/")
+
+file(WRITE ${PROJECT_DIRECTORY}/doc/realtoc.sh         "\#! /bin/sh")
+
+message("Check individual TOCs")
+file(GLOB_RECURSE LISTE_GTUT
+"${PROJECT_DIRECTORY}/doc/gtut-tour-*.doc"
+)
+
+
+
+foreach(file_name ${LISTE_GTUT})
+       file(REMOVE ${PROJECT_DIRECTORY}/doc/tmp.curtoc)
+       file(REMOVE ${PROJECT_DIRECTORY}/doc/tmp.realtoc)
+       
+       file(READ "${file_name}" file_content)
+       string(REGEX MATCH "Table of Contents.*<hr>" valeur_line "${file_content}")
+       string(REPLACE "\n" ";" valeur_line "${valeur_line}")
+       string(REPLACE "\n" ";" file_content "${file_content}")
+       
+       foreach(line ${file_content})
+               string(REGEX MATCH "[\\]s?u?b?section.*" line2 "${line}")
+               string(REGEX MATCH ".*_toc.*" line3 "${line}")
+               if(line2 AND NOT line3)
+                       string(REPLACE "\\section " "" line2 ${line2})
+                       string(REPLACE "\\subsection " "subsection" line2 ${line2})
+                       string(REGEX REPLACE " .*" "" line2 ${line2})
+                       set(line2 " - \\ref ${line2}")
+                       string(REPLACE " - \\ref subsection" "   - \\ref " line2 ${line2})
+                       file(APPEND ${PROJECT_DIRECTORY}/doc/tmp.realtoc "${line2}\n")
+               endif(line2 AND NOT line3)
+       endforeach(line ${file_content})
+       
+       foreach(line ${valeur_line})
+               string(REGEX MATCH ".*ref.*" line_ok ${line})
+               if(line_ok)
+                       file(APPEND ${PROJECT_DIRECTORY}/doc/tmp.curtoc "${line_ok}\n")
+               endif(line_ok)
+       endforeach(line ${valeur_line})
+       
+       exec_program("${CMAKE_COMMAND} -E compare_files ${PROJECT_DIRECTORY}/doc/tmp.curtoc ${PROJECT_DIRECTORY}/doc/tmp.realtoc" OUTPUT_VARIABLE compare_files)
+       if(compare_files)
+               message("Wrong toc for ${file_name}. Should be;")
+               file(READ "${PROJECT_DIRECTORY}/doc/tmp.realtoc" file_content)
+               message("${file_content}")
+       endif(compare_files)
+endforeach(file_name ${LISTE_GTUT})
+
+file(REMOVE ${PROJECT_DIRECTORY}/doc/tmp.curtoc)
+file(REMOVE ${PROJECT_DIRECTORY}/doc/tmp.realtoc)
+
+message("Check main TOC")
+
+foreach(file_name ${LISTE_GTUT})
+    file(READ "${file_name}" file_content)    
+    string(REGEX MATCH "Table of Contents.*<hr>" valeur_line "${file_content}")
+    string(REPLACE "\n" ";" valeur_line "${valeur_line}")
+    string(REPLACE "\n" ";" file_content "${file_content}")
+    
+       foreach(line ${file_content})
+               string(REGEX MATCH ".*@page.*" line2 "${line}")
+        if(line2)
+            string(REPLACE "@page " "" line2 "${line2}")
+            string(REGEX REPLACE " .*" "" line2 "${line2}")
+            set(line2 " - \\ref ${line2}")
+            file(APPEND ${PROJECT_DIRECTORY}/doc/tmp.realtoc "${line2}\n")
+        endif(line2)
+       endforeach(line ${file_content})
+       
+       foreach(line ${valeur_line})
+           string(REGEX MATCH ".*toc.*" line1 "${line}")
+           string(REGEX MATCH ".*<hr>.*" line2 "${line}")
+           string(REGEX MATCH "^[ ]*$" line3 "${line}")
+           string(REGEX MATCH "Table of Contents" line4 "${line}")
+           if(NOT line1 AND NOT line2 AND NOT line3 AND NOT line4)
+               file(APPEND ${PROJECT_DIRECTORY}/doc/tmp.realtoc "   ${line}\n")
+           endif(NOT line1 AND NOT line2 AND NOT line3 AND NOT line4)
+       endforeach(line ${valeur_line})
+endforeach(file_name ${LISTE_GTUT})    
+
+file(READ "${PROJECT_DIRECTORY}/doc/gtut-tour.doc" file_content)
+string(REPLACE "\n" ";" file_content "${file_content}")
+foreach(line ${file_content})
+    string(REGEX MATCH "^[ ]+.*\\ref" line1 "${line}")
+    if(line1)
+        file(APPEND ${PROJECT_DIRECTORY}/doc/tmp.curtoc "${line}\n")
+    endif(line1)
+endforeach(line ${file_content})
+       
+exec_program("${CMAKE_COMMAND} -E compare_files ${PROJECT_DIRECTORY}/doc/tmp.curtoc ${PROJECT_DIRECTORY}/doc/tmp.realtoc" OUTPUT_VARIABLE compare_files)
+if(compare_files)
+       message("Wrong toc for gtut-tour.doc Right one is in tmp.realtoc")
+else(compare_files)
+       file(REMOVE ${PROJECT_DIRECTORY}/doc/tmp.realtoc)
+endif(compare_files)   
+  
+file(REMOVE ${PROJECT_DIRECTORY}/doc/tmp.curtoc)
+
index 560b7c2..675a5bc 100644 (file)
@@ -29,7 +29,7 @@ foreach(file ${script_to_install})
 endforeach(file ${script_to_install})
 
 #surf/simgrid_dtd.l: $(srcdir)/surf/simgrid.dtd
-exec_program("mkdir -p surf")
+exec_program("${CMAKE_COMMAND} -E make_directory surf")
 exec_program("${FLEXML_EXE} --root-tags platform -b 1000000 -P surfxml --sysid=simgrid.dtd -S surf/simgrid_dtd.l -L ${srcdir}/surf/simgrid.dtd"  "${PROJECT_DIRECTORY}/src/")
 
 #$(top_srcdir)/include/surf/simgrid_dtd.h: $(srcdir)/surf/simgrid.dtd
@@ -69,19 +69,19 @@ exec_program("${SED_EXE} ${CHAINE} -i simdag/dax_dtd.h" "${PROJECT_DIRECTORY}/sr
 exec_program("${FLEX_EXE} -o gras/DataDesc/ddt_parse.yy.c -Pgras_ddt_parse_ --noline gras/DataDesc/ddt_parse.yy.l" "${PROJECT_DIRECTORY}/src/")
 
 #surf/simgrid_dtd.c: surf/simgrid_dtd.l
-exec_program("mkdir -p `dirname surf/simgrid_dtd.c`" "${PROJECT_DIRECTORY}/src/")
+exec_program("${CMAKE_COMMAND} -E make_directory surf" "${PROJECT_DIRECTORY}/src/")
 exec_program("${FLEX_EXE} -o surf/simgrid_dtd.c -Psurf_parse_ --noline surf/simgrid_dtd.l" "${PROJECT_DIRECTORY}/src/")
 set(CHAINE "'s/#include <unistd.h>/#if defined(_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__TOS_WIN__)\\n#  ifndef __STRICT_ANSI__\\n#    include <io.h>\\n#    include <process.h>\\n#  endif\\n#else\\n#  include <unistd.h>\\n#endif/g' -i surf/simgrid_dtd.c")     
 exec_program("${SED_EXE} ${CHAINE}" "${PROJECT_DIRECTORY}/src/")
 
 #xbt/graphxml.c: xbt/graphxml.l
-exec_program("mkdir -p `dirname xbt/graphxml.c`" "${PROJECT_DIRECTORY}/src/")
+exec_program("${CMAKE_COMMAND} -E make_directory xbt" "${PROJECT_DIRECTORY}/src/")
 exec_program("${FLEX_EXE} -o xbt/graphxml.c -Pxbt_graph_parse_ --noline xbt/graphxml.l" "${PROJECT_DIRECTORY}/src/")
 set(CHAINE "'s/#include <unistd.h>/#if defined(_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__TOS_WIN__)\\n#  ifndef __STRICT_ANSI__\\n#    include <io.h>\\n#    include <process.h>\\n#  endif\\n#else\\n#  include <unistd.h>\\n#endif/g' -i xbt/graphxml.c")                 
 exec_program("${SED_EXE} ${CHAINE}" "${PROJECT_DIRECTORY}/src/")
 
 #simdag/dax_dtd.c: simdag/dax_dtd.l
-exec_program("mkdir -p `dirname simdag/dax_dtd.c`" "${PROJECT_DIRECTORY}/src/")
+exec_program("${CMAKE_COMMAND} -E make_directory simdag" "${PROJECT_DIRECTORY}/src/")
 exec_program("${FLEX_EXE} -o simdag/dax_dtd.c -Pdax_ --noline simdag/dax_dtd.l" "${PROJECT_DIRECTORY}/src/")
 set(CHAINE "'s/#include <unistd.h>/#if defined(_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__TOS_WIN__)\\n#  ifndef __STRICT_ANSI__\\n#    include <io.h>\\n#    include <process.h>\\n#  endif\\n#else\\n#  include <unistd.h>\\n#endif/g' -i simdag/dax_dtd.c")       
 exec_program("${SED_EXE} ${CHAINE}" "${PROJECT_DIRECTORY}/src/")