From 500e14f7b5d03b0052b61cbfc528edff6ed44798 Mon Sep 17 00:00:00 2001 From: Arnaud Giersch Date: Mon, 23 Apr 2018 09:31:37 +0200 Subject: [PATCH] Fix doc generation in CMAKE_BINARY_DIR/doc. It was broken by commit f0d94f03109c63408bfc4e94ca664c88deeddaaf. --- doc/Doxyfile.in | 98 +++++++++++++++++---------------- tools/cmake/Distrib.cmake | 2 +- tools/cmake/Documentation.cmake | 48 ++++++++-------- 3 files changed, 76 insertions(+), 72 deletions(-) diff --git a/doc/Doxyfile.in b/doc/Doxyfile.in index 9a93fc7dcd..ad0a864426 100644 --- a/doc/Doxyfile.in +++ b/doc/Doxyfile.in @@ -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 diff --git a/tools/cmake/Distrib.cmake b/tools/cmake/Distrib.cmake index 3ce90b5627..3edfb3614c 100644 --- a/tools/cmake/Distrib.cmake +++ b/tools/cmake/Distrib.cmake @@ -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 ) diff --git a/tools/cmake/Documentation.cmake b/tools/cmake/Documentation.cmake index e9fd4fd225..6e8df84cf7 100644 --- a/tools/cmake/Documentation.cmake +++ b/tools/cmake/Documentation.cmake @@ -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/ ${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/ ${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 ' ${CMAKE_HOME_DIRECTORY}/doc/example_lists/example_filelist_xmltag_mount - COMMAND ${CMAKE_HOME_DIRECTORY}/tools/doxygen/list_routing_models_examples.sh ' ${CMAKE_HOME_DIRECTORY}/doc/example_lists/example_filelist_xmltag_linkctn + COMMAND ${CMAKE_HOME_DIRECTORY}/tools/doxygen/list_routing_models_examples.sh ' ${CMAKE_BINARY_DIR}/doc/example_lists/example_filelist_xmltag_mount + COMMAND ${CMAKE_HOME_DIRECTORY}/tools/doxygen/list_routing_models_examples.sh ' ${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() -- 2.20.1