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(tshark 1)
43 ADD_MAN_PAGE(stratoshark 1)
45 ADD_MAN_PAGE(androiddump 1)
46 ADD_MAN_PAGE(capinfos 1)
47 ADD_MAN_PAGE(captype 1)
48 ADD_MAN_PAGE(ciscodump 1)
49 ADD_MAN_PAGE(dumpcap 1)
50 ADD_MAN_PAGE(editcap 1)
51 ADD_MAN_PAGE(mergecap 1)
52 ADD_MAN_PAGE(randpkt 1)
53 ADD_MAN_PAGE(randpktdump 1)
54 ADD_MAN_PAGE(etwdump 1)
55 ADD_MAN_PAGE(rawshark 1)
56 ADD_MAN_PAGE(reordercap 1)
57 ADD_MAN_PAGE(sshdig 1)
58 ADD_MAN_PAGE(sshdump 1)
59 ADD_MAN_PAGE(text2pcap 1)
60 ADD_MAN_PAGE(falcodump 1)
61 ADD_MAN_PAGE(udpdump 1)
62 ADD_MAN_PAGE(wifidump 1)
64 ADD_MAN_PAGE(extcap 4)
65 ADD_MAN_PAGE(wireshark-filter 4)
67 if(BUILD_dpauxmon AND HAVE_LIBNL3)
68 ADD_MAN_PAGE(dpauxmon 1)
71 if(BUILD_sdjournal AND SYSTEMD_FOUND)
72 ADD_MAN_PAGE(sdjournal 1)
76 ADD_MAN_PAGE(mmdbresolve 1)
79 if (BUILD_corbaidl2wrs)
80 ADD_MAN_PAGE(idl2wrs 1)
84 ADD_MAN_PAGE(asn2deb 1)
85 ADD_MAN_PAGE(idl2deb 1)
88 set(WIRESHARK_BUNDLE_RESOURCE_SHARE_MAN1_FILES ${MAN1_INSTALL_FILES} PARENT_SCOPE)
89 set(WIRESHARK_BUNDLE_RESOURCE_SHARE_MAN4_FILES ${MAN4_INSTALL_FILES} PARENT_SCOPE)
90 # XXX We need a Stratoshark-specific man page list, which might overlap with Wireshark's.
91 # Just install everything for now.
92 set(STRATOSHARK_BUNDLE_RESOURCE_SHARE_MAN1_FILES ${WIRESHARK_BUNDLE_RESOURCE_SHARE_MAN1_FILES} PARENT_SCOPE)
93 set(STRATOSHARK_BUNDLE_RESOURCE_SHARE_MAN4_FILES ${WIRESHARK_BUNDLE_RESOURCE_SHARE_MAN4_FILES} PARENT_SCOPE)
95 set(MAN_INCLUDES man_pages/diagnostic-options.adoc man_pages/dissection-options.adoc man_pages/files.adoc)
98 ASCIIDOCTOR2ROFFMAN(1 ${MAN1_SOURCE_FILES})
99 ASCIIDOCTOR2ROFFMAN(4 ${MAN4_SOURCE_FILES})
100 ASCIIDOCTOR2HTMLMAN(${MAN1_SOURCE_FILES} ${MAN4_SOURCE_FILES})
102 add_custom_target(manpages
104 ${MAN1_INSTALL_FILES}
105 ${MAN4_INSTALL_FILES}
107 set_target_properties(manpages PROPERTIES FOLDER "Documentation")
110 if(ASCIIDOCTOR_FOUND)
111 ASCIIDOCTOR2HTML(release-notes.adoc)
112 ASCIIDOCTOR2TXT(release-notes.adoc)
114 add_custom_target(release_notes_html
116 ${CMAKE_CURRENT_BINARY_DIR}/release-notes.html
118 set_target_properties(release_notes_html PROPERTIES FOLDER "Documentation")
120 add_custom_target(release_notes_txt
122 ${CMAKE_CURRENT_BINARY_DIR}/release-notes.txt
125 set_target_properties(release_notes_txt PROPERTIES FOLDER "Documentation")
127 add_custom_target(release_notes
132 set_target_properties(release_notes PROPERTIES FOLDER "Documentation")
134 ASCIIDOCTOR2HTML(faq.adoc)
135 add_custom_target(faq_html DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/faq.html)
136 set_doc_target_properties(faq_html)
138 add_custom_target(faq DEPENDS faq_html)
139 set_doc_target_properties(faq)
143 add_custom_target(docs
145 ${HTML_INSTALL_FILES}
147 set_target_properties(docs PROPERTIES FOLDER "Documentation")
149 if(ASCIIDOCTOR_FOUND)
150 add_dependencies(docs manpages release_notes_html)
154 ${MAN1_INSTALL_FILES}
156 ${CMAKE_INSTALL_MANDIR}/man1
161 ${MAN4_INSTALL_FILES}
163 ${CMAKE_INSTALL_MANDIR}/man4
169 ${HTML_INSTALL_FILES}
170 ${CMAKE_CURRENT_BINARY_DIR}/release-notes.html
172 ${CMAKE_INSTALL_DOCDIR}
173 COMPONENT "ReleaseNotes"
178 # Wireshark User's and Developer's Guides
181 set(COMMON_GUIDE_FILES
182 common_src/gpl_appendix.adoc
183 common_src/typographic_conventions.adoc
186 set(WSUG_TITLE "Wireshark User's Guide")
189 wsug_src/wsug_advanced.adoc
190 wsug_src/wsug_build_install.adoc
191 wsug_src/wsug_capture.adoc
192 wsug_src/wsug_customize.adoc
193 wsug_src/wsug_files.adoc
194 wsug_src/wsug_howitworks.adoc
195 wsug_src/wsug_introduction.adoc
196 wsug_src/wsug_io.adoc
197 wsug_src/wsug_mate.adoc
198 wsug_src/wsug_messages.adoc
199 wsug_src/wsug_preface.adoc
200 wsug_src/wsug_protocols.adoc
201 wsug_src/wsug_statistics.adoc
202 wsug_src/wsug_telephony.adoc
203 wsug_src/wsug_tools.adoc
204 wsug_src/wsug_troubleshoot.adoc
205 wsug_src/wsug_use.adoc
206 wsug_src/wsug_work.adoc
207 wsug_src/capinfos-h.txt
208 wsug_src/dumpcap-h.txt
209 wsug_src/editcap-F.txt
210 wsug_src/editcap-T.txt
211 wsug_src/editcap-h.txt
212 wsug_src/mergecap-h.txt
213 wsug_src/rawshark-h.txt
214 wsug_src/reordercap-h.txt
215 wsug_src/text2pcap-h.txt
216 wsug_src/tshark-h.txt
217 wsug_src/wireshark-h.txt
218 ${COMMON_GUIDE_FILES}
221 # Note: Images should be minimized using tools/compress-pngs.py.
223 wsug_src/images/caution.svg
224 wsug_src/images/important.svg
225 wsug_src/images/note.svg
226 wsug_src/images/related-ack.png
227 wsug_src/images/related-current.png
228 wsug_src/images/related-dup-ack.png
229 wsug_src/images/related-first.png
230 wsug_src/images/related-last.png
231 wsug_src/images/related-other.png
232 wsug_src/images/related-request.png
233 wsug_src/images/related-response.png
234 wsug_src/images/related-segment.png
235 wsug_src/images/tip.svg
236 wsug_src/images/toolbar/document-open.png
237 wsug_src/images/toolbar/edit-find.png
238 wsug_src/images/toolbar/filter-toolbar-add.png
239 wsug_src/images/toolbar/filter-toolbar-apply.png
240 wsug_src/images/toolbar/filter-toolbar-bookmark.png
241 wsug_src/images/toolbar/filter-toolbar-clear.png
242 wsug_src/images/toolbar/filter-toolbar-input.png
243 wsug_src/images/toolbar/filter-toolbar-recent.png
244 wsug_src/images/toolbar/go-first.png
245 wsug_src/images/toolbar/go-jump.png
246 wsug_src/images/toolbar/go-last.png
247 wsug_src/images/toolbar/go-next.png
248 wsug_src/images/toolbar/go-previous.png
249 wsug_src/images/toolbar/x-capture-file-close.png
250 wsug_src/images/toolbar/x-capture-file-reload.png
251 wsug_src/images/toolbar/x-capture-file-save.png
252 wsug_src/images/toolbar/x-capture-options.png
253 wsug_src/images/toolbar/x-capture-restart.png
254 wsug_src/images/toolbar/x-capture-start.png
255 wsug_src/images/toolbar/x-capture-stop.png
256 wsug_src/images/toolbar/x-colorize-packets.png
257 wsug_src/images/toolbar/x-resize-columns.png
258 wsug_src/images/toolbar/x-stay-last.png
259 wsug_src/images/toolbar/zoom-in.png
260 wsug_src/images/toolbar/zoom-original.png
261 wsug_src/images/toolbar/zoom-out.png
262 wsug_src/images/warning.svg
263 wsug_src/images/ws-about-codecs.png
264 wsug_src/images/ws-analyze-menu.png
265 wsug_src/images/ws-bytes-pane-popup-menu.png
266 wsug_src/images/ws-bytes-pane-tabs.png
267 wsug_src/images/ws-bytes-pane.png
268 wsug_src/images/ws-capture-file-properties.png
269 wsug_src/images/ws-capture-info.png
270 wsug_src/images/ws-capture-interfaces-main-macos.png
271 wsug_src/images/ws-capture-interfaces-main-win32.png
272 wsug_src/images/ws-capture-menu.png
273 wsug_src/images/ws-capture-options-compile-selected-bpfs.png
274 wsug_src/images/ws-capture-options-options.png
275 wsug_src/images/ws-capture-options-output.png
276 wsug_src/images/ws-capture-options-output.png
277 wsug_src/images/ws-capture-options.png
278 wsug_src/images/ws-choose-color-rule.png
279 wsug_src/images/ws-coloring-fields.png
280 wsug_src/images/ws-coloring-rules-dialog.png
281 wsug_src/images/ws-column-header-popup-menu.png
282 wsug_src/images/ws-decode-as.png
283 wsug_src/images/ws-details-pane-popup-menu.png
284 wsug_src/images/ws-details-pane.png
285 wsug_src/images/ws-diagram-pane-popup-menu.png
286 wsug_src/images/ws-diagram-pane.png
287 wsug_src/images/ws-display-filter-tcp.png # GTK+
288 wsug_src/images/ws-edit-menu.png
289 wsug_src/images/ws-enabled-protocols.png
290 wsug_src/images/ws-expert-colored-tree.png
291 wsug_src/images/ws-expert-column.png
292 wsug_src/images/ws-expert-information.png
293 wsug_src/images/ws-export-objects.png
294 wsug_src/images/ws-export-packet-dissections.png
295 wsug_src/images/ws-export-selected.png
296 wsug_src/images/ws-export-specified-packets.png
297 wsug_src/images/ws-file-import.png
298 wsug_src/images/ws-file-menu.png
299 wsug_src/images/ws-file-set-dialog.png # GTK+
300 wsug_src/images/ws-filter-add-expression.png # GTK+
301 wsug_src/images/ws-filter-toolbar.png
302 wsug_src/images/ws-filters.png # GTK+
303 wsug_src/images/ws-find-packet.png
304 wsug_src/images/ws-follow-http2-stream.png
305 wsug_src/images/ws-follow-sip-stream.png
306 wsug_src/images/ws-follow-stream.png
307 wsug_src/images/ws-go-menu.png
308 wsug_src/images/ws-goto-packet.png
309 wsug_src/images/ws-help-menu.png
310 wsug_src/images/ws-list-pane.png # Outdated
311 wsug_src/images/ws-main-toolbar.png
312 wsug_src/images/ws-main.png
313 wsug_src/images/ws-manage-interfaces.png
314 wsug_src/images/ws-mate-analysis.png
315 wsug_src/images/ws-mate-dns_pane.png
316 wsug_src/images/ws-mate-dns_pdu.png
317 wsug_src/images/ws-mate-ftp_over_gre.png
318 wsug_src/images/ws-mate-gop_analysis.png
319 wsug_src/images/ws-mate-isup_over_mtp3_over_ip.png
320 wsug_src/images/ws-mate-mmse_over_http.png
321 wsug_src/images/ws-mate-pdu_analysis.png
322 wsug_src/images/ws-mate-tcp-output.png
323 wsug_src/images/ws-mate-transform.png
324 wsug_src/images/ws-menu.png
325 wsug_src/images/ws-merge-qt5.png
326 wsug_src/images/ws-merge-win32.png
327 wsug_src/images/ws-open-qt5.png
328 wsug_src/images/ws-open-win32.png
329 wsug_src/images/ws-packet-format.png
330 wsug_src/images/ws-packet-pane-popup-menu.png
331 wsug_src/images/ws-packet-range.png
332 wsug_src/images/ws-packet-selected.png
333 wsug_src/images/ws-packet-sep-win.png
334 wsug_src/images/ws-pref-advanced.png
335 wsug_src/images/ws-pref-appearance-columns.png
336 wsug_src/images/ws-pref-appearance-fonts-and-colors.png
337 wsug_src/images/ws-pref-appearance-layout.png
338 wsug_src/images/ws-pref-appearance.png
339 wsug_src/images/ws-pref-capture.png
340 wsug_src/images/ws-pref-expert.png
341 wsug_src/images/ws-pref-filter-buttons.png
342 wsug_src/images/ws-pref-name-resolution.png
343 wsug_src/images/ws-pref-protocols.png
344 wsug_src/images/ws-pref-rsa-keys.png
345 wsug_src/images/ws-pref-statistics.png
346 wsug_src/images/ws-print.png
347 wsug_src/images/ws-save-as-qt5.png
348 wsug_src/images/ws-save-as-win32.png
349 wsug_src/images/ws-statistics-menu.png
350 wsug_src/images/ws-stats-conversations.png
351 wsug_src/images/ws-stats-endpoints.png
352 wsug_src/images/ws-stats-hierarchy.png
353 wsug_src/images/ws-stats-iographs.png
354 wsug_src/images/ws-stats-lte-mac-traffic.png
355 wsug_src/images/ws-stats-lte-rlc-traffic.png
356 wsug_src/images/ws-stats-packet-lengths.png
357 wsug_src/images/ws-stats-srt-smb2.png
358 wsug_src/images/ws-stats-wlan-traffic.png # GTK+
359 wsug_src/images/ws-statusbar-empty.png
360 wsug_src/images/ws-statusbar-filter.png
361 wsug_src/images/ws-statusbar-loaded.png
362 wsug_src/images/ws-statusbar-profile.png
363 wsug_src/images/ws-statusbar-selected.png
364 wsug_src/images/ws-tcp-analysis.png
365 wsug_src/images/ws-tel-playlist.png
366 wsug_src/images/ws-tel-rtp-player_1.png
367 wsug_src/images/ws-tel-rtp-player_2.png
368 wsug_src/images/ws-tel-rtp-player_3.png
369 wsug_src/images/ws-tel-rtp-player_button.png
370 wsug_src/images/ws-tel-rtp-streams.png
371 wsug_src/images/ws-tel-rtpstream-analysis_1.png
372 wsug_src/images/ws-tel-rtpstream-analysis_2.png
373 wsug_src/images/ws-tel-rtpstream-analysis_3.png
374 wsug_src/images/ws-tel-seq-dialog.png
375 wsug_src/images/ws-tel-voip-calls.png
376 wsug_src/images/ws-telephony-menu.png
377 wsug_src/images/ws-time-reference.png # GTK+
378 wsug_src/images/ws-tools-menu.png
379 wsug_src/images/ws-view-menu.png
382 set(WSDG_TITLE "Wireshark Developer's Guide")
385 wsdg_src/wsdg_asn2wrs.adoc
386 wsdg_src/wsdg_build_intro.adoc
387 wsdg_src/wsdg_capture.adoc
388 wsdg_src/wsdg_dissection.adoc
389 wsdg_src/wsdg_env_intro.adoc
390 wsdg_src/wsdg_libraries.adoc
391 wsdg_src/wsdg_lua_support.adoc
392 wsdg_src/wsdg_preface.adoc
393 wsdg_src/wsdg_quick_setup.adoc
394 wsdg_src/wsdg_sources.adoc
395 wsdg_src/wsdg_tests.adoc
396 wsdg_src/wsdg_tools.adoc
397 wsdg_src/wsdg_userinterface.adoc
398 wsdg_src/wsdg_works.adoc
399 ${COMMON_GUIDE_FILES}
403 wsdg_src/images/caution.svg
404 wsdg_src/images/git-triangular-workflow.gv
405 wsdg_src/images/git-triangular-workflow.svg
406 wsdg_src/images/important.svg
407 wsdg_src/images/note.svg
408 wsdg_src/images/tip.svg
409 wsdg_src/images/warning.svg
410 wsdg_src/images/ws-capture_internals.dia
411 wsdg_src/images/ws-capture_internals.png
412 wsdg_src/images/ws-capture-sync.dia
413 wsdg_src/images/ws-capture-sync.png
414 wsdg_src/images/ws-capture-sync.png
415 wsdg_src/images/ws-function-blocks.dia
416 wsdg_src/images/ws-function-blocks.svg
417 wsdg_src/images/ws-logo.png
430 # Note: file order here MATTERS!
431 # new WSLUA_MODULE files must come right before any WSLUA_CONTINUE_MODULE
432 # files for the same module
434 ${CMAKE_SOURCE_DIR}/epan/wslua/wslua_dumper.c
435 ${CMAKE_SOURCE_DIR}/epan/wslua/wslua_field.c
436 ${CMAKE_SOURCE_DIR}/epan/wslua/wslua_gui.c
437 ${CMAKE_SOURCE_DIR}/epan/wslua/wslua_int64.c
438 ${CMAKE_SOURCE_DIR}/epan/wslua/wslua_listener.c
439 ${CMAKE_SOURCE_DIR}/epan/wslua/wslua_pinfo.c
440 ${CMAKE_SOURCE_DIR}/epan/wslua/wslua_address.c
441 ${CMAKE_SOURCE_DIR}/epan/wslua/wslua_column.c
442 ${CMAKE_SOURCE_DIR}/epan/wslua/wslua_nstime.c
443 ${CMAKE_SOURCE_DIR}/epan/wslua/wslua_proto.c
444 ${CMAKE_SOURCE_DIR}/epan/wslua/wslua_dissector.c
445 ${CMAKE_SOURCE_DIR}/epan/wslua/wslua_pref.c
446 ${CMAKE_SOURCE_DIR}/epan/wslua/wslua_proto_expert.c
447 ${CMAKE_SOURCE_DIR}/epan/wslua/wslua_proto_field.c
448 ${CMAKE_SOURCE_DIR}/epan/wslua/wslua_tree.c
449 ${CMAKE_SOURCE_DIR}/epan/wslua/wslua_tvb.c
450 ${CMAKE_SOURCE_DIR}/epan/wslua/wslua_byte_array.c
451 ${CMAKE_SOURCE_DIR}/epan/wslua/wslua_file.c
452 ${CMAKE_SOURCE_DIR}/epan/wslua/wslua_file_handler.c
453 ${CMAKE_SOURCE_DIR}/epan/wslua/wslua_frame_info.c
454 ${CMAKE_SOURCE_DIR}/epan/wslua/wslua_capture_info.c
455 ${CMAKE_SOURCE_DIR}/epan/wslua/wslua_dir.c
456 ${CMAKE_SOURCE_DIR}/epan/wslua/wslua_wtap.c
457 ${CMAKE_SOURCE_DIR}/epan/wslua/wslua_utility.c
458 ${CMAKE_SOURCE_DIR}/epan/wslua/wslua_struct.c
461 # Empty file to trigger wsluarm generation.
465 COMMAND ${CMAKE_COMMAND} -E make_directory wsluarm_src
466 COMMAND ${Python3_EXECUTABLE}
467 ${CMAKE_SOURCE_DIR}/tools/make-wsluarm.py
468 --output-directory wsluarm_src
470 COMMAND ${CMAKE_COMMAND} -E touch
473 ${CMAKE_SOURCE_DIR}/tools/make-wsluarm.py
477 set( WSDG_BUILT_DEPS wsluarm )
479 set( ASCIIDOC_CONF_FILES
480 ${CMAKE_CURRENT_SOURCE_DIR}/attributes.adoc
484 if(ASCIIDOCTOR_FOUND)
485 # Generate the DocBook sources of user and developer guides
487 ASCIIDOCTOR2DOCBOOK(wsug_src/user-guide.adoc ${ASCIIDOC_CONF_FILES} ${WSUG_SOURCE} ${WSUG_BUILT_DEPS})
488 add_custom_target(user_guide_docbook DEPENDS generate_user-guide.xml)
489 set_doc_target_properties(user_guide_docbook)
490 set_target_properties(user_guide_docbook PROPERTIES EXCLUDE_FROM_ALL True)
492 ASCIIDOCTOR2DOCBOOK(wsdg_src/developer-guide.adoc ${ASCIIDOC_CONF_FILES} ${WSDG_SOURCE} ${WSDG_BUILT_DEPS})
493 add_custom_target(developer_guide_docbook DEPENDS generate_developer-guide.xml)
494 set_doc_target_properties(developer_guide_docbook)
495 set_target_properties(developer_guide_docbook PROPERTIES EXCLUDE_FROM_ALL True)
497 # Top-level guide targets.
499 add_custom_target(user_guides DEPENDS user_guide_docbook)
500 set_doc_target_properties(user_guides)
501 set_target_properties(user_guides PROPERTIES EXCLUDE_FROM_ALL True)
503 add_custom_target(developer_guides DEPENDS developer_guide_docbook)
504 set_doc_target_properties(developer_guides)
505 set_target_properties(developer_guides PROPERTIES EXCLUDE_FROM_ALL True)
507 add_custom_target(all_guides DEPENDS user_guides developer_guides )
508 set_doc_target_properties(all_guides)
509 set_target_properties(all_guides PROPERTIES EXCLUDE_FROM_ALL True)
512 # User's Guide chain.
513 if(ASCIIDOCTOR_FOUND AND XSLTPROC_EXECUTABLE)
529 add_custom_target(user_guide_html
532 wsug_html_chunked/index.html
534 set_doc_target_properties(user_guide_html)
535 set_target_properties(user_guide_html PROPERTIES EXCLUDE_FROM_ALL True)
536 add_dependencies(user_guides user_guide_html)
537 # Copy the WSUG to the build directory so that when running
538 # from the build directory ui/help_url.c will find the local file.
539 # It expects the WSUG in a different directory on Windows.
541 set(WSUG_DIR "${DATAFILE_DIR}/${WSUG_TITLE}")
543 set(WSUG_DIR "${DATAFILE_DIR}/wsug_html_chunked")
545 # CMake 3.26 has copy_directory_if_different
547 TARGET user_guide_html POST_BUILD
548 COMMAND ${CMAKE_COMMAND} -E copy_directory
549 "${CMAKE_CURRENT_BINARY_DIR}/wsug_html_chunked" "${WSUG_DIR}"
554 if(ASCIIDOCTOR_FOUND AND ASCIIDOCTOR_PDF_EXECUTABLE)
555 ASCIIDOCTOR2PDF(${WSUG_TITLE} wsug_src/user-guide.adoc ${WSUG_SOURCE} ${WSUG_BUILT_DEPS})
557 add_custom_target(user_guide_pdf
561 set_doc_target_properties(user_guide_pdf)
562 set_target_properties(user_guide_pdf PROPERTIES EXCLUDE_FROM_ALL True)
563 add_dependencies(user_guides user_guide_pdf)
566 if(ASCIIDOCTOR_FOUND AND ASCIIDOCTOR_EPUB_EXECUTABLE)
567 ASCIIDOCTOR2EPUB(${WSUG_TITLE} wsug_src/user-guide.adoc ${WSUG_SOURCE} ${WSUG_BUILT_DEPS})
569 add_custom_target(user_guide_epub
573 set_doc_target_properties(user_guide_epub)
574 set_target_properties(user_guide_epub PROPERTIES EXCLUDE_FROM_ALL True)
575 add_dependencies(user_guides user_guide_epub)
578 # Developer's Guide chain.
579 if(ASCIIDOCTOR_FOUND AND XSLTPROC_EXECUTABLE)
595 add_custom_target(developer_guide_html
598 wsdg_html_chunked/index.html
600 set_doc_target_properties(developer_guide_html)
601 set_target_properties(developer_guide_html PROPERTIES EXCLUDE_FROM_ALL True)
602 add_dependencies(developer_guides developer_guide_html)
605 if(ASCIIDOCTOR_FOUND AND ASCIIDOCTOR_PDF_EXECUTABLE)
606 ASCIIDOCTOR2PDF(${WSDG_TITLE} wsdg_src/developer-guide.adoc ${WSDG_SOURCE} ${WSDG_BUILT_DEPS})
608 add_custom_target(developer_guide_pdf
612 set_doc_target_properties(developer_guide_pdf)
613 set_target_properties(developer_guide_pdf PROPERTIES EXCLUDE_FROM_ALL True)
614 add_dependencies(developer_guides developer_guide_pdf)
617 if(ASCIIDOCTOR_FOUND AND ASCIIDOCTOR_EPUB_EXECUTABLE)
618 ASCIIDOCTOR2EPUB(${WSDG_TITLE} wsdg_src/developer-guide.adoc ${WSDG_SOURCE} ${WSDG_BUILT_DEPS})
620 add_custom_target(developer_guide_epub
624 set_doc_target_properties(developer_guide_epub)
625 set_target_properties(developer_guide_epub PROPERTIES EXCLUDE_FROM_ALL True)
626 add_dependencies(developer_guides developer_guide_epub)
630 # Editor modelines - https://www.wireshark.org/tools/modelines.html
635 # indent-tabs-mode: t
638 # vi: set shiftwidth=8 tabstop=8 noexpandtab:
639 # :indentSize=8:tabSize=8:noTabs=false: