3 # Wireshark - Network traffic analyzer
4 # By Gerald Combs <gerald@wireshark.org>
5 # Copyright 1998 Gerald Combs
7 # SPDX-License-Identifier: GPL-2.0-or-later
10 find_package( Asciidoctor 1.5 )
12 function(set_doc_target_properties _target)
13 set_target_properties(${_target} PROPERTIES
14 FOLDER "Documentation"
15 EXCLUDE_FROM_DEFAULT_BUILD True
19 set(MAN1_SOURCE_FILES)
20 set(MAN4_SOURCE_FILES)
21 set(MAN1_INSTALL_FILES)
22 set(MAN4_INSTALL_FILES)
23 set(HTML_INSTALL_FILES)
25 macro (ADD_MAN_PAGE _page_name _man_section)
27 list(APPEND HTML_INSTALL_FILES ${CMAKE_CURRENT_BINARY_DIR}/man_pages/${_page_name}.html)
29 if (${_man_section} EQUAL 1)
30 list(APPEND MAN1_SOURCE_FILES ${CMAKE_CURRENT_SOURCE_DIR}/man_pages/${_page_name}.adoc)
31 list(APPEND MAN1_INSTALL_FILES ${CMAKE_CURRENT_BINARY_DIR}/man_pages/${_page_name}.${_man_section})
32 elseif (${_man_section} EQUAL 4)
33 list(APPEND MAN4_SOURCE_FILES ${CMAKE_CURRENT_SOURCE_DIR}/man_pages/${_page_name}.adoc)
34 list(APPEND MAN4_INSTALL_FILES ${CMAKE_CURRENT_BINARY_DIR}/man_pages/${_page_name}.${_man_section})
36 message(FATAL_ERROR "Unsupported manual page section ${_man_section} for ${_page_name}")
41 ADD_MAN_PAGE(wireshark 1)
42 ADD_MAN_PAGE(androiddump 1)
43 ADD_MAN_PAGE(capinfos 1)
44 ADD_MAN_PAGE(captype 1)
45 ADD_MAN_PAGE(ciscodump 1)
46 ADD_MAN_PAGE(dumpcap 1)
47 ADD_MAN_PAGE(editcap 1)
48 ADD_MAN_PAGE(mergecap 1)
49 ADD_MAN_PAGE(randpkt 1)
50 ADD_MAN_PAGE(randpktdump 1)
51 ADD_MAN_PAGE(etwdump 1)
52 ADD_MAN_PAGE(rawshark 1)
53 ADD_MAN_PAGE(reordercap 1)
54 ADD_MAN_PAGE(sshdump 1)
55 ADD_MAN_PAGE(text2pcap 1)
56 ADD_MAN_PAGE(tshark 1)
57 ADD_MAN_PAGE(falcodump 1)
58 ADD_MAN_PAGE(udpdump 1)
59 ADD_MAN_PAGE(wifidump 1)
61 ADD_MAN_PAGE(extcap 4)
62 ADD_MAN_PAGE(wireshark-filter 4)
64 if(BUILD_dpauxmon AND HAVE_LIBNL3)
65 ADD_MAN_PAGE(dpauxmon 1)
68 if(BUILD_sdjournal AND SYSTEMD_FOUND)
69 ADD_MAN_PAGE(sdjournal 1)
73 ADD_MAN_PAGE(mmdbresolve 1)
76 if (BUILD_corbaidl2wrs)
77 ADD_MAN_PAGE(idl2wrs 1)
81 ADD_MAN_PAGE(asn2deb 1)
82 ADD_MAN_PAGE(idl2deb 1)
85 set(WIRESHARK_BUNDLE_RESOURCE_SHARE_MAN1_FILES ${MAN1_INSTALL_FILES} PARENT_SCOPE)
86 set(WIRESHARK_BUNDLE_RESOURCE_SHARE_MAN4_FILES ${MAN4_INSTALL_FILES} PARENT_SCOPE)
87 # XXX We need a Stratoshark-specific man page list, which might overlap with Wireshark's.
88 # Just install everything for now.
89 set(STRATOSHARK_BUNDLE_RESOURCE_SHARE_MAN1_FILES ${WIRESHARK_BUNDLE_RESOURCE_SHARE_MAN1_FILES} PARENT_SCOPE)
90 set(STRATOSHARK_BUNDLE_RESOURCE_SHARE_MAN4_FILES ${WIRESHARK_BUNDLE_RESOURCE_SHARE_MAN4_FILES} PARENT_SCOPE)
92 set(MAN_INCLUDES man_pages/diagnostic-options.adoc man_pages/dissection-options.adoc man_pages/files.adoc)
95 ASCIIDOCTOR2ROFFMAN(1 ${MAN1_SOURCE_FILES})
96 ASCIIDOCTOR2ROFFMAN(4 ${MAN4_SOURCE_FILES})
97 ASCIIDOCTOR2HTMLMAN(${MAN1_SOURCE_FILES} ${MAN4_SOURCE_FILES})
99 add_custom_target(manpages
101 ${MAN1_INSTALL_FILES}
102 ${MAN4_INSTALL_FILES}
104 set_target_properties(manpages PROPERTIES FOLDER "Documentation")
107 if(ASCIIDOCTOR_FOUND)
108 ASCIIDOCTOR2HTML(release-notes.adoc)
109 ASCIIDOCTOR2TXT(release-notes.adoc)
111 add_custom_target(release_notes_html
113 ${CMAKE_CURRENT_BINARY_DIR}/release-notes.html
115 set_target_properties(release_notes_html PROPERTIES FOLDER "Documentation")
117 add_custom_target(release_notes_txt
119 ${CMAKE_CURRENT_BINARY_DIR}/release-notes.txt
122 set_target_properties(release_notes_txt PROPERTIES FOLDER "Documentation")
124 add_custom_target(release_notes
129 set_target_properties(release_notes PROPERTIES FOLDER "Documentation")
131 ASCIIDOCTOR2HTML(faq.adoc)
132 add_custom_target(faq_html DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/faq.html)
133 set_doc_target_properties(faq_html)
135 add_custom_target(faq DEPENDS faq_html)
136 set_doc_target_properties(faq)
140 add_custom_target(docs
142 ${HTML_INSTALL_FILES}
144 set_target_properties(docs PROPERTIES FOLDER "Documentation")
146 if(ASCIIDOCTOR_FOUND)
147 add_dependencies(docs manpages release_notes_html)
151 ${MAN1_INSTALL_FILES}
153 ${CMAKE_INSTALL_MANDIR}/man1
158 ${MAN4_INSTALL_FILES}
160 ${CMAKE_INSTALL_MANDIR}/man4
166 ${HTML_INSTALL_FILES}
167 ${CMAKE_CURRENT_BINARY_DIR}/release-notes.html
169 ${CMAKE_INSTALL_DOCDIR}
170 COMPONENT "ReleaseNotes"
175 # Wireshark User's and Developer's Guides
178 set(COMMON_GUIDE_FILES
179 common_src/gpl_appendix.adoc
180 common_src/typographic_conventions.adoc
183 set(WSUG_TITLE "Wireshark User's Guide")
186 wsug_src/wsug_advanced.adoc
187 wsug_src/wsug_build_install.adoc
188 wsug_src/wsug_capture.adoc
189 wsug_src/wsug_customize.adoc
190 wsug_src/wsug_files.adoc
191 wsug_src/wsug_howitworks.adoc
192 wsug_src/wsug_introduction.adoc
193 wsug_src/wsug_io.adoc
194 wsug_src/wsug_mate.adoc
195 wsug_src/wsug_messages.adoc
196 wsug_src/wsug_preface.adoc
197 wsug_src/wsug_protocols.adoc
198 wsug_src/wsug_statistics.adoc
199 wsug_src/wsug_telephony.adoc
200 wsug_src/wsug_tools.adoc
201 wsug_src/wsug_troubleshoot.adoc
202 wsug_src/wsug_use.adoc
203 wsug_src/wsug_work.adoc
204 wsug_src/capinfos-h.txt
205 wsug_src/dumpcap-h.txt
206 wsug_src/editcap-F.txt
207 wsug_src/editcap-T.txt
208 wsug_src/editcap-h.txt
209 wsug_src/mergecap-h.txt
210 wsug_src/rawshark-h.txt
211 wsug_src/reordercap-h.txt
212 wsug_src/text2pcap-h.txt
213 wsug_src/tshark-h.txt
214 wsug_src/wireshark-h.txt
215 ${COMMON_GUIDE_FILES}
218 # Note: Images should be minimized using tools/compress-pngs.py.
220 wsug_src/images/caution.svg
221 wsug_src/images/important.svg
222 wsug_src/images/note.svg
223 wsug_src/images/related-ack.png
224 wsug_src/images/related-current.png
225 wsug_src/images/related-dup-ack.png
226 wsug_src/images/related-first.png
227 wsug_src/images/related-last.png
228 wsug_src/images/related-other.png
229 wsug_src/images/related-request.png
230 wsug_src/images/related-response.png
231 wsug_src/images/related-segment.png
232 wsug_src/images/tip.svg
233 wsug_src/images/toolbar/document-open.png
234 wsug_src/images/toolbar/edit-find.png
235 wsug_src/images/toolbar/filter-toolbar-add.png
236 wsug_src/images/toolbar/filter-toolbar-apply.png
237 wsug_src/images/toolbar/filter-toolbar-bookmark.png
238 wsug_src/images/toolbar/filter-toolbar-clear.png
239 wsug_src/images/toolbar/filter-toolbar-input.png
240 wsug_src/images/toolbar/filter-toolbar-recent.png
241 wsug_src/images/toolbar/go-first.png
242 wsug_src/images/toolbar/go-jump.png
243 wsug_src/images/toolbar/go-last.png
244 wsug_src/images/toolbar/go-next.png
245 wsug_src/images/toolbar/go-previous.png
246 wsug_src/images/toolbar/x-capture-file-close.png
247 wsug_src/images/toolbar/x-capture-file-reload.png
248 wsug_src/images/toolbar/x-capture-file-save.png
249 wsug_src/images/toolbar/x-capture-options.png
250 wsug_src/images/toolbar/x-capture-restart.png
251 wsug_src/images/toolbar/x-capture-start.png
252 wsug_src/images/toolbar/x-capture-stop.png
253 wsug_src/images/toolbar/x-colorize-packets.png
254 wsug_src/images/toolbar/x-resize-columns.png
255 wsug_src/images/toolbar/x-stay-last.png
256 wsug_src/images/toolbar/zoom-in.png
257 wsug_src/images/toolbar/zoom-original.png
258 wsug_src/images/toolbar/zoom-out.png
259 wsug_src/images/warning.svg
260 wsug_src/images/ws-about-codecs.png
261 wsug_src/images/ws-analyze-menu.png
262 wsug_src/images/ws-bytes-pane-popup-menu.png
263 wsug_src/images/ws-bytes-pane-tabs.png
264 wsug_src/images/ws-bytes-pane.png
265 wsug_src/images/ws-capture-file-properties.png
266 wsug_src/images/ws-capture-info.png
267 wsug_src/images/ws-capture-interfaces-main-macos.png
268 wsug_src/images/ws-capture-interfaces-main-win32.png
269 wsug_src/images/ws-capture-menu.png
270 wsug_src/images/ws-capture-options-compile-selected-bpfs.png
271 wsug_src/images/ws-capture-options-options.png
272 wsug_src/images/ws-capture-options-output.png
273 wsug_src/images/ws-capture-options-output.png
274 wsug_src/images/ws-capture-options.png
275 wsug_src/images/ws-choose-color-rule.png
276 wsug_src/images/ws-coloring-fields.png
277 wsug_src/images/ws-coloring-rules-dialog.png
278 wsug_src/images/ws-column-header-popup-menu.png
279 wsug_src/images/ws-decode-as.png
280 wsug_src/images/ws-details-pane-popup-menu.png
281 wsug_src/images/ws-details-pane.png
282 wsug_src/images/ws-diagram-pane-popup-menu.png
283 wsug_src/images/ws-diagram-pane.png
284 wsug_src/images/ws-display-filter-tcp.png # GTK+
285 wsug_src/images/ws-edit-menu.png
286 wsug_src/images/ws-enabled-protocols.png
287 wsug_src/images/ws-expert-colored-tree.png
288 wsug_src/images/ws-expert-column.png
289 wsug_src/images/ws-expert-information.png
290 wsug_src/images/ws-export-objects.png
291 wsug_src/images/ws-export-packet-dissections.png
292 wsug_src/images/ws-export-selected.png
293 wsug_src/images/ws-export-specified-packets.png
294 wsug_src/images/ws-file-import.png
295 wsug_src/images/ws-file-menu.png
296 wsug_src/images/ws-file-set-dialog.png # GTK+
297 wsug_src/images/ws-filter-add-expression.png # GTK+
298 wsug_src/images/ws-filter-toolbar.png
299 wsug_src/images/ws-filters.png # GTK+
300 wsug_src/images/ws-find-packet.png
301 wsug_src/images/ws-follow-http2-stream.png
302 wsug_src/images/ws-follow-sip-stream.png
303 wsug_src/images/ws-follow-stream.png
304 wsug_src/images/ws-go-menu.png
305 wsug_src/images/ws-goto-packet.png
306 wsug_src/images/ws-help-menu.png
307 wsug_src/images/ws-list-pane.png # Outdated
308 wsug_src/images/ws-main-toolbar.png
309 wsug_src/images/ws-main.png
310 wsug_src/images/ws-manage-interfaces.png
311 wsug_src/images/ws-mate-analysis.png
312 wsug_src/images/ws-mate-dns_pane.png
313 wsug_src/images/ws-mate-dns_pdu.png
314 wsug_src/images/ws-mate-ftp_over_gre.png
315 wsug_src/images/ws-mate-gop_analysis.png
316 wsug_src/images/ws-mate-isup_over_mtp3_over_ip.png
317 wsug_src/images/ws-mate-mmse_over_http.png
318 wsug_src/images/ws-mate-pdu_analysis.png
319 wsug_src/images/ws-mate-tcp-output.png
320 wsug_src/images/ws-mate-transform.png
321 wsug_src/images/ws-menu.png
322 wsug_src/images/ws-merge-qt5.png
323 wsug_src/images/ws-merge-win32.png
324 wsug_src/images/ws-open-qt5.png
325 wsug_src/images/ws-open-win32.png
326 wsug_src/images/ws-packet-format.png
327 wsug_src/images/ws-packet-pane-popup-menu.png
328 wsug_src/images/ws-packet-range.png
329 wsug_src/images/ws-packet-selected.png
330 wsug_src/images/ws-packet-sep-win.png
331 wsug_src/images/ws-pref-advanced.png
332 wsug_src/images/ws-pref-appearance-columns.png
333 wsug_src/images/ws-pref-appearance-fonts-and-colors.png
334 wsug_src/images/ws-pref-appearance-layout.png
335 wsug_src/images/ws-pref-appearance.png
336 wsug_src/images/ws-pref-capture.png
337 wsug_src/images/ws-pref-expert.png
338 wsug_src/images/ws-pref-filter-buttons.png
339 wsug_src/images/ws-pref-name-resolution.png
340 wsug_src/images/ws-pref-protocols.png
341 wsug_src/images/ws-pref-rsa-keys.png
342 wsug_src/images/ws-pref-statistics.png
343 wsug_src/images/ws-print.png
344 wsug_src/images/ws-save-as-qt5.png
345 wsug_src/images/ws-save-as-win32.png
346 wsug_src/images/ws-statistics-menu.png
347 wsug_src/images/ws-stats-conversations.png
348 wsug_src/images/ws-stats-endpoints.png
349 wsug_src/images/ws-stats-hierarchy.png
350 wsug_src/images/ws-stats-iographs.png
351 wsug_src/images/ws-stats-lte-mac-traffic.png
352 wsug_src/images/ws-stats-lte-rlc-traffic.png
353 wsug_src/images/ws-stats-packet-lengths.png
354 wsug_src/images/ws-stats-srt-smb2.png
355 wsug_src/images/ws-stats-wlan-traffic.png # GTK+
356 wsug_src/images/ws-statusbar-empty.png
357 wsug_src/images/ws-statusbar-filter.png
358 wsug_src/images/ws-statusbar-loaded.png
359 wsug_src/images/ws-statusbar-profile.png
360 wsug_src/images/ws-statusbar-selected.png
361 wsug_src/images/ws-tcp-analysis.png
362 wsug_src/images/ws-tel-playlist.png
363 wsug_src/images/ws-tel-rtp-player_1.png
364 wsug_src/images/ws-tel-rtp-player_2.png
365 wsug_src/images/ws-tel-rtp-player_3.png
366 wsug_src/images/ws-tel-rtp-player_button.png
367 wsug_src/images/ws-tel-rtp-streams.png
368 wsug_src/images/ws-tel-rtpstream-analysis_1.png
369 wsug_src/images/ws-tel-rtpstream-analysis_2.png
370 wsug_src/images/ws-tel-rtpstream-analysis_3.png
371 wsug_src/images/ws-tel-seq-dialog.png
372 wsug_src/images/ws-tel-voip-calls.png
373 wsug_src/images/ws-telephony-menu.png
374 wsug_src/images/ws-time-reference.png # GTK+
375 wsug_src/images/ws-tools-menu.png
376 wsug_src/images/ws-view-menu.png
379 set(WSDG_TITLE "Wireshark Developer's Guide")
382 wsdg_src/wsdg_asn2wrs.adoc
383 wsdg_src/wsdg_build_intro.adoc
384 wsdg_src/wsdg_capture.adoc
385 wsdg_src/wsdg_dissection.adoc
386 wsdg_src/wsdg_env_intro.adoc
387 wsdg_src/wsdg_libraries.adoc
388 wsdg_src/wsdg_lua_support.adoc
389 wsdg_src/wsdg_preface.adoc
390 wsdg_src/wsdg_quick_setup.adoc
391 wsdg_src/wsdg_sources.adoc
392 wsdg_src/wsdg_tests.adoc
393 wsdg_src/wsdg_tools.adoc
394 wsdg_src/wsdg_userinterface.adoc
395 wsdg_src/wsdg_works.adoc
396 ${COMMON_GUIDE_FILES}
400 wsdg_src/images/caution.svg
401 wsdg_src/images/git-triangular-workflow.gv
402 wsdg_src/images/git-triangular-workflow.svg
403 wsdg_src/images/important.svg
404 wsdg_src/images/note.svg
405 wsdg_src/images/tip.svg
406 wsdg_src/images/warning.svg
407 wsdg_src/images/ws-capture_internals.dia
408 wsdg_src/images/ws-capture_internals.png
409 wsdg_src/images/ws-capture-sync.dia
410 wsdg_src/images/ws-capture-sync.png
411 wsdg_src/images/ws-capture-sync.png
412 wsdg_src/images/ws-function-blocks.dia
413 wsdg_src/images/ws-function-blocks.svg
414 wsdg_src/images/ws-logo.png
427 # Note: file order here MATTERS!
428 # new WSLUA_MODULE files must come right before any WSLUA_CONTINUE_MODULE
429 # files for the same module
431 ${CMAKE_SOURCE_DIR}/epan/wslua/wslua_dumper.c
432 ${CMAKE_SOURCE_DIR}/epan/wslua/wslua_field.c
433 ${CMAKE_SOURCE_DIR}/epan/wslua/wslua_gui.c
434 ${CMAKE_SOURCE_DIR}/epan/wslua/wslua_int64.c
435 ${CMAKE_SOURCE_DIR}/epan/wslua/wslua_listener.c
436 ${CMAKE_SOURCE_DIR}/epan/wslua/wslua_pinfo.c
437 ${CMAKE_SOURCE_DIR}/epan/wslua/wslua_address.c
438 ${CMAKE_SOURCE_DIR}/epan/wslua/wslua_column.c
439 ${CMAKE_SOURCE_DIR}/epan/wslua/wslua_nstime.c
440 ${CMAKE_SOURCE_DIR}/epan/wslua/wslua_proto.c
441 ${CMAKE_SOURCE_DIR}/epan/wslua/wslua_dissector.c
442 ${CMAKE_SOURCE_DIR}/epan/wslua/wslua_pref.c
443 ${CMAKE_SOURCE_DIR}/epan/wslua/wslua_proto_expert.c
444 ${CMAKE_SOURCE_DIR}/epan/wslua/wslua_proto_field.c
445 ${CMAKE_SOURCE_DIR}/epan/wslua/wslua_tree.c
446 ${CMAKE_SOURCE_DIR}/epan/wslua/wslua_tvb.c
447 ${CMAKE_SOURCE_DIR}/epan/wslua/wslua_byte_array.c
448 ${CMAKE_SOURCE_DIR}/epan/wslua/wslua_file.c
449 ${CMAKE_SOURCE_DIR}/epan/wslua/wslua_file_handler.c
450 ${CMAKE_SOURCE_DIR}/epan/wslua/wslua_frame_info.c
451 ${CMAKE_SOURCE_DIR}/epan/wslua/wslua_capture_info.c
452 ${CMAKE_SOURCE_DIR}/epan/wslua/wslua_dir.c
453 ${CMAKE_SOURCE_DIR}/epan/wslua/wslua_wtap.c
454 ${CMAKE_SOURCE_DIR}/epan/wslua/wslua_utility.c
455 ${CMAKE_SOURCE_DIR}/epan/wslua/wslua_struct.c
458 # Empty file to trigger wsluarm generation.
462 COMMAND ${CMAKE_COMMAND} -E make_directory wsluarm_src
463 COMMAND ${Python3_EXECUTABLE}
464 ${CMAKE_SOURCE_DIR}/tools/make-wsluarm.py
465 --output-directory wsluarm_src
467 COMMAND ${CMAKE_COMMAND} -E touch
470 ${CMAKE_SOURCE_DIR}/tools/make-wsluarm.py
474 set( WSDG_BUILT_DEPS wsluarm )
476 set( ASCIIDOC_CONF_FILES
477 ${CMAKE_CURRENT_SOURCE_DIR}/attributes.adoc
481 if(ASCIIDOCTOR_FOUND)
482 # Generate the DocBook sources of user and developer guides
484 ASCIIDOCTOR2DOCBOOK(wsug_src/user-guide.adoc ${ASCIIDOC_CONF_FILES} ${WSUG_SOURCE} ${WSUG_BUILT_DEPS})
485 add_custom_target(user_guide_docbook DEPENDS generate_user-guide.xml)
486 set_doc_target_properties(user_guide_docbook)
487 set_target_properties(user_guide_docbook PROPERTIES EXCLUDE_FROM_ALL True)
489 ASCIIDOCTOR2DOCBOOK(wsdg_src/developer-guide.adoc ${ASCIIDOC_CONF_FILES} ${WSDG_SOURCE} ${WSDG_BUILT_DEPS})
490 add_custom_target(developer_guide_docbook DEPENDS generate_developer-guide.xml)
491 set_doc_target_properties(developer_guide_docbook)
492 set_target_properties(developer_guide_docbook PROPERTIES EXCLUDE_FROM_ALL True)
494 # Top-level guide targets.
496 add_custom_target(user_guides DEPENDS user_guide_docbook)
497 set_doc_target_properties(user_guides)
498 set_target_properties(user_guides PROPERTIES EXCLUDE_FROM_ALL True)
500 add_custom_target(developer_guides DEPENDS developer_guide_docbook)
501 set_doc_target_properties(developer_guides)
502 set_target_properties(developer_guides PROPERTIES EXCLUDE_FROM_ALL True)
504 add_custom_target(all_guides DEPENDS user_guides developer_guides )
505 set_doc_target_properties(all_guides)
506 set_target_properties(all_guides PROPERTIES EXCLUDE_FROM_ALL True)
509 # User's Guide chain.
510 if(ASCIIDOCTOR_FOUND AND XSLTPROC_EXECUTABLE)
526 add_custom_target(user_guide_html
529 wsug_html_chunked/index.html
531 set_doc_target_properties(user_guide_html)
532 set_target_properties(user_guide_html PROPERTIES EXCLUDE_FROM_ALL True)
533 add_dependencies(user_guides user_guide_html)
534 # Copy the WSUG to the build directory so that when running
535 # from the build directory ui/help_url.c will find the local file.
536 # It expects the WSUG in a different directory on Windows.
538 set(WSUG_DIR "${DATAFILE_DIR}/${WSUG_TITLE}")
540 set(WSUG_DIR "${DATAFILE_DIR}/wsug_html_chunked")
542 # CMake 3.26 has copy_directory_if_different
544 TARGET user_guide_html
545 COMMAND ${CMAKE_COMMAND} -E copy_directory
546 "${CMAKE_CURRENT_BINARY_DIR}/wsug_html_chunked" "${WSUG_DIR}"
551 if(ASCIIDOCTOR_FOUND AND ASCIIDOCTOR_PDF_EXECUTABLE)
552 ASCIIDOCTOR2PDF(${WSUG_TITLE} wsug_src/user-guide.adoc ${WSUG_SOURCE} ${WSUG_BUILT_DEPS})
554 add_custom_target(user_guide_pdf
558 set_doc_target_properties(user_guide_pdf)
559 set_target_properties(user_guide_pdf PROPERTIES EXCLUDE_FROM_ALL True)
560 add_dependencies(user_guides user_guide_pdf)
563 if(ASCIIDOCTOR_FOUND AND ASCIIDOCTOR_EPUB_EXECUTABLE)
564 ASCIIDOCTOR2EPUB(${WSUG_TITLE} wsug_src/user-guide.adoc ${WSUG_SOURCE} ${WSUG_BUILT_DEPS})
566 add_custom_target(user_guide_epub
570 set_doc_target_properties(user_guide_epub)
571 set_target_properties(user_guide_epub PROPERTIES EXCLUDE_FROM_ALL True)
572 add_dependencies(user_guides user_guide_epub)
575 # Developer's Guide chain.
576 if(ASCIIDOCTOR_FOUND AND XSLTPROC_EXECUTABLE)
592 add_custom_target(developer_guide_html
595 wsdg_html_chunked/index.html
597 set_doc_target_properties(developer_guide_html)
598 set_target_properties(developer_guide_html PROPERTIES EXCLUDE_FROM_ALL True)
599 add_dependencies(developer_guides developer_guide_html)
602 if(ASCIIDOCTOR_FOUND AND ASCIIDOCTOR_PDF_EXECUTABLE)
603 ASCIIDOCTOR2PDF(${WSDG_TITLE} wsdg_src/developer-guide.adoc ${WSDG_SOURCE} ${WSDG_BUILT_DEPS})
605 add_custom_target(developer_guide_pdf
609 set_doc_target_properties(developer_guide_pdf)
610 set_target_properties(developer_guide_pdf PROPERTIES EXCLUDE_FROM_ALL True)
611 add_dependencies(developer_guides developer_guide_pdf)
614 if(ASCIIDOCTOR_FOUND AND ASCIIDOCTOR_EPUB_EXECUTABLE)
615 ASCIIDOCTOR2EPUB(${WSDG_TITLE} wsdg_src/developer-guide.adoc ${WSDG_SOURCE} ${WSDG_BUILT_DEPS})
617 add_custom_target(developer_guide_epub
621 set_doc_target_properties(developer_guide_epub)
622 set_target_properties(developer_guide_epub PROPERTIES EXCLUDE_FROM_ALL True)
623 add_dependencies(developer_guides developer_guide_epub)
627 # Editor modelines - https://www.wireshark.org/tools/modelines.html
632 # indent-tabs-mode: t
635 # vi: set shiftwidth=8 tabstop=8 noexpandtab:
636 # :indentSize=8:tabSize=8:noTabs=false: