summaryrefslogtreecommitdiffstats
path: root/doc/CMakeLists.txt
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-09-19 04:14:53 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-09-19 04:14:53 +0000
commita86c5f7cae7ec9a3398300555a0b644689d946a1 (patch)
tree39fe4b107c71174fd1e8a8ceb9a4d2aa14116248 /doc/CMakeLists.txt
parentReleasing progress-linux version 4.2.6-1~progress7.99u1. (diff)
downloadwireshark-a86c5f7cae7ec9a3398300555a0b644689d946a1.tar.xz
wireshark-a86c5f7cae7ec9a3398300555a0b644689d946a1.zip
Merging upstream version 4.4.0.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'doc/CMakeLists.txt')
-rw-r--r--doc/CMakeLists.txt518
1 files changed, 490 insertions, 28 deletions
diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt
index 674554fe..0256d0d8 100644
--- a/doc/CMakeLists.txt
+++ b/doc/CMakeLists.txt
@@ -9,6 +9,13 @@
find_package( Asciidoctor 1.5 )
+function(set_doc_target_properties _target)
+ set_target_properties(${_target} PROPERTIES
+ FOLDER "Documentation"
+ EXCLUDE_FROM_DEFAULT_BUILD True
+ )
+endfunction()
+
set(MAN1_SOURCE_FILES)
set(MAN4_SOURCE_FILES)
set(MAN1_INSTALL_FILES)
@@ -17,14 +24,14 @@ set(HTML_INSTALL_FILES)
macro (ADD_MAN_PAGE _page_name _man_section)
if(ASCIIDOCTOR_FOUND)
- list(APPEND HTML_INSTALL_FILES ${CMAKE_CURRENT_BINARY_DIR}/${_page_name}.html)
+ list(APPEND HTML_INSTALL_FILES ${CMAKE_CURRENT_BINARY_DIR}/man_pages/${_page_name}.html)
if (${_man_section} EQUAL 1)
- list(APPEND MAN1_SOURCE_FILES ${CMAKE_CURRENT_SOURCE_DIR}/${_page_name}.adoc)
- list(APPEND MAN1_INSTALL_FILES ${CMAKE_CURRENT_BINARY_DIR}/${_page_name}.${_man_section})
+ list(APPEND MAN1_SOURCE_FILES ${CMAKE_CURRENT_SOURCE_DIR}/man_pages/${_page_name}.adoc)
+ list(APPEND MAN1_INSTALL_FILES ${CMAKE_CURRENT_BINARY_DIR}/man_pages/${_page_name}.${_man_section})
elseif (${_man_section} EQUAL 4)
- list(APPEND MAN4_SOURCE_FILES ${CMAKE_CURRENT_SOURCE_DIR}/${_page_name}.adoc)
- list(APPEND MAN4_INSTALL_FILES ${CMAKE_CURRENT_BINARY_DIR}/${_page_name}.${_man_section})
+ list(APPEND MAN4_SOURCE_FILES ${CMAKE_CURRENT_SOURCE_DIR}/man_pages/${_page_name}.adoc)
+ list(APPEND MAN4_INSTALL_FILES ${CMAKE_CURRENT_BINARY_DIR}/man_pages/${_page_name}.${_man_section})
else()
message(FATAL_ERROR "Unsupported manual page section ${_man_section} for ${_page_name}")
endif()
@@ -82,16 +89,17 @@ set(WIRESHARK_BUNDLE_RESOURCE_SHARE_MAN4_FILES ${MAN4_INSTALL_FILES} PARENT_SCOP
set(LOGRAY_BUNDLE_RESOURCE_SHARE_MAN1_FILES ${WIRESHARK_BUNDLE_RESOURCE_SHARE_MAN1_FILES} PARENT_SCOPE)
set(LOGRAY_BUNDLE_RESOURCE_SHARE_MAN4_FILES ${WIRESHARK_BUNDLE_RESOURCE_SHARE_MAN4_FILES} PARENT_SCOPE)
-set(MAN_INCLUDES diagnostic-options.adoc dissection-options.adoc)
+set(MAN_INCLUDES man_pages/diagnostic-options.adoc man_pages/dissection-options.adoc man_pages/files.adoc)
if(ASCIIDOCTOR_FOUND)
ASCIIDOCTOR2ROFFMAN(1 ${MAN1_SOURCE_FILES})
ASCIIDOCTOR2ROFFMAN(4 ${MAN4_SOURCE_FILES})
ASCIIDOCTOR2HTMLMAN(${MAN1_SOURCE_FILES} ${MAN4_SOURCE_FILES})
- add_custom_target(manpages DEPENDS
- ${MAN1_INSTALL_FILES}
- ${MAN4_INSTALL_FILES}
+ add_custom_target(manpages
+ DEPENDS
+ ${MAN1_INSTALL_FILES}
+ ${MAN4_INSTALL_FILES}
)
set_target_properties(manpages PROPERTIES FOLDER "Documentation")
endif()
@@ -100,18 +108,19 @@ if(ASCIIDOCTOR_FOUND)
ASCIIDOCTOR2HTML(release-notes.adoc)
ASCIIDOCTOR2TXT(release-notes.adoc)
- list(APPEND HTML_INSTALL_FILES "${CMAKE_CURRENT_BINARY_DIR}/release-notes.html")
-
add_custom_target(release_notes_html
DEPENDS
${CMAKE_CURRENT_BINARY_DIR}/release-notes.html
)
set_target_properties(release_notes_html PROPERTIES FOLDER "Documentation")
+
add_custom_target(release_notes_txt
DEPENDS
${CMAKE_CURRENT_BINARY_DIR}/release-notes.txt
+ release_notes_html
)
set_target_properties(release_notes_txt PROPERTIES FOLDER "Documentation")
+
add_custom_target(release_notes
DEPENDS
release_notes_html
@@ -119,26 +128,24 @@ if(ASCIIDOCTOR_FOUND)
)
set_target_properties(release_notes PROPERTIES FOLDER "Documentation")
- add_custom_target(news
- COMMAND ${CMAKE_COMMAND} -E copy_if_different
- ${CMAKE_CURRENT_BINARY_DIR}/release-notes.txt
- ${CMAKE_SOURCE_DIR}/NEWS
- DEPENDS
- release_notes_txt
- )
- set_target_properties(news PROPERTIES FOLDER "Documentation")
+ ASCIIDOCTOR2HTML(faq.adoc)
+ add_custom_target(faq_html DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/faq.html)
+ set_doc_target_properties(faq_html)
+
+ add_custom_target(faq DEPENDS faq_html)
+ set_doc_target_properties(faq)
endif()
-add_custom_target(
- docs ALL
+
+add_custom_target(docs
DEPENDS
- ${MAN1_INSTALL_FILES}
- ${MAN4_INSTALL_FILES}
${HTML_INSTALL_FILES}
)
set_target_properties(docs PROPERTIES FOLDER "Documentation")
if(ASCIIDOCTOR_FOUND)
+ add_dependencies(docs manpages release_notes_html)
+
install(
FILES
${MAN1_INSTALL_FILES}
@@ -152,15 +159,470 @@ if(ASCIIDOCTOR_FOUND)
DESTINATION
${CMAKE_INSTALL_MANDIR}/man4
)
+
+
+ install(
+ FILES
+ ${HTML_INSTALL_FILES}
+ ${CMAKE_CURRENT_BINARY_DIR}/release-notes.html
+ DESTINATION
+ ${CMAKE_INSTALL_DOCDIR}
+ COMPONENT "ReleaseNotes"
+ )
endif()
-install(
- FILES
- ${HTML_INSTALL_FILES}
- DESTINATION
- ${CMAKE_INSTALL_DOCDIR}
+#
+# Wireshark User's and Developer's Guides
+#
+
+set(COMMON_GUIDE_FILES
+ common_src/gpl_appendix.adoc
+ common_src/typographic_conventions.adoc
+)
+
+set(WSUG_TITLE "Wireshark User's Guide")
+
+set(WSUG_FILES
+ wsug_src/wsug_advanced.adoc
+ wsug_src/wsug_build_install.adoc
+ wsug_src/wsug_capture.adoc
+ wsug_src/wsug_customize.adoc
+ wsug_src/wsug_files.adoc
+ wsug_src/wsug_howitworks.adoc
+ wsug_src/wsug_introduction.adoc
+ wsug_src/wsug_io.adoc
+ wsug_src/wsug_mate.adoc
+ wsug_src/wsug_messages.adoc
+ wsug_src/wsug_preface.adoc
+ wsug_src/wsug_protocols.adoc
+ wsug_src/wsug_statistics.adoc
+ wsug_src/wsug_telephony.adoc
+ wsug_src/wsug_tools.adoc
+ wsug_src/wsug_troubleshoot.adoc
+ wsug_src/wsug_use.adoc
+ wsug_src/wsug_work.adoc
+ wsug_src/capinfos-h.txt
+ wsug_src/dumpcap-h.txt
+ wsug_src/editcap-F.txt
+ wsug_src/editcap-T.txt
+ wsug_src/editcap-h.txt
+ wsug_src/mergecap-h.txt
+ wsug_src/rawshark-h.txt
+ wsug_src/reordercap-h.txt
+ wsug_src/text2pcap-h.txt
+ wsug_src/tshark-h.txt
+ wsug_src/wireshark-h.txt
+ ${COMMON_GUIDE_FILES}
+)
+
+# Note: Images should be minimized using tools/compress-pngs.py.
+set(WSUG_GRAPHICS
+ wsug_src/images/caution.svg
+ wsug_src/images/important.svg
+ wsug_src/images/note.svg
+ wsug_src/images/related-ack.png
+ wsug_src/images/related-current.png
+ wsug_src/images/related-dup-ack.png
+ wsug_src/images/related-first.png
+ wsug_src/images/related-last.png
+ wsug_src/images/related-other.png
+ wsug_src/images/related-request.png
+ wsug_src/images/related-response.png
+ wsug_src/images/related-segment.png
+ wsug_src/images/tip.svg
+ wsug_src/images/toolbar/document-open.png
+ wsug_src/images/toolbar/edit-find.png
+ wsug_src/images/toolbar/filter-toolbar-add.png
+ wsug_src/images/toolbar/filter-toolbar-apply.png
+ wsug_src/images/toolbar/filter-toolbar-bookmark.png
+ wsug_src/images/toolbar/filter-toolbar-clear.png
+ wsug_src/images/toolbar/filter-toolbar-input.png
+ wsug_src/images/toolbar/filter-toolbar-recent.png
+ wsug_src/images/toolbar/go-first.png
+ wsug_src/images/toolbar/go-jump.png
+ wsug_src/images/toolbar/go-last.png
+ wsug_src/images/toolbar/go-next.png
+ wsug_src/images/toolbar/go-previous.png
+ wsug_src/images/toolbar/x-capture-file-close.png
+ wsug_src/images/toolbar/x-capture-file-reload.png
+ wsug_src/images/toolbar/x-capture-file-save.png
+ wsug_src/images/toolbar/x-capture-options.png
+ wsug_src/images/toolbar/x-capture-restart.png
+ wsug_src/images/toolbar/x-capture-start.png
+ wsug_src/images/toolbar/x-capture-stop.png
+ wsug_src/images/toolbar/x-colorize-packets.png
+ wsug_src/images/toolbar/x-resize-columns.png
+ wsug_src/images/toolbar/x-stay-last.png
+ wsug_src/images/toolbar/zoom-in.png
+ wsug_src/images/toolbar/zoom-original.png
+ wsug_src/images/toolbar/zoom-out.png
+ wsug_src/images/warning.svg
+ wsug_src/images/ws-about-codecs.png
+ wsug_src/images/ws-analyze-menu.png
+ wsug_src/images/ws-bytes-pane-popup-menu.png
+ wsug_src/images/ws-bytes-pane-tabs.png
+ wsug_src/images/ws-bytes-pane.png
+ wsug_src/images/ws-capture-file-properties.png
+ wsug_src/images/ws-capture-info.png
+ wsug_src/images/ws-capture-interfaces-main-macos.png
+ wsug_src/images/ws-capture-interfaces-main-win32.png
+ wsug_src/images/ws-capture-menu.png
+ wsug_src/images/ws-capture-options-compile-selected-bpfs.png
+ wsug_src/images/ws-capture-options-options.png
+ wsug_src/images/ws-capture-options-output.png
+ wsug_src/images/ws-capture-options-output.png
+ wsug_src/images/ws-capture-options.png
+ wsug_src/images/ws-choose-color-rule.png
+ wsug_src/images/ws-coloring-fields.png
+ wsug_src/images/ws-coloring-rules-dialog.png
+ wsug_src/images/ws-column-header-popup-menu.png
+ wsug_src/images/ws-decode-as.png
+ wsug_src/images/ws-details-pane-popup-menu.png
+ wsug_src/images/ws-details-pane.png
+ wsug_src/images/ws-diagram-pane-popup-menu.png
+ wsug_src/images/ws-diagram-pane.png
+ wsug_src/images/ws-display-filter-tcp.png # GTK+
+ wsug_src/images/ws-edit-menu.png
+ wsug_src/images/ws-enabled-protocols.png
+ wsug_src/images/ws-expert-colored-tree.png
+ wsug_src/images/ws-expert-column.png
+ wsug_src/images/ws-expert-information.png
+ wsug_src/images/ws-export-objects.png
+ wsug_src/images/ws-export-packet-dissections.png
+ wsug_src/images/ws-export-selected.png
+ wsug_src/images/ws-export-specified-packets.png
+ wsug_src/images/ws-file-import.png
+ wsug_src/images/ws-file-menu.png
+ wsug_src/images/ws-file-set-dialog.png # GTK+
+ wsug_src/images/ws-filter-add-expression.png # GTK+
+ wsug_src/images/ws-filter-toolbar.png
+ wsug_src/images/ws-filters.png # GTK+
+ wsug_src/images/ws-find-packet.png
+ wsug_src/images/ws-follow-http2-stream.png
+ wsug_src/images/ws-follow-sip-stream.png
+ wsug_src/images/ws-follow-stream.png
+ wsug_src/images/ws-go-menu.png
+ wsug_src/images/ws-goto-packet.png
+ wsug_src/images/ws-help-menu.png
+ wsug_src/images/ws-list-pane.png # Outdated
+ wsug_src/images/ws-main-toolbar.png
+ wsug_src/images/ws-main.png
+ wsug_src/images/ws-manage-interfaces.png
+ wsug_src/images/ws-mate-analysis.png
+ wsug_src/images/ws-mate-dns_pane.png
+ wsug_src/images/ws-mate-dns_pdu.png
+ wsug_src/images/ws-mate-ftp_over_gre.png
+ wsug_src/images/ws-mate-gop_analysis.png
+ wsug_src/images/ws-mate-isup_over_mtp3_over_ip.png
+ wsug_src/images/ws-mate-mmse_over_http.png
+ wsug_src/images/ws-mate-pdu_analysis.png
+ wsug_src/images/ws-mate-tcp-output.png
+ wsug_src/images/ws-mate-transform.png
+ wsug_src/images/ws-menu.png
+ wsug_src/images/ws-merge-qt5.png
+ wsug_src/images/ws-merge-win32.png
+ wsug_src/images/ws-open-qt5.png
+ wsug_src/images/ws-open-win32.png
+ wsug_src/images/ws-packet-format.png
+ wsug_src/images/ws-packet-pane-popup-menu.png
+ wsug_src/images/ws-packet-range.png
+ wsug_src/images/ws-packet-selected.png
+ wsug_src/images/ws-packet-sep-win.png
+ wsug_src/images/ws-pref-advanced.png
+ wsug_src/images/ws-pref-appearance-columns.png
+ wsug_src/images/ws-pref-appearance-fonts-and-colors.png
+ wsug_src/images/ws-pref-appearance-layout.png
+ wsug_src/images/ws-pref-appearance.png
+ wsug_src/images/ws-pref-capture.png
+ wsug_src/images/ws-pref-expert.png
+ wsug_src/images/ws-pref-filter-buttons.png
+ wsug_src/images/ws-pref-name-resolution.png
+ wsug_src/images/ws-pref-protocols.png
+ wsug_src/images/ws-pref-rsa-keys.png
+ wsug_src/images/ws-pref-statistics.png
+ wsug_src/images/ws-print.png
+ wsug_src/images/ws-save-as-qt5.png
+ wsug_src/images/ws-save-as-win32.png
+ wsug_src/images/ws-statistics-menu.png
+ wsug_src/images/ws-stats-conversations.png
+ wsug_src/images/ws-stats-endpoints.png
+ wsug_src/images/ws-stats-hierarchy.png
+ wsug_src/images/ws-stats-iographs.png
+ wsug_src/images/ws-stats-lte-mac-traffic.png
+ wsug_src/images/ws-stats-lte-rlc-traffic.png
+ wsug_src/images/ws-stats-packet-lengths.png
+ wsug_src/images/ws-stats-srt-smb2.png
+ wsug_src/images/ws-stats-wlan-traffic.png # GTK+
+ wsug_src/images/ws-statusbar-empty.png
+ wsug_src/images/ws-statusbar-filter.png
+ wsug_src/images/ws-statusbar-loaded.png
+ wsug_src/images/ws-statusbar-profile.png
+ wsug_src/images/ws-statusbar-selected.png
+ wsug_src/images/ws-tcp-analysis.png
+ wsug_src/images/ws-tel-playlist.png
+ wsug_src/images/ws-tel-rtp-player_1.png
+ wsug_src/images/ws-tel-rtp-player_2.png
+ wsug_src/images/ws-tel-rtp-player_3.png
+ wsug_src/images/ws-tel-rtp-player_button.png
+ wsug_src/images/ws-tel-rtp-streams.png
+ wsug_src/images/ws-tel-rtpstream-analysis_1.png
+ wsug_src/images/ws-tel-rtpstream-analysis_2.png
+ wsug_src/images/ws-tel-rtpstream-analysis_3.png
+ wsug_src/images/ws-tel-seq-dialog.png
+ wsug_src/images/ws-tel-voip-calls.png
+ wsug_src/images/ws-telephony-menu.png
+ wsug_src/images/ws-time-reference.png # GTK+
+ wsug_src/images/ws-tools-menu.png
+ wsug_src/images/ws-view-menu.png
+)
+
+set(WSDG_TITLE "Wireshark Developer's Guide")
+
+set(WSDG_FILES
+ wsdg_src/wsdg_asn2wrs.adoc
+ wsdg_src/wsdg_build_intro.adoc
+ wsdg_src/wsdg_capture.adoc
+ wsdg_src/wsdg_dissection.adoc
+ wsdg_src/wsdg_env_intro.adoc
+ wsdg_src/wsdg_libraries.adoc
+ wsdg_src/wsdg_lua_support.adoc
+ wsdg_src/wsdg_preface.adoc
+ wsdg_src/wsdg_quick_setup.adoc
+ wsdg_src/wsdg_sources.adoc
+ wsdg_src/wsdg_tests.adoc
+ wsdg_src/wsdg_tools.adoc
+ wsdg_src/wsdg_userinterface.adoc
+ wsdg_src/wsdg_works.adoc
+ ${COMMON_GUIDE_FILES}
+)
+
+set(WSDG_GRAPHICS
+ wsdg_src/images/caution.svg
+ wsdg_src/images/git-triangular-workflow.gv
+ wsdg_src/images/git-triangular-workflow.svg
+ wsdg_src/images/important.svg
+ wsdg_src/images/note.svg
+ wsdg_src/images/tip.svg
+ wsdg_src/images/warning.svg
+ wsdg_src/images/ws-capture_internals.dia
+ wsdg_src/images/ws-capture_internals.png
+ wsdg_src/images/ws-capture-sync.dia
+ wsdg_src/images/ws-capture-sync.png
+ wsdg_src/images/ws-capture-sync.png
+ wsdg_src/images/ws-function-blocks.dia
+ wsdg_src/images/ws-function-blocks.svg
+ wsdg_src/images/ws-logo.png
)
+set(WSUG_SOURCE
+ ${WSUG_FILES}
+ ${WSUG_GRAPHICS}
+)
+
+set(WSDG_SOURCE
+ ${WSDG_FILES}
+ ${WSDG_GRAPHICS}
+)
+
+# Note: file order here MATTERS!
+# new WSLUA_MODULE files must come right before any WSLUA_CONTINUE_MODULE
+# files for the same module
+set(WSLUA_MODULES
+ ${CMAKE_SOURCE_DIR}/epan/wslua/wslua_dumper.c
+ ${CMAKE_SOURCE_DIR}/epan/wslua/wslua_field.c
+ ${CMAKE_SOURCE_DIR}/epan/wslua/wslua_gui.c
+ ${CMAKE_SOURCE_DIR}/epan/wslua/wslua_int64.c
+ ${CMAKE_SOURCE_DIR}/epan/wslua/wslua_listener.c
+ ${CMAKE_SOURCE_DIR}/epan/wslua/wslua_pinfo.c
+ ${CMAKE_SOURCE_DIR}/epan/wslua/wslua_address.c
+ ${CMAKE_SOURCE_DIR}/epan/wslua/wslua_column.c
+ ${CMAKE_SOURCE_DIR}/epan/wslua/wslua_nstime.c
+ ${CMAKE_SOURCE_DIR}/epan/wslua/wslua_proto.c
+ ${CMAKE_SOURCE_DIR}/epan/wslua/wslua_dissector.c
+ ${CMAKE_SOURCE_DIR}/epan/wslua/wslua_pref.c
+ ${CMAKE_SOURCE_DIR}/epan/wslua/wslua_proto_expert.c
+ ${CMAKE_SOURCE_DIR}/epan/wslua/wslua_proto_field.c
+ ${CMAKE_SOURCE_DIR}/epan/wslua/wslua_tree.c
+ ${CMAKE_SOURCE_DIR}/epan/wslua/wslua_tvb.c
+ ${CMAKE_SOURCE_DIR}/epan/wslua/wslua_byte_array.c
+ ${CMAKE_SOURCE_DIR}/epan/wslua/wslua_file.c
+ ${CMAKE_SOURCE_DIR}/epan/wslua/wslua_file_handler.c
+ ${CMAKE_SOURCE_DIR}/epan/wslua/wslua_frame_info.c
+ ${CMAKE_SOURCE_DIR}/epan/wslua/wslua_capture_info.c
+ ${CMAKE_SOURCE_DIR}/epan/wslua/wslua_dir.c
+ ${CMAKE_SOURCE_DIR}/epan/wslua/wslua_wtap.c
+ ${CMAKE_SOURCE_DIR}/epan/wslua/wslua_utility.c
+ ${CMAKE_SOURCE_DIR}/epan/wslua/wslua_struct.c
+)
+
+# Empty file to trigger wsluarm generation.
+ADD_CUSTOM_COMMAND(
+ OUTPUT
+ wsluarm
+ COMMAND ${CMAKE_COMMAND} -E make_directory wsluarm_src
+ COMMAND ${Python3_EXECUTABLE}
+ ${CMAKE_SOURCE_DIR}/tools/make-wsluarm.py
+ --output-directory wsluarm_src
+ ${WSLUA_MODULES}
+ COMMAND ${CMAKE_COMMAND} -E touch
+ wsluarm
+ DEPENDS
+ ${CMAKE_SOURCE_DIR}/tools/make-wsluarm.py
+ ${WSLUA_MODULES}
+)
+
+set( WSDG_BUILT_DEPS wsluarm )
+
+set( ASCIIDOC_CONF_FILES
+ ${CMAKE_CURRENT_SOURCE_DIR}/attributes.adoc
+ # XXX Add macros
+)
+
+if(ASCIIDOCTOR_FOUND)
+ # Generate the DocBook sources of user and developer guides
+
+ ASCIIDOCTOR2DOCBOOK(wsug_src/user-guide.adoc ${ASCIIDOC_CONF_FILES} ${WSUG_SOURCE} ${WSUG_BUILT_DEPS})
+ add_custom_target(user_guide_docbook DEPENDS generate_user-guide.xml)
+ set_doc_target_properties(user_guide_docbook)
+ set_target_properties(user_guide_docbook PROPERTIES EXCLUDE_FROM_ALL True)
+
+ ASCIIDOCTOR2DOCBOOK(wsdg_src/developer-guide.adoc ${ASCIIDOC_CONF_FILES} ${WSDG_SOURCE} ${WSDG_BUILT_DEPS})
+ add_custom_target(developer_guide_docbook DEPENDS generate_developer-guide.xml)
+ set_doc_target_properties(developer_guide_docbook)
+ set_target_properties(developer_guide_docbook PROPERTIES EXCLUDE_FROM_ALL True)
+
+ # Top-level guide targets.
+
+ add_custom_target(user_guides DEPENDS user_guide_docbook)
+ set_doc_target_properties(user_guides)
+ set_target_properties(user_guides PROPERTIES EXCLUDE_FROM_ALL True)
+
+ add_custom_target(developer_guides DEPENDS developer_guide_docbook)
+ set_doc_target_properties(developer_guides)
+ set_target_properties(developer_guides PROPERTIES EXCLUDE_FROM_ALL True)
+
+ add_custom_target(all_guides DEPENDS user_guides developer_guides )
+ set_doc_target_properties(all_guides)
+ set_target_properties(all_guides PROPERTIES EXCLUDE_FROM_ALL True)
+endif()
+
+# User's Guide chain.
+if(ASCIIDOCTOR_FOUND AND XSLTPROC_EXECUTABLE)
+ XML2HTML(
+ user_guide
+ wsug
+ single-page
+ user-guide.xml
+ WSUG_GRAPHICS
+ )
+
+ XML2HTML(
+ user_guide
+ wsug
+ chunked
+ user-guide.xml
+ WSUG_GRAPHICS
+ )
+ add_custom_target(user_guide_html
+ DEPENDS
+ wsug_html/index.html
+ wsug_html_chunked/index.html
+ )
+ set_doc_target_properties(user_guide_html)
+ set_target_properties(user_guide_html PROPERTIES EXCLUDE_FROM_ALL True)
+ add_dependencies(user_guides user_guide_html)
+ # Copy the WSUG to the build directory so that when running
+ # from the build directory ui/help_url.c will find the local file.
+ # It expects the WSUG in a different directory on Windows.
+ if(WIN32)
+ set(WSUG_DIR "${DATAFILE_DIR}/${WSUG_TITLE}")
+ else()
+ set(WSUG_DIR "${DATAFILE_DIR}/wsug_html_chunked")
+ endif()
+ # CMake 3.26 has copy_directory_if_different
+ add_custom_command(
+ TARGET user_guide_html
+ COMMAND ${CMAKE_COMMAND} -E copy_directory
+ "${CMAKE_CURRENT_BINARY_DIR}/wsug_html_chunked" "${WSUG_DIR}"
+ VERBATIM
+ )
+endif()
+
+if(ASCIIDOCTOR_FOUND AND ASCIIDOCTOR_PDF_EXECUTABLE)
+ ASCIIDOCTOR2PDF(${WSUG_TITLE} wsug_src/user-guide.adoc ${WSUG_SOURCE} ${WSUG_BUILT_DEPS})
+
+ add_custom_target(user_guide_pdf
+ DEPENDS
+ "${WSUG_TITLE}.pdf"
+ )
+ set_doc_target_properties(user_guide_pdf)
+ set_target_properties(user_guide_pdf PROPERTIES EXCLUDE_FROM_ALL True)
+ add_dependencies(user_guides user_guide_pdf)
+endif()
+
+if(ASCIIDOCTOR_FOUND AND ASCIIDOCTOR_EPUB_EXECUTABLE)
+ ASCIIDOCTOR2EPUB(${WSUG_TITLE} wsug_src/user-guide.adoc ${WSUG_SOURCE} ${WSUG_BUILT_DEPS})
+
+ add_custom_target(user_guide_epub
+ DEPENDS
+ "${WSUG_TITLE}.epub"
+ )
+ set_doc_target_properties(user_guide_epub)
+ set_target_properties(user_guide_epub PROPERTIES EXCLUDE_FROM_ALL True)
+ add_dependencies(user_guides user_guide_epub)
+endif()
+
+# Developer's Guide chain.
+if(ASCIIDOCTOR_FOUND AND XSLTPROC_EXECUTABLE)
+ XML2HTML(
+ developer_guide
+ wsdg
+ single-page
+ developer-guide.xml
+ WSDG_GRAPHICS
+ )
+
+ XML2HTML(
+ developer_guide
+ wsdg
+ chunked
+ developer-guide.xml
+ WSDG_GRAPHICS
+ )
+ add_custom_target(developer_guide_html
+ DEPENDS
+ wsdg_html/index.html
+ wsdg_html_chunked/index.html
+ )
+ set_doc_target_properties(developer_guide_html)
+ set_target_properties(developer_guide_html PROPERTIES EXCLUDE_FROM_ALL True)
+ add_dependencies(developer_guides developer_guide_html)
+endif()
+
+if(ASCIIDOCTOR_FOUND AND ASCIIDOCTOR_PDF_EXECUTABLE)
+ ASCIIDOCTOR2PDF(${WSDG_TITLE} wsdg_src/developer-guide.adoc ${WSDG_SOURCE} ${WSDG_BUILT_DEPS})
+
+ add_custom_target(developer_guide_pdf
+ DEPENDS
+ "${WSDG_TITLE}.pdf"
+ )
+ set_doc_target_properties(developer_guide_pdf)
+ set_target_properties(developer_guide_pdf PROPERTIES EXCLUDE_FROM_ALL True)
+ add_dependencies(developer_guides developer_guide_pdf)
+endif()
+
+if(ASCIIDOCTOR_FOUND AND ASCIIDOCTOR_EPUB_EXECUTABLE)
+ ASCIIDOCTOR2EPUB(${WSDG_TITLE} wsdg_src/developer-guide.adoc ${WSDG_SOURCE} ${WSDG_BUILT_DEPS})
+
+ add_custom_target(developer_guide_epub
+ DEPENDS
+ "${WSDG_TITLE}.epub"
+ )
+ set_doc_target_properties(developer_guide_epub)
+ set_target_properties(developer_guide_epub PROPERTIES EXCLUDE_FROM_ALL True)
+ add_dependencies(developer_guides developer_guide_epub)
+endif()
+
#
# Editor modelines - https://www.wireshark.org/tools/modelines.html
#