2 ### Generate all parts of the documentation on non-Windows systems
4 ### - Javadoc (reference)
5 ### - manpages (reference of tools)
7 ### This file is not loaded on windows
9 #### Generate the html documentation
10 find_path(FIG2DEV_PATH NAMES fig2dev PATHS NO_DEFAULT_PATHS)
12 if(enable_documentation)
14 find_path(JAVADOC_PATH NAMES javadoc PATHS NO_DEFAULT_PATHS)
15 mark_as_advanced(JAVADOC_PATH)
17 ADD_CUSTOM_TARGET(documentation
18 COMMENT "Generating the SimGrid documentation..."
19 COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_BINARY_DIR}/doc/html
21 ADD_CUSTOM_COMMAND(TARGET documentation
22 COMMAND ${CMAKE_COMMAND} -E echo "XX Javadoc pass"
23 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
24 WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/doc
28 #### Generate the manpages
30 set( MANPAGE_DIR ${CMAKE_BINARY_DIR}/manpages )
33 add_custom_target(manpages ALL
34 COMMAND ${CMAKE_COMMAND} -E make_directory ${MANPAGE_DIR}
35 COMMAND pod2man ${CMAKE_HOME_DIRECTORY}/tools/simgrid_update_xml.pl > ${MANPAGE_DIR}/simgrid_update_xml.1
36 COMMAND pod2man ${CMAKE_HOME_DIRECTORY}/docs/manpages/tesh.pod > ${MANPAGE_DIR}/tesh.1
37 COMMENT "Generating manpages"
40 ${MANPAGE_DIR}/simgrid_update_xml.1
42 ${CMAKE_HOME_DIRECTORY}/docs/manpages/smpicc.1
43 ${CMAKE_HOME_DIRECTORY}/docs/manpages/smpicxx.1
44 ${CMAKE_HOME_DIRECTORY}/docs/manpages/smpif90.1
45 ${CMAKE_HOME_DIRECTORY}/docs/manpages/smpiff.1
46 ${CMAKE_HOME_DIRECTORY}/docs/manpages/smpirun.1
47 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1
50 else(enable_documentation)
51 ADD_CUSTOM_TARGET(documentation
52 COMMENT "The generation of the SimGrid documentation was disabled in cmake"
54 endif(enable_documentation)