Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
documentation that describes how to configure a graph using triva
[simgrid.git] / buildtools / Cmake / src / CMakeDocs.txt
index 62ad35a..c357669 100644 (file)
@@ -1,34 +1,41 @@
-if(enable_maintainer_mode)
-
-       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)
-
-       if(NOT EXISTS "${PROJECT_DIRECTORY}/bibtex2html-1.02/src/bibtex2html")
-               write_file("${PROJECT_DIRECTORY}/buildtools/Cmake/bibtex2html_install.sh"
-               "#! /bin/sh
-               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"
-               )
-               exec_program("chmod a=rwx ${PROJECT_DIRECTORY}/buildtools/Cmake/bibtex2html_install.sh")
-               exec_program("${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)
+SET(MAKE_DOC false)
+
+if(BIBTEX2HTML)
+set(BIBTEX2HTML_PATH ${BIBTEX2HTML})
+else(BIBTEX2HTML)
+find_path(BIBTEX2HTML_PATH     NAMES bibtex2html       PATHS NO_DEFAULT_PATHS)
+endif(BIBTEX2HTML)
+
+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("\nERROR --> NEED to set bibtex2html path with \"ccmake ./\" or with \"cmake -DBIBTEX2HTML=<path_to> ./\"")
+               message("\nTake care having install the good bibtex2html \n\t(download it : ftp://ftp-sop.inria.fr/epidaure/Softs/bibtex2html/bibtex2html-1.02.tar.gz)")
+               message("\n")
+       else(${SORTIE_BIBTEX2HTML_VERSION_2} STREQUAL ${SORTIE_BIBTEX2HTML_VERSION})# bonne version
+               SET(MAKE_DOC true)
+               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(ICONV_PATH    NAMES iconv     PATHS NO_DEFAULT_PATHS)
+
+               if(FIG2DEV_PATH AND DOXYGEN_PATH AND BIBTOOL_PATH AND ICONV_PATH)
+       
+               elseif(FIG2DEV_PATH AND DOXYGEN_PATH AND BIBTOOL_PATH AND ICONV_PATH)
+                       message("ERROR MAKING DOC")
+                       message("\tFIG2DEV_PATH : ${FIG2DEV_PATH}")
+                       message("\tDOXYGEN_PATH : ${DOXYGEN_PATH}")
+                       message("\tBIBTOOL_PATH : ${BIBTOOL_PATH}")
+                       message("\tICONV_PATH   : ${ICONV_PATH}")
+               endif(FIG2DEV_PATH AND DOXYGEN_PATH AND BIBTOOL_PATH AND ICONV_PATH)
+
+       endif(${SORTIE_BIBTEX2HTML_VERSION_2} STREQUAL ${SORTIE_BIBTEX2HTML_VERSION})
+else(BIBTEX2HTML_PATH)
+       SET(MAKE_DOC false)
+endif(BIBTEX2HTML_PATH)
+
+if(MAKE_DOC)
 
        exec_program("rm -rf ${PROJECT_DIRECTORY}/doc/html"  "${PROJECT_DIRECTORY}/doc/")
        exec_program("mkdir -p ${PROJECT_DIRECTORY}/doc/html"  "${PROJECT_DIRECTORY}/doc/")
@@ -87,6 +94,9 @@ if(enable_maintainer_mode)
                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/") 
 
                set(top_srcdir "..")
@@ -96,13 +106,16 @@ if(enable_maintainer_mode)
        # First pass
                exec_program("${DOXYGEN_PATH}/doxygen ${PROJECT_DIRECTORY}/doc/Doxyfile" "${PROJECT_DIRECTORY}/doc/")
 
-               exec_program("${PROJECT_DIRECTORY}/tools/doxygen/index_create.pl simgrid.tag index-API.doc"  "${PROJECT_DIRECTORY}/doc/")
-               exec_program("${PROJECT_DIRECTORY}/tools/doxygen/toc_create.pl ${PROJECT_DIRECTORY}/FAQ.doc ${PROJECT_DIRECTORY}/doc/index.doc ${PROJECT_DIRECTORY}/doc/contrib.doc ${PROJECT_DIRECTORY}/doc/gtut-introduction.doc ${PROJECT_DIRECTORY}/doc/history.doc" "${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/index.php.in ${PROJECT_DIRECTORY}/doc/html/index.html ${PROJECT_DIRECTORY}/doc/index.php"  "${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:
@@ -168,6 +181,34 @@ if(enable_maintainer_mode)
        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/")
-
-endif(enable_maintainer_mode)
+       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/")
+endif(MAKE_DOC)