Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Fix doc generation in CMAKE_BINARY_DIR/doc.
authorArnaud Giersch <arnaud.giersch@univ-fcomte.fr>
Mon, 23 Apr 2018 07:31:37 +0000 (09:31 +0200)
committerArnaud Giersch <arnaud.giersch@univ-fcomte.fr>
Mon, 23 Apr 2018 08:22:48 +0000 (10:22 +0200)
It was broken by commit f0d94f03109c63408bfc4e94ca664c88deeddaaf.

doc/Doxyfile.in
tools/cmake/Distrib.cmake
tools/cmake/Documentation.cmake

index 9a93fc7..ad0a864 100644 (file)
@@ -131,7 +131,8 @@ FULL_PATH_NAMES        = YES
 # If left blank the directory from which doxygen is run is used as the
 # path to strip.
 
-STRIP_FROM_PATH        = @CMAKE_HOME_DIRECTORY@
+STRIP_FROM_PATH        = @CMAKE_HOME_DIRECTORY@ \
+                         @CMAKE_BINARY_DIR@
 
 # The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of
 # the path mentioned in the documentation of a class, which tells
@@ -570,7 +571,7 @@ FILE_VERSION_FILTER    =
 # You can optionally specify a file name after the option, if omitted
 # DoxygenLayout.xml will be used as the name of the layout file.
 
-LAYOUT_FILE            = Layout.xml
+LAYOUT_FILE            = @CMAKE_HOME_DIRECTORY@/doc/Layout.xml
 
 # The CITE_BIB_FILES tag can be used to specify one or more bib files
 # containing the references data. This must be a list of .bib files. The
@@ -642,48 +643,48 @@ WARN_LOGFILE           =
 # directories like "/usr/src/myproject". Separate the files or directories
 # with spaces.
 
-INPUT                  = doxygen/index.doc \
-                         doxygen/getting_started.doc \
-                           doxygen/install.doc \
-                          doxygen/install_yours.doc \
-                        doxygen/application.doc \
-                           doxygen/java.doc \
-                         doxygen/platform.doc \
-                          doxygen/models.doc \
-                           doxygen/ns3.doc \
-                          doxygen/platform_lua.doc \
-                        doxygen/scenario.doc \
-                           doxygen/deployment.doc \
-                           doxygen/options.doc \
-                        doxygen/outcomes.doc \
-                          doxygen/outcomes_logs.doc \
-                          doxygen/outcomes_vizu.doc \
-                          doxygen/outcomes_MC.doc \
-                         tuto-msg/tuto-msg.doc \
-                         doxygen/tutorial_smpi.doc \
-                         doxygen/examples.doc \
-                        doxygen/howtos.doc \
-                        doxygen/uhood.doc \
-                          doxygen/uhood_arch.doc \
-                          doxygen/uhood_switch.doc \
-                          doxygen/inside.doc \
-                            doxygen/inside_doxygen.doc \
-                            doxygen/inside_extending.doc \
-                            doxygen/inside_cmake.doc \
-                            doxygen/inside_tests.doc \
-                            doxygen/inside_release.doc \
-                        doxygen/community.doc \
-                        doxygen/FAQ.doc \
-                        doxygen/module-msg.doc \
-                        doxygen/module-sd.doc \
-                        doxygen/module-index.doc \
-                           doxygen/module-xbt.doc \
-                           doxygen/module-s4u.doc \
-                           doxygen/module-surf.doc \
-                           doxygen/module-simix.doc \
-                           doxygen/module-smpi.doc \
-                           doxygen/module-trace.doc \
-                         @CMAKE_HOME_DIRECTORY@/doc/doxygen/logcategories.doc \
+INPUT                  = @CMAKE_HOME_DIRECTORY@/doc/doxygen/index.doc \
+                         @CMAKE_HOME_DIRECTORY@/doc/doxygen/getting_started.doc \
+                         @CMAKE_HOME_DIRECTORY@/doc/doxygen/install.doc \
+                         @CMAKE_HOME_DIRECTORY@/doc/doxygen/install_yours.doc \
+                         @CMAKE_HOME_DIRECTORY@/doc/doxygen/application.doc \
+                         @CMAKE_HOME_DIRECTORY@/doc/doxygen/java.doc \
+                         @CMAKE_HOME_DIRECTORY@/doc/doxygen/platform.doc \
+                         @CMAKE_HOME_DIRECTORY@/doc/doxygen/models.doc \
+                         @CMAKE_HOME_DIRECTORY@/doc/doxygen/ns3.doc \
+                         @CMAKE_HOME_DIRECTORY@/doc/doxygen/platform_lua.doc \
+                         @CMAKE_HOME_DIRECTORY@/doc/doxygen/scenario.doc \
+                         @CMAKE_HOME_DIRECTORY@/doc/doxygen/deployment.doc \
+                         @CMAKE_HOME_DIRECTORY@/doc/doxygen/options.doc \
+                         @CMAKE_HOME_DIRECTORY@/doc/doxygen/outcomes.doc \
+                         @CMAKE_HOME_DIRECTORY@/doc/doxygen/outcomes_logs.doc \
+                         @CMAKE_HOME_DIRECTORY@/doc/doxygen/outcomes_vizu.doc \
+                         @CMAKE_HOME_DIRECTORY@/doc/doxygen/outcomes_MC.doc \
+                         @CMAKE_HOME_DIRECTORY@/doc/tuto-msg/tuto-msg.doc \
+                         @CMAKE_HOME_DIRECTORY@/doc/doxygen/tutorial_smpi.doc \
+                         @CMAKE_HOME_DIRECTORY@/doc/doxygen/examples.doc \
+                         @CMAKE_HOME_DIRECTORY@/doc/doxygen/howtos.doc \
+                         @CMAKE_HOME_DIRECTORY@/doc/doxygen/uhood.doc \
+                         @CMAKE_HOME_DIRECTORY@/doc/doxygen/uhood_arch.doc \
+                         @CMAKE_HOME_DIRECTORY@/doc/doxygen/uhood_switch.doc \
+                         @CMAKE_HOME_DIRECTORY@/doc/doxygen/inside.doc \
+                         @CMAKE_HOME_DIRECTORY@/doc/doxygen/inside_doxygen.doc \
+                         @CMAKE_HOME_DIRECTORY@/doc/doxygen/inside_extending.doc \
+                         @CMAKE_HOME_DIRECTORY@/doc/doxygen/inside_cmake.doc \
+                         @CMAKE_HOME_DIRECTORY@/doc/doxygen/inside_tests.doc \
+                         @CMAKE_HOME_DIRECTORY@/doc/doxygen/inside_release.doc \
+                         @CMAKE_HOME_DIRECTORY@/doc/doxygen/community.doc \
+                         @CMAKE_HOME_DIRECTORY@/doc/doxygen/FAQ.doc \
+                         @CMAKE_HOME_DIRECTORY@/doc/doxygen/module-msg.doc \
+                         @CMAKE_HOME_DIRECTORY@/doc/doxygen/module-sd.doc \
+                         @CMAKE_HOME_DIRECTORY@/doc/doxygen/module-index.doc \
+                         @CMAKE_HOME_DIRECTORY@/doc/doxygen/module-xbt.doc \
+                         @CMAKE_HOME_DIRECTORY@/doc/doxygen/module-s4u.doc \
+                         @CMAKE_HOME_DIRECTORY@/doc/doxygen/module-surf.doc \
+                         @CMAKE_HOME_DIRECTORY@/doc/doxygen/module-simix.doc \
+                         @CMAKE_HOME_DIRECTORY@/doc/doxygen/module-smpi.doc \
+                         @CMAKE_HOME_DIRECTORY@/doc/doxygen/module-trace.doc \
+                         @CMAKE_BINARY_DIR@/doc/doxygen/logcategories.doc \
                          @CMAKE_HOME_DIRECTORY@/include/ \
                          @CMAKE_HOME_DIRECTORY@/include/xbt \
                          @CMAKE_HOME_DIRECTORY@/include/simgrid \
@@ -767,12 +768,13 @@ EXCLUDE_SYMBOLS        =
 # the \include command).
 
 EXAMPLE_PATH           = ./ \
+                         @CMAKE_HOME_DIRECTORY@/doc/ \
                          @CMAKE_HOME_DIRECTORY@/src/surf/ \
                          @CMAKE_HOME_DIRECTORY@/src/surf/xml/ \
                          @CMAKE_HOME_DIRECTORY@/src/xbt/ \
                          @CMAKE_HOME_DIRECTORY@/include \
                          @CMAKE_HOME_DIRECTORY@/examples \
-                         @CMAKE_HOME_DIRECTORY@/doc/example_lists \
+                         @CMAKE_BINARY_DIR@/doc/example_lists \
                          @CMAKE_HOME_DIRECTORY@/doc/tuto-msg
 
 # If the value of the EXAMPLE_PATH tag contains directories, you can use the
@@ -943,13 +945,13 @@ HTML_FILE_EXTENSION    = .html
 # have to redo this when upgrading to a newer version of doxygen or when
 # changing the value of configuration settings such as GENERATE_TREEVIEW!
 
-HTML_HEADER            = doxygen/header.html 
+HTML_HEADER            = @CMAKE_HOME_DIRECTORY@/doc/doxygen/header.html
 
 # The HTML_FOOTER tag can be used to specify a personal HTML footer for
 # each generated HTML page. If it is left blank doxygen will generate a
 # standard footer.
 
-HTML_FOOTER            = doxygen/footer.html
+HTML_FOOTER            = @CMAKE_HOME_DIRECTORY@/doc/doxygen/footer.html
 
 # The HTML_STYLESHEET tag can be used to specify a user-defined cascading
 # style sheet that is used by each HTML page. It can be used to
@@ -958,7 +960,7 @@ HTML_FOOTER            = doxygen/footer.html
 # the style sheet file to the HTML output directory, so don't put your own
 # style sheet in the HTML output directory as well, or it will be erased!
 
-HTML_STYLESHEET        = doxygen/stylesheet.css
+HTML_STYLESHEET        = @CMAKE_HOME_DIRECTORY@/doc/doxygen/stylesheet.css
 
 # The HTML_EXTRA_FILES tag can be used to specify one or more extra images or
 # other source files which should be copied to the HTML output directory. Note
index 3ce90b5..3edfb36 100644 (file)
@@ -190,7 +190,7 @@ add_custom_target(dist-dir
   COMMAND ${CMAKE_COMMAND} -E remove ${PROJECT_NAME}-${release_version}.tar.gz
   COMMAND ${CMAKE_COMMAND} -E make_directory ${PROJECT_NAME}-${release_version}
   COMMAND ${CMAKE_COMMAND} -E make_directory ${PROJECT_NAME}-${release_version}/doc/html/
-  COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_HOME_DIRECTORY}/doc/html/ ${PROJECT_NAME}-${release_version}/doc/html/
+  COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_BINARY_DIR}/doc/html/ ${PROJECT_NAME}-${release_version}/doc/html/
   COMMAND rm -f `grep -rl " Reference" ${PROJECT_NAME}-${release_version}/doc/html/` # Doxygen, go away
   COMMAND rm -f `grep -rl "Member List" ${PROJECT_NAME}-${release_version}/doc/html/` # Doxygen, you're getting annoying
   )
index e9fd4fd..6e8df84 100644 (file)
@@ -20,9 +20,11 @@ if(enable_documentation)
   ADD_CUSTOM_TARGET(documentation
     COMMENT "Generating the SimGrid documentation..."
     DEPENDS ${DOC_SOURCES} ${DOC_FIGS} ${source_doxygen}
-    COMMAND ${CMAKE_COMMAND} -E remove_directory ${CMAKE_HOME_DIRECTORY}/doc/html
-    COMMAND ${CMAKE_COMMAND} -E make_directory   ${CMAKE_HOME_DIRECTORY}/doc/html
-    WORKING_DIRECTORY ${CMAKE_HOME_DIRECTORY}/doc
+    COMMAND ${CMAKE_COMMAND} -E make_directory   ${CMAKE_BINARY_DIR}/doc/doxygen
+    COMMAND ${CMAKE_COMMAND} -E make_directory   ${CMAKE_BINARY_DIR}/doc/example_lists
+    COMMAND ${CMAKE_COMMAND} -E remove_directory ${CMAKE_BINARY_DIR}/doc/html
+    COMMAND ${CMAKE_COMMAND} -E make_directory   ${CMAKE_BINARY_DIR}/doc/html
+    WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/doc
     )
 
   message(STATUS "Doxygen version: ${DOXYGEN_VERSION}")
@@ -46,36 +48,36 @@ if(enable_documentation)
 
   foreach(file ${DOC_FIGS})
     string(REPLACE ".fig" ".png" tmp_file ${file})
-    string(REPLACE "${CMAKE_HOME_DIRECTORY}/doc/shared/fig/" "${CMAKE_HOME_DIRECTORY}/doc/html/" tmp_file ${tmp_file})
+    string(REPLACE "${CMAKE_HOME_DIRECTORY}/doc/shared/fig/" "${CMAKE_BINARY_DIR}/doc/html/" tmp_file ${tmp_file})
     ADD_CUSTOM_COMMAND(TARGET documentation  COMMAND ${FIG2DEV_PATH}/fig2dev -Lpng -S 4 ${file} ${tmp_file})
   endforeach()
 
   foreach(file ${DOC_IMG})
-    ADD_CUSTOM_COMMAND(TARGET documentation COMMAND ${CMAKE_COMMAND} -E copy ${file} ${CMAKE_HOME_DIRECTORY}/doc/html/)
+    ADD_CUSTOM_COMMAND(TARGET documentation COMMAND ${CMAKE_COMMAND} -E copy ${file} ${CMAKE_BINARY_DIR}/doc/html/)
   endforeach()
 
   ADD_CUSTOM_COMMAND(TARGET documentation
-    COMMAND ${FIG2DEV_PATH}/fig2dev -Lmap ${CMAKE_HOME_DIRECTORY}/doc/shared/fig/simgrid_modules.fig | perl -pe 's/imagemap/simgrid_modules/g'| perl -pe 's/<IMG/<IMG style=border:0px/g' | ${CMAKE_HOME_DIRECTORY}/tools/doxygen/fig2dev_postprocessor.pl > ${CMAKE_HOME_DIRECTORY}/doc/simgrid_modules.map
+    COMMAND ${FIG2DEV_PATH}/fig2dev -Lmap ${CMAKE_HOME_DIRECTORY}/doc/shared/fig/simgrid_modules.fig | perl -pe 's/imagemap/simgrid_modules/g'| perl -pe 's/<IMG/<IMG style=border:0px/g' | ${CMAKE_HOME_DIRECTORY}/tools/doxygen/fig2dev_postprocessor.pl > ${CMAKE_BINARY_DIR}/doc/simgrid_modules.map
     COMMAND pwd
     COMMAND ${CMAKE_COMMAND} -E echo "XX Generate the index files"
-    COMMAND ${CMAKE_COMMAND} -E remove ${CMAKE_HOME_DIRECTORY}/doc/doxygen/logcategories.doc
-    COMMAND ${CMAKE_HOME_DIRECTORY}/tools/doxygen/xbt_log_extract_hierarchy.pl > ${CMAKE_HOME_DIRECTORY}/doc/doxygen/logcategories.doc
+    COMMAND ${CMAKE_COMMAND} -E remove ${CMAKE_BINARY_DIR}/doc/doxygen/logcategories.doc
+    COMMAND ${CMAKE_HOME_DIRECTORY}/tools/doxygen/xbt_log_extract_hierarchy.pl ${CMAKE_HOME_DIRECTORY} > ${CMAKE_BINARY_DIR}/doc/doxygen/logcategories.doc
     COMMAND ${CMAKE_COMMAND} -E echo "XX Generate list of files in examples/ for routing models"
-    COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_HOME_DIRECTORY}/doc/example_lists/
-    COMMAND ${CMAKE_HOME_DIRECTORY}/tools/doxygen/list_routing_models_examples.sh Floyd > ${CMAKE_HOME_DIRECTORY}/doc/example_lists/example_filelist_routing_floyd
-    COMMAND ${CMAKE_HOME_DIRECTORY}/tools/doxygen/list_routing_models_examples.sh Dijkstra > ${CMAKE_HOME_DIRECTORY}/doc/example_lists/example_filelist_routing_dijkstra
-    COMMAND ${CMAKE_HOME_DIRECTORY}/tools/doxygen/list_routing_models_examples.sh DijkstraCache > ${CMAKE_HOME_DIRECTORY}/doc/example_lists/example_filelist_routing_dijkstra_cache
-    COMMAND ${CMAKE_HOME_DIRECTORY}/tools/doxygen/list_routing_models_examples.sh 'routing="None"' > ${CMAKE_HOME_DIRECTORY}/doc/example_lists/example_filelist_routing_none
-    COMMAND ${CMAKE_HOME_DIRECTORY}/tools/doxygen/list_routing_models_examples.sh 'routing="Cluster"' > ${CMAKE_HOME_DIRECTORY}/doc/example_lists/example_filelist_routing_cluster
-    COMMAND ${CMAKE_HOME_DIRECTORY}/tools/doxygen/list_routing_models_examples.sh 'routing="Vivaldi"' > ${CMAKE_HOME_DIRECTORY}/doc/example_lists/example_filelist_routing_vivaldi
-    COMMAND ${CMAKE_HOME_DIRECTORY}/tools/doxygen/list_routing_models_examples.sh 'routing="Full"' > ${CMAKE_HOME_DIRECTORY}/doc/example_lists/example_filelist_routing_full
+    COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_BINARY_DIR}/doc/example_lists/
+    COMMAND ${CMAKE_HOME_DIRECTORY}/tools/doxygen/list_routing_models_examples.sh Floyd > ${CMAKE_BINARY_DIR}/doc/example_lists/example_filelist_routing_floyd
+    COMMAND ${CMAKE_HOME_DIRECTORY}/tools/doxygen/list_routing_models_examples.sh Dijkstra > ${CMAKE_BINARY_DIR}/doc/example_lists/example_filelist_routing_dijkstra
+    COMMAND ${CMAKE_HOME_DIRECTORY}/tools/doxygen/list_routing_models_examples.sh DijkstraCache > ${CMAKE_BINARY_DIR}/doc/example_lists/example_filelist_routing_dijkstra_cache
+    COMMAND ${CMAKE_HOME_DIRECTORY}/tools/doxygen/list_routing_models_examples.sh 'routing="None"' > ${CMAKE_BINARY_DIR}/doc/example_lists/example_filelist_routing_none
+    COMMAND ${CMAKE_HOME_DIRECTORY}/tools/doxygen/list_routing_models_examples.sh 'routing="Cluster"' > ${CMAKE_BINARY_DIR}/doc/example_lists/example_filelist_routing_cluster
+    COMMAND ${CMAKE_HOME_DIRECTORY}/tools/doxygen/list_routing_models_examples.sh 'routing="Vivaldi"' > ${CMAKE_BINARY_DIR}/doc/example_lists/example_filelist_routing_vivaldi
+    COMMAND ${CMAKE_HOME_DIRECTORY}/tools/doxygen/list_routing_models_examples.sh 'routing="Full"' > ${CMAKE_BINARY_DIR}/doc/example_lists/example_filelist_routing_full
     COMMAND ${CMAKE_COMMAND} -E echo "XX Generate list of files in examples/ for XML tags"
-    COMMAND ${CMAKE_HOME_DIRECTORY}/tools/doxygen/list_routing_models_examples.sh '<mount ' > ${CMAKE_HOME_DIRECTORY}/doc/example_lists/example_filelist_xmltag_mount
-    COMMAND ${CMAKE_HOME_DIRECTORY}/tools/doxygen/list_routing_models_examples.sh '<link_ctn ' > ${CMAKE_HOME_DIRECTORY}/doc/example_lists/example_filelist_xmltag_linkctn
+    COMMAND ${CMAKE_HOME_DIRECTORY}/tools/doxygen/list_routing_models_examples.sh '<mount ' > ${CMAKE_BINARY_DIR}/doc/example_lists/example_filelist_xmltag_mount
+    COMMAND ${CMAKE_HOME_DIRECTORY}/tools/doxygen/list_routing_models_examples.sh '<link_ctn ' > ${CMAKE_BINARY_DIR}/doc/example_lists/example_filelist_xmltag_linkctn
     COMMAND ${CMAKE_COMMAND} -E echo "XX Run doxygen"
     COMMAND ${DOXYGEN_EXECUTABLE} Doxyfile
-    COMMAND ${CMAKE_COMMAND} -E remove ${CMAKE_HOME_DIRECTORY}/doc/simgrid_modules.map
-    WORKING_DIRECTORY ${CMAKE_HOME_DIRECTORY}/doc
+    COMMAND ${CMAKE_COMMAND} -E remove ${CMAKE_BINARY_DIR}/doc/simgrid_modules.map
+    WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/doc
     )
 
 ### Fill in the "make gforge-gforge" target ###
@@ -93,7 +95,7 @@ add_custom_target(gforge-sync
   COMMAND ${RSYNC_CMD} src/surf/xml/simgrid.dtd scm.gforge.inria.fr:/home/groups/simgrid/htdocs/simgrid/
   COMMAND ${RSYNC_CMD} src/surf/xml/simgrid.dtd scm.gforge.inria.fr:/home/groups/simgrid/htdocs/simgrid/${release_version}/simgrid.dtd
 
-  WORKING_DIRECTORY "${CMAKE_HOME_DIRECTORY}"
+  WORKING_DIRECTORY "${CMAKE_BINARY_DIR}"
   )
 add_dependencies(gforge-sync documentation)
 
@@ -109,8 +111,8 @@ if (Java_FOUND)
 
   ADD_CUSTOM_COMMAND(TARGET documentation
     COMMAND ${CMAKE_COMMAND} -E echo "XX Javadoc pass"
-    COMMAND ${JAVADOC_PATH}/javadoc -quiet -d ${CMAKE_HOME_DIRECTORY}/doc/html/javadoc/ ${CMAKE_HOME_DIRECTORY}/src/bindings/java/org/simgrid/*.java ${CMAKE_HOME_DIRECTORY}/src/bindings/java/org/simgrid/*/*.java
-    WORKING_DIRECTORY ${CMAKE_HOME_DIRECTORY}/doc
+    COMMAND ${JAVADOC_PATH}/javadoc -quiet -d ${CMAKE_BINARY_DIR}/doc/html/javadoc/ ${CMAKE_HOME_DIRECTORY}/src/bindings/java/org/simgrid/*.java ${CMAKE_HOME_DIRECTORY}/src/bindings/java/org/simgrid/*/*.java
+    WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/doc
   )
 endif()