HTTPS (almost) everywhere.
[metze/wireshark/wip.git] / doc / CMakeLists.txt
1 # CMakeLists.txt
2 #
3 # Wireshark - Network traffic analyzer
4 # By Gerald Combs <gerald@wireshark.org>
5 # Copyright 1998 Gerald Combs
6 #
7 # SPDX-License-Identifier: GPL-2.0-or-later
8 #
9
10 add_custom_command(
11         OUTPUT AUTHORS-SHORT
12         COMMAND ${PERL_EXECUTABLE}
13                 ${CMAKE_CURRENT_SOURCE_DIR}/perlnoutf.pl
14                 ${CMAKE_CURRENT_SOURCE_DIR}/make-authors-short.pl
15                 < ${CMAKE_SOURCE_DIR}/AUTHORS
16                 > ${CMAKE_CURRENT_BINARY_DIR}/AUTHORS-SHORT
17         DEPENDS
18                 ${CMAKE_CURRENT_SOURCE_DIR}/perlnoutf.pl
19                 ${CMAKE_CURRENT_SOURCE_DIR}/make-authors-short.pl
20                 ${CMAKE_SOURCE_DIR}/AUTHORS
21 )
22
23 add_custom_command(
24         OUTPUT AUTHORS-SHORT-FORMAT
25         COMMAND ${PERL_EXECUTABLE}
26                 ${CMAKE_CURRENT_SOURCE_DIR}/perlnoutf.pl
27                 ${CMAKE_CURRENT_SOURCE_DIR}/make-authors-format.pl
28                 < ${CMAKE_CURRENT_BINARY_DIR}/AUTHORS-SHORT
29                 > ${CMAKE_CURRENT_BINARY_DIR}/AUTHORS-SHORT-FORMAT
30         DEPENDS
31                 ${CMAKE_CURRENT_SOURCE_DIR}/perlnoutf.pl
32                 ${CMAKE_CURRENT_SOURCE_DIR}/make-authors-format.pl
33                 ${CMAKE_CURRENT_BINARY_DIR}/AUTHORS-SHORT
34 )
35
36 if(WIN32)
37         file(TO_NATIVE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/wireshark.pod.template WPT_WIN_PATH)
38         file(TO_NATIVE_PATH ${CMAKE_CURRENT_BINARY_DIR}/AUTHORS-SHORT-FORMAT ASF_WIN_PATH)
39         file(TO_NATIVE_PATH ${CMAKE_CURRENT_BINARY_DIR}/wireshark.pod WP_WIN_PATH)
40         add_custom_command(
41                 OUTPUT wireshark.pod
42                 COMMAND copy /B ${WPT_WIN_PATH} + ${ASF_WIN_PATH} ${WP_WIN_PATH}
43                 DEPENDS
44                         ${CMAKE_CURRENT_SOURCE_DIR}/wireshark.pod.template
45                         ${CMAKE_CURRENT_BINARY_DIR}/AUTHORS-SHORT-FORMAT
46         )
47 else()
48         add_custom_command(
49                 OUTPUT wireshark.pod
50                 COMMAND cat
51                         ${CMAKE_CURRENT_SOURCE_DIR}/wireshark.pod.template
52                         ${CMAKE_CURRENT_BINARY_DIR}/AUTHORS-SHORT-FORMAT
53                         > ${CMAKE_CURRENT_BINARY_DIR}/wireshark.pod
54                 DEPENDS
55                         ${CMAKE_CURRENT_SOURCE_DIR}/wireshark.pod.template
56                         ${CMAKE_CURRENT_BINARY_DIR}/AUTHORS-SHORT-FORMAT
57         )
58 endif()
59
60 pod2manhtml(${CMAKE_CURRENT_BINARY_DIR}/wireshark   1)
61
62 pod2manhtml(${CMAKE_CURRENT_SOURCE_DIR}/androiddump 1)
63 pod2manhtml(${CMAKE_CURRENT_SOURCE_DIR}/capinfos    1)
64 pod2manhtml(${CMAKE_CURRENT_SOURCE_DIR}/captype     1)
65 pod2manhtml(${CMAKE_CURRENT_SOURCE_DIR}/ciscodump   1)
66 pod2manhtml(${CMAKE_CURRENT_SOURCE_DIR}/dftest      1)
67 pod2manhtml(${CMAKE_CURRENT_SOURCE_DIR}/dumpcap     1)
68 pod2manhtml(${CMAKE_CURRENT_SOURCE_DIR}/editcap     1)
69 pod2manhtml(${CMAKE_CURRENT_SOURCE_DIR}/mergecap    1)
70 pod2manhtml(${CMAKE_CURRENT_SOURCE_DIR}/randpkt     1)
71 pod2manhtml(${CMAKE_CURRENT_SOURCE_DIR}/randpktdump 1)
72 pod2manhtml(${CMAKE_CURRENT_SOURCE_DIR}/rawshark    1)
73 pod2manhtml(${CMAKE_CURRENT_SOURCE_DIR}/reordercap  1)
74 pod2manhtml(${CMAKE_CURRENT_SOURCE_DIR}/sshdump     1)
75 pod2manhtml(${CMAKE_CURRENT_SOURCE_DIR}/text2pcap   1)
76 pod2manhtml(${CMAKE_CURRENT_SOURCE_DIR}/tshark      1)
77 pod2manhtml(${CMAKE_CURRENT_SOURCE_DIR}/udpdump     1)
78
79 pod2manhtml(${CMAKE_CURRENT_SOURCE_DIR}/extcap           4)
80 pod2manhtml(${CMAKE_CURRENT_SOURCE_DIR}/wireshark-filter 4)
81
82 if(BUILD_dpauxmon AND HAVE_LIBNL3)
83         pod2manhtml(${CMAKE_CURRENT_SOURCE_DIR}/dpauxmon    1)
84 endif()
85
86 if(BUILD_sdjournal AND SYSTEMD_FOUND)
87         pod2manhtml(${CMAKE_CURRENT_SOURCE_DIR}/sdjournal   1)
88 endif()
89
90 if(MAXMINDDB_FOUND)
91         pod2manhtml(${CMAKE_CURRENT_SOURCE_DIR}/mmdbresolve 1)
92 endif()
93
94 if (BUILD_corbaidl2wrs)
95         pod2manhtml(${CMAKE_CURRENT_SOURCE_DIR}/idl2wrs     1)
96 endif()
97 if (BUILD_xxx2deb)
98         pod2manhtml(${CMAKE_CURRENT_SOURCE_DIR}/asn2deb     1)
99         pod2manhtml(${CMAKE_CURRENT_SOURCE_DIR}/idl2deb     1)
100 endif()
101
102 set(MAN1_INSTALL_FILES
103         ${CMAKE_CURRENT_BINARY_DIR}/androiddump.1
104         ${CMAKE_CURRENT_BINARY_DIR}/capinfos.1
105         ${CMAKE_CURRENT_BINARY_DIR}/captype.1
106         ${CMAKE_CURRENT_BINARY_DIR}/ciscodump.1
107         ${CMAKE_CURRENT_BINARY_DIR}/ciscodump.1
108         ${CMAKE_CURRENT_BINARY_DIR}/dftest.1
109         ${CMAKE_CURRENT_BINARY_DIR}/dumpcap.1
110         ${CMAKE_CURRENT_BINARY_DIR}/editcap.1
111         ${CMAKE_CURRENT_BINARY_DIR}/mergecap.1
112         ${CMAKE_CURRENT_BINARY_DIR}/randpkt.1
113         ${CMAKE_CURRENT_BINARY_DIR}/randpktdump.1
114         ${CMAKE_CURRENT_BINARY_DIR}/rawshark.1
115         ${CMAKE_CURRENT_BINARY_DIR}/reordercap.1
116         ${CMAKE_CURRENT_BINARY_DIR}/sshdump.1
117         ${CMAKE_CURRENT_BINARY_DIR}/text2pcap.1
118         ${CMAKE_CURRENT_BINARY_DIR}/tshark.1
119         ${CMAKE_CURRENT_BINARY_DIR}/udpdump.1
120         ${CMAKE_CURRENT_BINARY_DIR}/wireshark.1
121 )
122
123 if(BUILD_dpauxmon AND HAVE_LIBNL3)
124         list(APPEND MAN1_INSTALL_FILES ${CMAKE_CURRENT_BINARY_DIR}/dpauxmon.1)
125 endif()
126
127 if(BUILD_sdjournal AND SYSTEMD_FOUND)
128         list(APPEND MAN1_INSTALL_FILES ${CMAKE_CURRENT_BINARY_DIR}/sdjournal.1)
129 endif()
130
131 if(MAXMINDDB_FOUND)
132         list(APPEND MAN1_INSTALL_FILES ${CMAKE_CURRENT_BINARY_DIR}/mmdbresolve.1)
133 endif()
134
135 if (BUILD_corbaidl2wrs)
136         list(APPEND MAN1_INSTALL_FILES ${CMAKE_CURRENT_BINARY_DIR}/idl2wrs.1)
137 endif()
138 if (BUILD_xxx2deb)
139         list(APPEND MAN1_INSTALL_FILES
140                 ${CMAKE_CURRENT_BINARY_DIR}/asn2deb.1
141                 ${CMAKE_CURRENT_BINARY_DIR}/idl2deb.1
142         )
143 endif()
144
145 set(MAN4_INSTALL_FILES
146         ${CMAKE_CURRENT_BINARY_DIR}/extcap.4
147         ${CMAKE_CURRENT_BINARY_DIR}/wireshark-filter.4
148 )
149
150 set(BUNDLE_RESOURCE_SHARE_MAN1_FILES ${MAN1_INSTALL_FILES} PARENT_SCOPE)
151 set(BUNDLE_RESOURCE_SHARE_MAN4_FILES ${MAN4_INSTALL_FILES} PARENT_SCOPE)
152
153 add_custom_target(manpages DEPENDS
154         ${MAN1_INSTALL_FILES}
155         ${MAN4_INSTALL_FILES}
156 )
157
158 set(HTML_INSTALL_FILES
159         ${CMAKE_CURRENT_BINARY_DIR}/androiddump.html
160         ${CMAKE_CURRENT_BINARY_DIR}/capinfos.html
161         ${CMAKE_CURRENT_BINARY_DIR}/captype.html
162         ${CMAKE_CURRENT_BINARY_DIR}/ciscodump.html
163         ${CMAKE_CURRENT_BINARY_DIR}/ciscodump.html
164         ${CMAKE_CURRENT_BINARY_DIR}/dftest.html
165         ${CMAKE_CURRENT_BINARY_DIR}/dumpcap.html
166         ${CMAKE_CURRENT_BINARY_DIR}/editcap.html
167         ${CMAKE_CURRENT_BINARY_DIR}/extcap.html
168         ${CMAKE_CURRENT_BINARY_DIR}/mergecap.html
169         ${CMAKE_CURRENT_BINARY_DIR}/randpkt.html
170         ${CMAKE_CURRENT_BINARY_DIR}/randpktdump.html
171         ${CMAKE_CURRENT_BINARY_DIR}/rawshark.html
172         ${CMAKE_CURRENT_BINARY_DIR}/reordercap.html
173         ${CMAKE_CURRENT_BINARY_DIR}/sshdump.html
174         ${CMAKE_CURRENT_BINARY_DIR}/text2pcap.html
175         ${CMAKE_CURRENT_BINARY_DIR}/tshark.html
176         ${CMAKE_CURRENT_BINARY_DIR}/udpdump.html
177         ${CMAKE_CURRENT_BINARY_DIR}/wireshark-filter.html
178         ${CMAKE_CURRENT_BINARY_DIR}/wireshark.html
179 )
180
181 if(BUILD_dpauxmon AND HAVE_LIBNL3)
182         list(APPEND HTML_INSTALL_FILES ${CMAKE_CURRENT_BINARY_DIR}/dpauxmon.html)
183 endif()
184
185 if(BUILD_sdjournal AND SYSTEMD_FOUND)
186         list(APPEND MAN1_INSTALL_FILES ${CMAKE_CURRENT_BINARY_DIR}/sdjournal.html)
187 endif()
188
189 if(MAXMINDDB_FOUND)
190         list(APPEND HTML_INSTALL_FILES ${CMAKE_CURRENT_BINARY_DIR}/mmdbresolve.html)
191 endif()
192
193 if (BUILD_corbaidl2wrs)
194         list(APPEND HTML_INSTALL_FILES ${CMAKE_CURRENT_BINARY_DIR}/idl2wrs.html)
195 endif()
196 if (BUILD_xxx2deb)
197         list(APPEND HTML_INSTALL_FILES
198                 ${CMAKE_CURRENT_BINARY_DIR}/asn2deb.html
199                 ${CMAKE_CURRENT_BINARY_DIR}/idl2deb.html
200         )
201 endif()
202
203 add_custom_target(
204         docs ALL
205         DEPENDS
206                 ${CMAKE_CURRENT_BINARY_DIR}/AUTHORS-SHORT
207                 ${CMAKE_CURRENT_BINARY_DIR}/AUTHORS-SHORT-FORMAT
208                 ${MAN1_INSTALL_FILES}
209                 ${MAN4_INSTALL_FILES}
210                 ${HTML_INSTALL_FILES}
211 )
212 set_target_properties(docs PROPERTIES FOLDER "Docs")
213
214 install(
215         FILES
216                 ${MAN1_INSTALL_FILES}
217         DESTINATION
218                 ${CMAKE_INSTALL_MANDIR}/man1
219 )
220
221 install(
222         FILES
223                 ${MAN4_INSTALL_FILES}
224         DESTINATION
225                 ${CMAKE_INSTALL_MANDIR}/man4
226 )
227
228 install(
229         FILES
230                 ${HTML_INSTALL_FILES}
231         DESTINATION
232                 ${CMAKE_INSTALL_DOCDIR}
233 )
234
235 #
236 # Editor modelines  -  https://www.wireshark.org/tools/modelines.html
237 #
238 # Local variables:
239 # c-basic-offset: 8
240 # tab-width: 8
241 # indent-tabs-mode: t
242 # End:
243 #
244 # vi: set shiftwidth=8 tabstop=8 noexpandtab:
245 # :indentSize=8:tabSize=8:noTabs=false:
246 #