|
1 |
| -add_custom_target(docs |
2 |
| - COMMENT "Generating documentation and manuals in HTML format" |
3 |
| -) |
| 1 | +if(ENABLE_DOCS) |
| 2 | + add_custom_target(docs ALL |
| 3 | + COMMENT "Generating documentation and manuals in HTML format" |
| 4 | + ) |
4 | 5 |
|
5 |
| -if(DOXYGEN_FOUND) |
6 |
| - # set input and output files |
7 |
| - set(DOXYGEN_IN ${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.in) |
8 |
| - set(DOXYGEN_OUT ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile) |
| 6 | + if(DOXYGEN_FOUND) |
| 7 | + # set input and output files |
| 8 | + set(DOXYGEN_IN ${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.in) |
| 9 | + set(DOXYGEN_OUT ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile) |
9 | 10 |
|
10 |
| - # request to configure the file |
11 |
| - configure_file(${DOXYGEN_IN} ${DOXYGEN_OUT} @ONLY) |
| 11 | + # request to configure the file |
| 12 | + configure_file(${DOXYGEN_IN} ${DOXYGEN_OUT} @ONLY) |
12 | 13 |
|
13 |
| - # note the option ALL which allows to build the docs together with the application |
14 |
| - add_custom_target(doxygen_docs |
15 |
| - COMMAND "${DOXYGEN_EXECUTABLE}" "${DOXYGEN_OUT}" |
16 |
| - WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}" |
17 |
| - COMMENT "Generating API documentation with Doxygen") |
18 |
| - add_dependencies(docs doxygen_docs) |
19 |
| - install(DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/html" |
20 |
| - DESTINATION "${CMAKE_INSTALL_DOCDIR}" |
21 |
| - ) |
22 |
| -endif() |
| 14 | + # note the option ALL which allows to build the docs together with the application |
| 15 | + add_custom_command( |
| 16 | + OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/html" |
| 17 | + DEPENDS ${DOXYGEN_OUT} |
| 18 | + COMMAND "${DOXYGEN_EXECUTABLE}" "${DOXYGEN_OUT}" |
| 19 | + WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}" |
| 20 | + COMMENT "Generating API documentation with Doxygen" |
| 21 | + ) |
| 22 | + add_custom_target( |
| 23 | + doxygen_docs |
| 24 | + DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/html" |
| 25 | + ) |
| 26 | + add_dependencies(docs doxygen_docs) |
| 27 | + install(DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/html" |
| 28 | + DESTINATION "${CMAKE_INSTALL_DOCDIR}" |
| 29 | + ) |
| 30 | + endif() |
23 | 31 |
|
24 |
| -if(ASCIIDOC_EXECUTABLE) |
25 |
| - add_custom_target(user_manual |
26 |
| - COMMAND ${CMAKE_COMMAND} -E make_directory "${CMAKE_CURRENT_BINARY_DIR}/manual" |
27 |
| - COMMAND "${ASCIIDOC_EXECUTABLE}" -b html5 -o "${CMAKE_CURRENT_BINARY_DIR}/manual/manual.html" "${CMAKE_CURRENT_SOURCE_DIR}/manual/manual.adoc" |
28 |
| - COMMAND ${CMAKE_COMMAND} -E copy_directory "${CMAKE_CURRENT_SOURCE_DIR}/manual/images" "${CMAKE_CURRENT_BINARY_DIR}/manual/images" |
29 |
| - COMMENT "Generating OpenSCAP User Manual in HTML format" |
30 |
| - ) |
31 |
| - install(DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/manual" |
32 |
| - DESTINATION "${CMAKE_INSTALL_DOCDIR}" |
33 |
| - ) |
34 |
| - add_custom_target(developer_manual |
35 |
| - COMMAND ${CMAKE_COMMAND} -E make_directory "${CMAKE_CURRENT_BINARY_DIR}/developer" |
36 |
| - COMMAND "${ASCIIDOC_EXECUTABLE}" -b html5 -o "${CMAKE_CURRENT_BINARY_DIR}/developer/developer.html" "${CMAKE_CURRENT_SOURCE_DIR}/developer/developer.adoc" |
37 |
| - COMMENT "Generating OpenSCAP Developer Manual in HTML format" |
38 |
| - ) |
39 |
| - # We are not installing the OpenSCAP Developer manual because it does not |
40 |
| - # make any sense to install this for end-users. |
41 |
| - add_custom_target(contribute_docs |
42 |
| - COMMAND ${CMAKE_COMMAND} -E make_directory "${CMAKE_CURRENT_BINARY_DIR}/contribute" |
43 |
| - COMMAND "${ASCIIDOC_EXECUTABLE}" -b html5 -o "${CMAKE_CURRENT_BINARY_DIR}/contribute/contribute.html" "${CMAKE_CURRENT_SOURCE_DIR}/contribute/contribute.adoc" |
44 |
| - COMMAND "${ASCIIDOC_EXECUTABLE}" -b html5 -o "${CMAKE_CURRENT_BINARY_DIR}/contribute/testing.html" "${CMAKE_CURRENT_SOURCE_DIR}/contribute/testing.adoc" |
45 |
| - COMMAND "${ASCIIDOC_EXECUTABLE}" -b html5 -o "${CMAKE_CURRENT_BINARY_DIR}/contribute/versioning.html" "${CMAKE_CURRENT_SOURCE_DIR}/contribute/versioning.adoc" |
46 |
| - COMMENT "Generating contribute documentation in HTML format" |
47 |
| - ) |
48 |
| - # We are not installing the contribute documentation because it does not |
49 |
| - # make any sense to install this for end-users. |
| 32 | + if(ASCIIDOC_EXECUTABLE) |
| 33 | + add_custom_command( |
| 34 | + OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/manual/manual.html" |
| 35 | + DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/manual/manual.adoc" "${CMAKE_CURRENT_SOURCE_DIR}/manual/images" |
| 36 | + COMMAND ${CMAKE_COMMAND} -E make_directory "${CMAKE_CURRENT_BINARY_DIR}/manual" |
| 37 | + COMMAND "${ASCIIDOC_EXECUTABLE}" -b html5 -o "${CMAKE_CURRENT_BINARY_DIR}/manual/manual.html" "${CMAKE_CURRENT_SOURCE_DIR}/manual/manual.adoc" |
| 38 | + COMMAND ${CMAKE_COMMAND} -E copy_directory "${CMAKE_CURRENT_SOURCE_DIR}/manual/images" "${CMAKE_CURRENT_BINARY_DIR}/manual/images" |
| 39 | + COMMENT "Generating OpenSCAP User Manual in HTML format" |
| 40 | + ) |
| 41 | + add_custom_target( |
| 42 | + user_manual |
| 43 | + DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/manual/manual.html" |
| 44 | + ) |
| 45 | + install(DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/manual" |
| 46 | + DESTINATION "${CMAKE_INSTALL_DOCDIR}" |
| 47 | + ) |
| 48 | + |
| 49 | + add_custom_command( |
| 50 | + OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/developer/developer.html" |
| 51 | + DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/developer/developer.adoc" |
| 52 | + COMMAND ${CMAKE_COMMAND} -E make_directory "${CMAKE_CURRENT_BINARY_DIR}/developer" |
| 53 | + COMMAND "${ASCIIDOC_EXECUTABLE}" -b html5 -o "${CMAKE_CURRENT_BINARY_DIR}/developer/developer.html" "${CMAKE_CURRENT_SOURCE_DIR}/developer/developer.adoc" |
| 54 | + COMMENT "Generating OpenSCAP Developer Manual in HTML format" |
| 55 | + ) |
| 56 | + add_custom_target( |
| 57 | + developer_manual |
| 58 | + DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/developer/developer.html" |
| 59 | + ) |
| 60 | + # We are not installing the OpenSCAP Developer manual because it does not |
| 61 | + # make any sense to install this for end-users. |
| 62 | + |
| 63 | + add_custom_command( |
| 64 | + OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/contribute/contribute.html" "${CMAKE_CURRENT_BINARY_DIR}/contribute/testing.html" "${CMAKE_CURRENT_BINARY_DIR}/contribute/versioning.html" |
| 65 | + DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/contribute/contribute.adoc" "${CMAKE_CURRENT_SOURCE_DIR}/contribute/testing.adoc" "${CMAKE_CURRENT_SOURCE_DIR}/contribute/versioning.adoc" |
| 66 | + COMMAND ${CMAKE_COMMAND} -E make_directory "${CMAKE_CURRENT_BINARY_DIR}/contribute" |
| 67 | + COMMAND "${ASCIIDOC_EXECUTABLE}" -b html5 -o "${CMAKE_CURRENT_BINARY_DIR}/contribute/contribute.html" "${CMAKE_CURRENT_SOURCE_DIR}/contribute/contribute.adoc" |
| 68 | + COMMAND "${ASCIIDOC_EXECUTABLE}" -b html5 -o "${CMAKE_CURRENT_BINARY_DIR}/contribute/testing.html" "${CMAKE_CURRENT_SOURCE_DIR}/contribute/testing.adoc" |
| 69 | + COMMAND "${ASCIIDOC_EXECUTABLE}" -b html5 -o "${CMAKE_CURRENT_BINARY_DIR}/contribute/versioning.html" "${CMAKE_CURRENT_SOURCE_DIR}/contribute/versioning.adoc" |
| 70 | + COMMENT "Generating contribute documentation in HTML format" |
| 71 | + ) |
| 72 | + add_custom_target( |
| 73 | + contribute_docs |
| 74 | + DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/contribute/contribute.html" "${CMAKE_CURRENT_BINARY_DIR}/contribute/testing.html" "${CMAKE_CURRENT_BINARY_DIR}/contribute/versioning.html" |
| 75 | + ) |
| 76 | + # We are not installing the contribute documentation because it does not |
| 77 | + # make any sense to install this for end-users. |
50 | 78 |
|
51 |
| - add_dependencies(docs user_manual developer_manual contribute_docs) |
| 79 | + add_dependencies(docs user_manual developer_manual contribute_docs) |
| 80 | + endif() |
52 | 81 | endif()
|
0 commit comments